Apoio técnico para runtimes antigos

Os motores de execução antigos de primeira geração do App Engine, como os motores de execução Python 2.7, Java 8, Go 1.11 e PHP 5.5, atingiram o fim do apoio técnico e vão ser descontinuados a 31 de janeiro de 2026. Após a descontinuação, não vai poder implementar estes tempos de execução, mesmo que a sua organização tenha usado anteriormente uma política da organização para reativar as implementações de tempos de execução antigos. As suas aplicações existentes vão continuar a ser executadas e a receber tráfego após a data de descontinuação. Recomendamos que migre para a versão suportada mais recente para o seu tempo de execução assim que possível.

O nosso compromisso

Os runtimes antigos atingiram o fim do suporte a 30 de janeiro de 2024.

Foram feitas as seguintes alterações aos tempos de execução antigos:

  • Na medida do possível, os componentes dos runtimes antigos foram devolvidos aos respetivos estados de código aberto não ramificados. Tivemos de restringir e modificar significativamente alguns dos tempos de execução para executar as suas apps de forma segura nos nossos centros de dados. Ao alterar a forma como operamos os tempos de execução nos nossos centros de dados, podemos oferecer um ambiente seguro e escalável para estes tempos de execução a longo prazo.

  • Foram adicionados sistemas de compilação completos que suportam repositórios de pacotes, compilações de componentes idiomáticos e repositórios de recursos.

Atualizações de segurança

À medida que as comunidades deixam de manter versões dos respetivos idiomas, a sua app pode ficar exposta a vulnerabilidades para as quais não existe uma correção disponível publicamente. Assim, continuar a executar a sua app em alguns runtimes do App Engine envolve mais riscos do que atualizar para um runtime que tenha um idioma suportado pela comunidade.

Não podemos comprometer-nos a corrigir todas as APIs que a sua app usa. Pode verificar que as correções só estão disponíveis em bibliotecas para versões mais recentes do idioma.

Suporte para serviços incluídos do App Engine

Os runtimes Python 2.7, Java 8, Go 1.11 e PHP 5.5 oferecem serviços e APIs do App Engine incluídos, como Blobstore, Memcache e filas de tarefas.

Pode continuar a aceder a muitos destes serviços e APIs incluídos em tempos de execução de segunda geração selecionados:

A sua app pode chamar as APIs de serviços incluídos através de bibliotecas idiomáticas de linguagem e aceder à mesma funcionalidade que nos runtimes antigos. Os serviços agrupados são oferecidos nos runtimes mais recentes para oferecer mais flexibilidade, dando-lhe a opção de migrar para os serviços desagrupados ou continuar a usar os serviços agrupados antigos do App Engine.

Se existirem descontinuações em curso, vamos seguir a nossa Política de Descontinuação padrão e sugerir alternativas. Não prevemos que a maioria das apps exija alterações ao código ou novas implementações.

Linha cronológica de cada tempo de execução

A secção seguinte descreve o estado do ciclo de vida de cada tempo de execução e o estado do apoio técnico.

Python 2.7

Lançámos o tempo de execução do Python 2.7 a 27 de fevereiro de 2012. Embora já tenhamos removido as nossas modificações e restrições de grandes secções deste tempo de execução, vamos fazer mais atualizações para normalizar o processo de compilação, o caminho do pedido e a disponibilidade de pacotes. Estas alterações ao tempo de execução permitem Google Cloud suportar o tempo de execução do Python 2.7 muito depois de 1 de janeiro de 2020, que é quando a comunidade Python vai terminar o respetivo suporte oficial do Python 2.7.

As alterações que fizemos ao tempo de execução do Python 2.7 e as alterações feitas no anúncio do outono de 2021 repõem a maioria dos serviços do App Engine incluídos no Python 3. Estes serviços permitem-lhe migrar mais facilmente para o Python 3 e/ou substituir os serviços incluídos num pacote por serviços Google Cloud equivalentes antes do fim do apoio técnico. Consulte os seguintes guias para a migração:

Java 8

Lançámos o tempo de execução do Java 8 a 28 de junho de 2017. Este tempo de execução foi ligeiramente modificado para o App Engine e ofereceu um amplo suporte para a importação de pacotes Java.

Vamos fazer as seguintes atualizações a este tempo de execução:

  • Devolva o tempo de execução Java ao estado de código aberto.

  • Normalize o caminho do pedido.

  • Atualize para o Jetty 9.4.

Estas alterações vão permitir Google Cloud suportar o tempo de execução do Java 8 no futuro próximo.

As alterações que fizemos ao tempo de execução do Java 8 permitem-lhe substituir os serviços do App Engine incluídos por Google Cloud serviços e migrar para o tempo de execução do Java mais recente antes do fim do apoio técnico. Veja informações sobre a migração do Java 8 para o motor de execução Java mais recente.

Conseguimos migrar automaticamente as apps Java 6 e Java 7 para o tempo de execução do Java 8 sem exigir alterações no código da app. No entanto, o Java 11 quebra a compatibilidade com versões anteriores de formas que nos impossibilitam de migrar automaticamente as apps para o tempo de execução do Java 11.

