Lista de verificação de lançamento do App Engine

Introdução

O Google App Engine é uma oferta de Platform as a Service (PaaS) que permite criar e executar aplicativos no Google Cloud Platform. Os aplicativos do App Engine são fáceis de criar, manter e escalonar à medida que seu tráfego e o armazenamento dos dados precisam mudar. Muitas empresas já lançaram aplicativos com sucesso no Google App Engine.

Esta Lista de verificação de lançamento do App Engine destaca as práticas recomendadas para lançar um aplicativo comercial no Google App Engine. Ela foi projetada para desenvolvedores corporativos com proficiência no App Engine. Essas instruções não ensinam como usar o App Engine. Novos usuários precisam conferir o Tutorial de primeiros passos do App Engine.

Esta lista de verificação de lançamento do App Engine é dividida em quatro seções:

  • design e desenvolvimento de arquitetura
  • teste Alfa
  • lançamento restrito
  • lançamento final

As seções são apresentadas na ordem recomendada para você usar à medida que se prepara para lançar o aplicativo. Por exemplo, inicie com a Lista de verificação de design e desenvolvimento de arquitetura, que contém atividades que recomendamos executar no início do ciclo de desenvolvimento do aplicativo. Da mesma forma, a Lista de verificação de lançamento restrito contém atividades recomendadas para quando você estiver perto do lançamento. No entanto, o cronograma exato das atividades da lista de verificação e o tempo necessário para executá-las dependem do período de desenvolvimento do aplicativo.

Esta Lista de verificação de lançamento do Google App Engine foi criada para garantir que os lançamentos de produtos não tenham problemas e que a experiência dos usuários do seu app seja ótima. Recomendamos o uso dessas listas de verificação para seus apps atuais e novos em execução no Google App Engine.

Lista de verificação de design e desenvolvimento de arquitetura

Recomendamos usar esta lista de verificação nos cenários iniciais do desenvolvimento do aplicativo. Ela se divide em quatro grupos de atividades:

  • Trabalho de arquitetura de software
  • Estabelecimento de pontos de contato com o Google
  • Provisionamento
  • Criação de planos de lançamento e estimativas de tráfego

É possível executar as atividades desta lista em paralelo nos grupos. Porém, recomendamos iniciar as atividades relacionadas à arquitetura do software o mais cedo possível, porque elas demandam mais tempo para conclusão.

Trabalho de arquitetura de software

Atividade
❑  
Leia o documento de práticas recomendadas Como criar um design para escalonamento. Nele, enumeramos antipadrões de uso da API App Engine que podem causar problemas sob carga.
❑  
Crie um resumo da arquitetura. Inclua um diagrama de arquitetura geral, um resumo dos fluxos de processo e detalhes dos pontos de interação do serviço. Liste e descreva como cada serviço do Google Cloud Platform é usado. Inclua o uso de APIs experimentais do Google, APIs do Google que não são do Cloud Platform e APIs de terceiros.
❑  
Documente os processos de criação, versão, configuração e gerenciamento de segurança.
❑  
Documente os processos de backup de rotina, manutenção regular e recuperação de desastres. Teste o processo de restauração com dados reais. Determine o tempo necessário para uma restauração total e reflita isso nos processos de recuperação de desastres.
❑  
Documente os processos do DevOps, especialmente se for preciso integrar seu sistema de suporte ao do Google. Documente e defina os processos de monitoramento e alerta do sistema. Verifique se o DevOps está familiarizado com o Console do Google Cloud e se ele participa dos testes. Monitore o Painel de status do Cloud. Inscreva-se no grupo de notificação de inatividade (em inglês) do App Engine.

Como estabelecer pontos de contato com o Google

Atividade
❑  
Estabeleça e teste contatos de emergência no Google.
❑  
Apresente sua equipe para a Central de suporte do Google Cloud (GCSC, na sigla em inglês).
  • Configure as opções de contato na Web e por e-mail e, dependendo do nível de serviço adquirido, os processos de suporte por telefone.
  • Teste no fim de semana. Teste tarde da noite.
  • Assegure que a equipe saiba como alcançar o Google.
Fique por dentro das atualizações do SDK do Cloud, do App Engine e de outros produtos do Cloud lendo as notas da versão.

Aprovisionamento

