Suporte para ambientes de execução legados

Os ambientes de execução legados incluem versões de linguagem de primeira geração que não são mais mantidas por comunidades de código aberto. Como muitos clientes do App Engine ainda dependem dessas versões de linguagem de primeira geração, o Google oferece suporte de longo prazo para os seguintes ambientes de execução legados no ambiente padrão do App Engine:

Importante: o Google está fazendo a transição dos ambientes de execução legados para a fase Fim do suporte. Para mais detalhes, consulte a programação de suporte.

Nosso compromisso

Os ambientes de execução legados chegaram ao fim do suporte em 30 de janeiro de 2024.

As seguintes mudanças foram feitas nos ambientes de execução legados:

  • Na medida do possível, os componentes dos ambientes de execução legados foram retornados para os estados de código aberto não bifurcados. Tivemos que alterar e restringir fortemente alguns dos ambientes de execução para executar seus aplicativos com segurança em nossos data centers. Ao fazer alterações na forma como operamos os ambientes de execução em nossos data centers, podemos fornecer um ambiente seguro e escalonável para esses ambientes de execução a longo prazo.

  • Foram adicionados sistemas de build completos que oferecem suporte a repositórios de pacotes, builds de componentes idiomáticos e repositórios de recursos.

Atualizações de segurança

À medida que as comunidades param de manter as versões das suas linguagens, seu app pode ser exposto a vulnerabilidades para as quais não existem correções disponíveis publicamente. Assim, continuar executando seu aplicativo em alguns ambientes de execução do App Engine envolve mais risco do que fazer upgrade para um ambiente de execução que tenha uma linguagem com suporte de uma comunidade.

Não podemos nos comprometer a corrigir todas as APIs que seu aplicativo usa. Talvez você descubra que as correções estão disponíveis apenas em bibliotecas para versões mais recentes da linguagem.

Suporte para serviços em pacote do App Engine

Os ambientes de execução do Python 2.7, Java 8, Go 1.11 e PHP 5.5 fornecem APIs e serviços incluídos do App Engine, como Blobstore, Memcache e Fila de tarefas.

Você pode continuar acessando muitos desses serviços e APIs incluídos em ambientes de execução de segunda geração selecionados:

O aplicativo pode chamar as APIs de serviços incluídos usando as bibliotecas idiomáticas do idioma e acessar a mesma funcionalidade dos ambientes de execução legados. Os serviços incluídos são oferecidos nos ambientes de execução mais recentes para fornecer mais flexibilidade, dando a você a opção de migrar para os serviços desagrupados ou continuar usando os serviços incluídos legados do App Engine.

Se houver alguma descontinuação no pipeline, vamos seguir nossa política de descontinuação padrão e sugerir alternativas. A maioria dos apps não vai exigir alterações de código ou reimplantações.

Status atual de cada ambiente de execução

Python 2.7

Lançamos o ambiente de execução do Python 2.7 em 27 de fevereiro de 2012. Mesmo que já tenhamos removido nossas modificações e restrições de grandes seções deste ambiente de execução, faremos mais atualizações para normalizar o processo de compilação, o caminho da solicitação e a disponibilidade do pacote. Essas alterações no ambiente de execução permitem que o Google Cloud fique compatível com o ambiente de execução do Python 2.7 após 1º de janeiro de 2020, quando a comunidade Python encerrará o suporte oficial do Python 2.7.

As alterações feitas no ambiente de execução do Python 2.7 e as mudanças no anúncio de outono de 2021 trazem de volta a maioria dos serviços do App Engine agrupados para o Python 3. Esses serviços permitem migrar com mais facilidade para o Python 3 e/ou substituir os serviços em pacote por serviços equivalentes do Google Cloud antes da finalização do suporte. Consulte os guias de migração a seguir:

Java 8

Lançamos o ambiente de execução do Java 8 em 28 de junho de 2017. Esse ambiente de execução foi ligeiramente modificado para o App Engine e ofereceu amplo suporte para a importação de pacotes Java.

Faremos as seguintes atualizações neste ambiente de execução:

  • Retornar o ambiente de execução Java ao estado de código aberto.

  • Normalizar o caminho da solicitação.

  • Fazer upgrade para o Jetty 9.4.

Essas alterações permitirão que o Google Cloud fique compatível com o ambiente de execução do Java 8 em um futuro próximo.

As alterações que fizemos no ambiente de execução do Java 8 permitem que você substitua os serviços do App Engine em pacote pelos serviços do Google Cloud e migre para o Java 11/17 antes do Fim do Suporte. Consulte as informações sobre como migrar do Java 8 para o Java 11+.

Conseguimos migrar automaticamente os aplicativos Java 6 e Java 7 para o ambiente de execução do Java 8 sem precisar de alterações no código do aplicativo. No entanto, o Java 11 quebra a compatibilidade com versões anteriores de maneiras que impossibilitam a migração automática de aplicativos para o ambiente de execução do Java 11. Talvez seja necessário fazer alterações significativas nos aplicativos Java 6, Java 7 e Java 8 ao migrar para o Java 11, por isso, é possível mantê-los em execução no ambiente de execução do Java 8.

