Os tempos de execução antigos incluem versões de linguagem de primeira geração que já não são mantidas pelas comunidades de código aberto. Uma vez que muitos clientes do App Engine ainda dependem destas versões de idiomas de primeira geração, a Google tem fornecido apoio técnico a longo prazo para os seguintes runtimes antigos no ambiente padrão do App Engine:
A Google está a fazer a transição dos runtimes antigos para a fase de fim do apoio técnico. Consulte a programação de apoio técnico para ver detalhes.
O nosso compromisso
Os tempos de execução 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 tempos de execução antigos foram revertidos para os 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 fornecem serviços e APIs do App Engine incluídos, como o Blobstore, o Memcache e as 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.
Estado atual de cada tempo de execução
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 termina 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 motor de execução Java 8 permitem-lhe substituir os serviços do App Engine incluídos por Google Cloud serviços e migrar para o Java 11/17 antes do fim do apoio técnico. Veja informações sobre a migração do Java 8 para o Java 11 ou superior.
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. Uma vez que pode ter de fazer alterações significativas às suas apps Java 6, Java 7 e Java 8 quando migrar para o Java 11, pode manter essas apps em execução no tempo de execução do Java 8.
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 Go 1.12.
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 no futuro previsível.
As alterações que fizemos ao motor 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 PHP 7/8 antes do fim do apoio técnico. Veja informações sobre a transferência de apps do PHP 5.5 para o PHP 7/8.
Ativar implementações para runtimes antigos que estão a atingir o fim do apoio técnico
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 da 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
Aceda à página Políticas de organização na Google Cloud consola.
Aceda às políticas da organizaçãoA página Políticas da organização apresenta uma lista das restrições de políticas da organização disponíveis.
Selecione o projeto, a pasta ou a organização para a qual quer adicionar a nova política.
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.
Clique no nome da política. Em alternativa, pode selecionar Editar política no menu de contexto.
Clique em Gerir política.
Selecione Personalizar em Aplica-se a.
Selecione Substituir em Aplicação de políticas.
Clique em Adicionar regra em Regras.
Selecione Personalizado para Valores da política.
Selecione Permitir para Tipo de política.
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.7java8
para permitir aplicações que usam Java 8php55
para permitir aplicações que usam o PHP 5.5- Para permitir explicitamente vários tempos de execução, especifique
python27
,java8
ephp55
em conjunto. Por predefinição, não são permitidos tempos de execução quando não é definida nenhuma política.
Clique em Concluído.
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
Substituição:
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.7java8
para permitir aplicações que usam Java 8php55
para permitir aplicações que usam o PHP 5.5- Para permitir explicitamente vários tempos de execução de idiomas, especifique
python27
,java8
ephp55
em conjunto. Por predefinição, não são permitidos tempos de execução de idiomas quando não é definida nenhuma política.