Atividade
❑  
Provisione projetos do Google Cloud Platform para cada um dos seus ambientes de desenvolvimento (por exemplo, Dev, Test, Prod).
❑  
Ative o faturamento do Google Cloud Platform e o modelo de custos. Para mais informações, consulte a calculadora de preços.
❑  
Provisione domínios e certificados. Instale certificados usando o Admin Console do G Suite. Para mais informações, consulte a SSL para um domínio personalizado.
❑  
Provisione os outros serviços necessários do Google ou de terceiros. Esses serviços devem ser incluídos nas atividades descritas neste processo de lançamento.

Como criar planos de lançamento e estimativas de tráfego

Atividade
❑  
Calcule estimativas de tráfego por toda a solução e para todos os subcomponentes dela.
❑  
Crie um plano de lançamento e assegure que ele continue sendo a fonte da verdade para o lançamento. Ele precisa referenciar todos os outros processos e documentos obrigatórios.
❑  
Crie um plano de teste. Sempre use testes que incluam o código da implantação para e contra serviços de produção. Teste várias vezes. Faça muitos testes realistas e inclua o máximo possível de pessoas e processos.
❑  
Crie um plano de teste de carga. Antecipe a "redefinição" de projetos do Google Cloud Platform todas as vezes (por exemplo, exclua as entidades do Cloud Datastore) e, para lançamentos internacionais, teste internacionalmente. Se os usuários precisarem se registrar para usar o produto, lembre-se de testar o fluxo de inscrição de novos usuários.
❑  
Conclua uma análise de cotas. Entenda as cotas, monitore os detalhes delas e envie tíquetes de suporte pelo GCSC para solicitar ajustes.
❑  
Use o AppStats (Java | Python) para melhorar o perfil de desempenho (RPC) do seu aplicativo. Inclua a funcionalidade para ativá-lo ou desativá-lo conforme necessário.

Lista de verificação de testes Alfa

Use a Lista de verificação de teste da versão Alfa quando estiver perto de concluir o código e quiser métricas iniciais sobre o aplicativo.

Atividade
❑  
Revise as estimativas de tráfego.
❑  
Revise o plano de lançamento com base nos registros de aplicativo atuais.
❑  
Revise a análise de cotas com base em estimativas de tráfego e envie tíquetes de suporte para solicitar ajustes de cota.
❑  
Execute pelo menos mais uma rodada de testes de carga, porque tanto a solução como o Google Cloud Platform estão evoluindo continuamente.
❑  
Crie um script e um teste de implantação passo a passo. A meta é ter um guia documentado para processos de criação e versão que seja auditável, repetível e abrangente.
❑  
Confirme que o monitoramento e os alertas do sistema sejam suficientes e efetivos.
❑  
Simule grandes interrupções e teste os processos de recuperação de desastres. Teste o maior número possível de pessoas e processos.
❑  
Simule falhas do data center, falhas de serviço, corrupção de dados e outros eventos improváveis. Prepare-se para eventos inesperados de grande magnitude.
❑  
Simule falhas de criação e lançamento. Você consegue reverter de forma eficaz? O processo está documentado?
❑  
Simule falhas de gerenciamento de configuração. Por que elas foram possíveis? Como as brechas são removidas? Como reduzir o tempo gasto para identificá-las e resolvê-las?
❑  
Teste tudo várias vezes. Considere gravar as pessoas e as máquinas envolvidas nos testes para identificar onde ocorrem falhas e atividades não documentadas.

Lista de verificação de lançamento restrito

Antes do lançamento comercial do aplicativo, recomendamos usar as atividades da Lista de verificação de lançamento restrito para testar se você está pronto para o lançamento.

Atividade
❑  
Execute os scripts de implantação. Corrija erros e omissões à medida que surgirem. Documente todas as etapas necessárias da implantação. Teste as sinalizações do AppStat (Java | Python).
❑  
Faça teste de carga para estimativas de tráfego 1,5x-2,0x.
❑  
Faça uma triagem e resolva qualquer problema que surgir. Analise o modelo de custos em relação aos custos reais. Verifique se os custos operacionais estarão dentro do seu limite de gastos. Analise o modelo de custo conforme necessário.
❑  
Determine e valide maneiras de reduzir custos.

Lista de verificação de lançamento final

Use a Lista de verificação de lançamento final pouco antes, durante e imediatamente após o lançamento.

Atividade
❑  
Execute os scripts de implantação. Documente e resolva os problemas à medida que surgirem.
❑  
Certifique-se de que todos os membros da equipe estejam disponíveis para fazer a triagem e resolver problemas encontrados, se necessário.
Após o lançamento, aprenda com a experiência e atualize todos os documentos e procedimentos relevantes. Concentre-se em melhorias contínuas.