Go 1.11

Lançámos o tempo de execução do Go 1.11 a 20 de março de 2019 e recomendamos que as apps do Go 1.6-1.9 migrem para o tempo de execução do Go 1.11. O tempo de execução do Go 1.11 é o estado a longo prazo para apps criadas com o Go 1.6 até ao Go 1.11.

Assim que as suas apps estiverem a ser executadas no Go 1.11, pode começar a substituir os serviços e as APIs do App Engine incluídos por Google Cloud serviços e a atualizar para uma versão suportada do Go antes do fim do suporte. Pode encontrar mais informações sobre a migração no artigo Migrar a sua app do App Engine para o tempo de execução do Go mais recente.

PHP 5.5

Lançámos o tempo de execução do PHP 5.5 a 16 de maio de 2013. Este tempo de execução removeu muitas funcionalidades da versão de código aberto e executou apps num sandbox personalizado.

Atualmente, estamos a devolver este tempo de execução ao seu estado de código aberto e a modernizar a sandbox. Vamos fazer mais atualizações para normalizar o caminho do pedido e otimizar o desempenho. Estas alterações permitem-nos suportar o tempo de execução do PHP 5.5 durante o futuro previsível.

As alterações que fizemos ao tempo de execução do PHP 5.5 permitem-lhe substituir os serviços do App Engine incluídos por Google Cloud serviços e migrar para o tempo de execução do PHP mais recente antes do fim do apoio técnico. Veja informações sobre como mover apps do PHP 5.5 para o runtime PHP mais recente.

Ativar implementações para runtimes antigos que estão a atingir o fim do apoio técnico

A partir de 31 de janeiro de 2026, a política de organização appengine.runtimeDeploymentExemptionnão vai suportar a implementação de motores de execução antigos que tenham atingido a fase descontinuada.

De acordo com a política de ciclo de vida de tempo de execução do App Engine, já não vai poder implementar aplicações com tempos de execução que tenham atingido o fim do suporte. Para ver as datas importantes que afetam o tempo de execução, consulte o calendário de apoio técnico.

Se a sua organização quiser reativar as implementações para runtimes antigos que tenham atingido o fim da cronologia de apoio técnico, pode definir uma nova política da organização com constraints/appengine.runtimeDeploymentExemption. Esta política de organização para reativar implementações está disponível de forma geral. A utilização contínua dos tempos de execução antigos após a data de fim do apoio técnico é experimental e está sujeita aos "Termos das Ofertas de Pré-DG".

Para criar ou alterar políticas de organização, a sua conta tem de ter a função roles/orgpolicy.policyAdmin.

Use uma política para reativar implementações

Para criar uma política que permita implementações, use a Google Cloud CLI ou a Google Cloud consola que atingiram o fim do apoio técnico numa determinada organização para o ambiente especificado.

Consola

  1. Aceda à página Políticas de organização na Google Cloud consola.
    Aceda às políticas da organização

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

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

  3. Encontre a política de Isenção de implementação em tempo de execução (App Engine) na lista. Pode usar o campo Filtrar na parte superior da lista.

  4. Clique no nome da política. Em alternativa, pode selecionar Editar política no menu de contexto.

  5. Clique em Gerir política.

  6. Selecione Personalizar em Aplica-se a.

  7. Selecione Substituir em Aplicação de políticas.

  8. Clique em Adicionar regra em Regras.

  9. Selecione Personalizado para Valores da política.

  10. Selecione Permitir para Tipo de política.

  11. Em Valor personalizado, especifique o tempo de execução que quer aplicar na organização. Os valores suportados incluem:

    • python27 para permitir aplicações que usam o Python 2.7
    • java8 para permitir aplicações que usam Java 8
    • php55 para permitir aplicações que usam o PHP 5.5
    • Para permitir explicitamente vários tempos de execução, especifique python27, java8 e php55 em conjunto. Por predefinição, não são permitidos tempos de execução quando não é definida nenhuma política.
  12. Clique em Concluído.

  13. Clique em Guardar.

Depois de as alterações serem aplicadas, esta política permite a implementação de runtimes do App Engine que atingiram o fim do apoio técnico no ambiente especificado.

gcloud

Execute o seguinte comando:

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

Substituir:

  • ORGANIZATION_NUMBER com o número da organização à qual quer aplicar a política.
  • RUNTIME_ID com o tempo de execução permitido para a implementação.
  • RUNTIME_ID com um dos seguintes IDs de tempo de execução:

    • python27 para permitir aplicações que usam o Python 2.7
    • java8 para permitir aplicações que usam Java 8
    • php55 para permitir aplicações que usam o PHP 5.5
    • Para permitir explicitamente vários tempos de execução de idiomas, especifique python27, java8 e php55 em conjunto. Por predefinição, não são permitidos tempos de execução de idiomas quando não está definida nenhuma política.