Go 1.11

Lançamos o ambiente de execução do Go 1.11 em 20 de março de 2019 e os aplicativos recomendados do Go 1.6-1.9 migram para o ambiente de execução do Go 1.11. O ambiente de execução do Go 1.11 é o estado de longo prazo para aplicativos criados com o Go 1.6 a Go 1.11.

Depois que os aplicativos estiverem em execução no Go 1.11, você poderá começar a substituir os serviços e as APIs do App Engine em pacote pelos serviços do Google Cloud e fazer upgrade para uma versão compatível do Go antes do Fim do Suporte. Veja mais informações sobre migração em Como migrar seu aplicativo do App Engine para o Go 1.12.

PHP 5.5

Lançamos o ambiente de execução do PHP 5.5 em 16 de maio de 2013. Esse ambiente de execução removeu muitos recursos da versão de código aberto e executou aplicativos dentro de um sandbox personalizado.

No momento, estamos retornando esse ambiente de execução ao estado de código aberto e modernizando o sandbox. Faremos mais atualizações para normalizar o caminho da solicitação e otimizar o desempenho. Essas alterações nos permitirão oferecer suporte ao ambiente de execução do PHP 5.5 em um futuro próximo.

As alterações que fizemos no ambiente de execução do PHP 5.5 permitem que você substitua os serviços do App Engine em pacote pelos serviços do Google Cloud e migre para o PHP 7/8 antes do fim do suporte. Veja informações sobre como mover aplicativos do PHP 5.5 para o PHP 7/8.

Como ativar implantações para ambientes de execução legados que estão chegando ao fim do suporte

De acordo com a política de ciclo de vida do ambiente de execução do App Engine, não será mais possível implantar aplicativos usando ambientes de execução que atingiram o fim do suporte. Para datas importantes que afetam seu ambiente de execução, consulte o cronograma de suporte.

Caso sua organização queira reativar implantações de ambientes de execução legados que chegaram ao fim do cronograma de suporte, defina uma nova política da organização com constraints/appengine.runtimeDeploymentExemption. Esta política da organização para reativar implantações está com disponibilidade geral. O uso contínuo de ambientes de execução legados após o fim da data de suporte é experimental e está sujeito aos "Termos das ofertas pré-GA".

Para criar ou alterar políticas da organização, sua conta precisa ter o papel roles/orgpolicy.policyAdmin.

Usar uma política para reativar implantações

Para criar uma política que permita implantações, use a Google Cloud CLI ou o console do Google Cloud que tenha chegado ao fim do suporte em uma determinada organização para o ambiente especificado.

Console

  1. Acesse a página "Políticas da organização" no Console do Google Cloud.
    Acessar as políticas da organização

    A página "Políticas da organização" exibe uma lista das restrições de políticas da organização disponíveis.

  2. Selecione o projeto, a pasta ou a organização à qual você quer adicionar a nova política.

  3. Encontre a política Isenção de implantação em tempo de execução (App Engine) na lista. Use o campo Filtro na parte superior da lista.

  4. Clique no nome da política. Como alternativa, selecione Editar política no menu de contexto.

  5. Clique em Gerenciar política.

  6. Selecione Personalizar em Aplicável a.

  7. Selecione Substituir em Aplicação da política.

  8. Clique em Adicionar regra em Regras.

  9. Selecione Personalizado para Valores da política.

  10. Selecione Permitir em Tipo de política.

  11. Em Valor personalizado, especifique o ambiente que você quer aplicar na organização. Os valores aceitos são:

    • python27 para permitir aplicativos que usam o Python 2.7.
    • java8 para permitir aplicativos que usam Java 8.
    • php55 para permitir aplicativos que usam PHP 5.5.
    • Para permitir explicitamente vários ambientes de execução, especifique python27, java8 e php55 juntos. Por padrão, nenhum ambiente de execução é permitido quando nenhuma política está definida.
  12. Clique em Concluído.

  13. Clique em Salvar.

Depois que as alterações forem aplicadas, essa política permitirá a implantação dos ambientes de execução do App Engine que atingiram o fim do suporte no ambiente especificado.

gcloud

Execute este comando:

gcloud resource-manager org-policies \
allow appengine.runtimeDeploymentExemption \
--organization=ORGANIZATION_NUMBER RUNTIME_ID

Substitua:

  • ORGANIZATION_NUMBER pelo número da organização onde a política será aplicada.
  • RUNTIME_ID pelo ambiente de execução permitido para implantação.
  • RUNTIME_ID por um destes IDs de ambiente de execução:

    • python27 para permitir aplicativos que usam o Python 2.7.
    • java8 para permitir aplicativos que usam Java 8.
    • php55 para permitir aplicativos que usam PHP 5.5.
    • Para permitir explicitamente vários ambientes de execução de linguagem, especifique python27, java8 e php55 juntos. Por padrão, nenhum ambiente de execução de linguagem é permitido quando nenhuma política está definida.