Compatibilité à long terme avec les anciens environnements d'exécution

Les anciens environnements d'exécution sont compatibles avec des versions de langages dont les communautés Open Source n'assurent plus la gestion. Étant donné que de nombreux clients App Engine dépendent encore de ces versions de langages, Google propose un support à long terme pour les environnements d'exécution suivants dans l'environnement standard App Engine :

Notre engagement

Nous nous engageons à offrir une compatibilité à long terme pour ces environnements d'exécution, perpétuant ainsi notre tradition qui consiste, depuis plus de 10 ans déjà, à assurer la compatibilité de vos applications en suivant votre propre rythme.

Afin d'assurer la compatibilité de ces environnements d'exécution sur le long terme, nous apporterons les modifications suivantes au fil du temps :

  • Rétablissement des environnements d'exécution à leur état Open Source non dérivé, dans la mesure du possible. Nous avons dû modifier et fortement restreindre certains environnements d'exécution pour pouvoir exécuter vos applications de manière sécurisée dans nos centres de données. En modifiant la manière dont nous utilisons des environnements d'exécution dans nos centres de données, nous sommes en mesure de leur fournir un environnement sécurisé et évolutif sur le long terme.

  • Ajout de systèmes de compilation complets compatibles avec les dépôts de packages, les compilations de composants natives et les dépôts d'éléments.

Certaines de ces modifications pourraient nous obliger à rendre obsolètes certaines API ou autres outils de développement que vous utilisez actuellement. Nous effectuerons cela conformément à notre règlement standard relatif aux abandons pour chaque API et outil rendu obsolète.

Mises à jour de sécurité

À mesure que les communautés cesseront de gérer les versions de leur langage, votre application pourrait être exposée à des failles pour lesquelles aucun correctif ne sera accessible dans le domaine public. Ainsi, le fait de continuer à exécuter votre application dans certains environnements d'exécution App Engine est plus risqué que de passer à un environnement d'exécution dont le langage est géré par la communauté.

Dans la mesure du possible, nous collaborerons avec les fournisseurs et communautés Open Source afin d'assurer la sécurité des langages. Nous mettrons à jour les environnements d'exécution pour y appliquer les modifications de système d'exploitation et correctifs de sécurité tant que ces mises à jour seront disponibles.

Nous ne pouvons pas nous engager à corriger toutes les API utilisées par votre application. Par conséquent, vous pourriez remarquer dans les bibliothèques que les correctifs sont exclusivement disponibles pour les nouvelles versions du langage.

Compatibilité avec les services groupés d'App Engine

Les environnements d'exécution Python 2.7, Java 8, Go 1.11 et PHP 5.5 incluent des API et des services App Engine groupés tels que Blobstore, Memcache et les files d'attente de tâches. Lorsque nous rétablirons ces environnements d'exécution à leur état Open Source non dérivé, nous ne pourrons peut-être plus assurer leur compatibilité avec certains de ces services groupés et API. Si des abandons sont prévus, nous respecterons notre règlement standard relatif aux abandons et suggérerons des alternatives. Nous ne nous attendons pas à apporter des modifications ou des redéploiements de code à la majorité des applications. Nous vous ferons part de nos projets plus en détail ultérieurement.

Notez que les environnements d'exécution les plus récents n'incluent aucun service groupé ni API. Au lieu de cela, Google Cloud fournit des produits autonomes équivalents à la plupart des services groupés inclus dans les anciens environnements d'exécution.

État actuel de chaque environnement d'exécution

Python 2.7

Nous avons lancé l'environnement d'exécution Python 2.7 le 27 février 2012. Bien que nous ayons déjà supprimé nos modifications et restrictions sur une grande partie de cet environnement d'exécution, nous procéderons à d'autres mises à jour afin de normaliser le processus de compilation, le chemin de requête et la disponibilité du package. Ces modifications apportées à l'environnement d'exécution assurent la compatibilité de l'environnement d'exécution Python 2.7 avec Google Cloud bien après le 1er janvier 2020, date à laquelle la communauté Python cessera officiellement de prendre en charge Python 2.7.

Les modifications que nous avons apportées à l'environnement d'exécution Python 2.7 vous permettent de remplacer les services groupés App Engine par des services Google Cloud et d'effectuer une migration vers Python 3 à votre rythme. Consultez le guide de migration pour déplacer des applications de Python 2.7 vers Python 3.

Java 8

Nous avons lancé l'environnement d'exécution Java 8 le 28 juin 2017. Cet environnement d'exécution a été légèrement modifié pour App Engine et offre une compatibilité étendue pour l'importation de packages Java.

Nous allons apporter les mises à jour suivantes à cet environnement d'exécution :

  • Rétablissement de l'environnement d'exécution Java à l'état Open Source

  • Normalisation du chemin de la requête

  • Passage à Jetty 9.4

Ces modifications permettront une compatibilité entre Google Cloud et l'environnement d'exécution Java 8 dans un avenir proche.

Les modifications que nous avons apportées à l'environnement d'exécution Java 8 vous permettent de remplacer les services groupés App Engine par des services Google Cloud et d'effectuer une migration vers Java 11 à votre propre rythme. Consultez les informations sur la migration de Java 8 vers Java 11.

Nous avons pu procéder à la migration automatique des applications Java 6 et Java 7 vers l'environnement d'exécution Java 8 sans avoir à modifier le code de l'application. Cependant, Java 11 annule toute rétrocompatibilité. De ce fait, il nous est impossible d'effectuer une migration automatique des applications vers l'environnement d'exécution Java 11. Puisque vous devrez peut-être apporter des modifications importantes à vos applications Java 6, Java 7 et Java 8 lors de la migration vers Java 11, vous pouvez continuer d'exécuter ces applications sous Java 8 et effectuer la migration à votre propre rythme.

Go 1.11

Nous avons lancé l'environnement d'exécution Go 1.11 le 20 mars 2019 et recommandé la migration des applications Go 1.6-1.9 vers l'environnement d'exécution Go 1.11. L'environnement d'exécution Go 1.11 correspond à l'état à long terme des applications conçues avec Go 1.6-1.11.

Une fois vos applications exécutées sur Go 1.11, vous pouvez remplacer les API et les services groupés App Engine par des services Google Cloud, et passer à Go 1.12 ou version ultérieure à votre propre rythme. Pour en savoir plus sur la procédure de migration, consultez la page Migrer votre application App Engine vers Go 1.12.

PHP 5.5

Nous avons lancé l'environnement d'exécution PHP 5.5 le 16 mai 2013. Cet environnement d'exécution a supprimé de nombreuses fonctionnalités de la version Open Source et exécute les applications dans un bac à sable personnalisé.

Nous rétablissons actuellement cet environnement d'exécution à son état Open Source et modernisons le bac à sable. Nous effectuerons d'autres mises à jour afin de normaliser le chemin de la requête et d'optimiser les performances. Ces modifications nous permettent d'assurer la compatibilité de l'environnement d'exécution PHP 5.5 dans un avenir proche.

Les modifications que nous avons apportées à l'environnement d'exécution PHP 5.5 vous permettent de remplacer les services groupés App Engine par des services Google Cloud et d'effectuer la migration vers PHP 7 à votre rythme. Consultez les informations sur le déploiement d'applications de PHP 5.5 vers PHP 7.2.