Top 3 des meilleurs combos Juicer & Blender à acheter 2020 Commentaires
2 octobre 2020
Meilleur mélangeur pour concasser la glace 2020
2 octobre 2020

moteur d'application

App Engine est un service de calcul sans serveur entièrement géré de Google Cloud Platform qui simplifie considérablement la gestion d'un backend de microservices. Il repose sur une évolutivité élevée sans avoir à gérer vos propres serveurs.

Qu'est-ce qu'App Engine?

App Engine est essentiellement un ensemble de microservices. Les applications traditionnelles sont généralement monolithiques, ce qui signifie que vous exécutez un gros service d'exécution sur un serveur qui gère tout. Cependant, ce qui se passe généralement dans le monde réel, c'est que différentes parties de cette application connaissent des quantités de trafic, d'utilisation et de charge globale différentes. Vous vous retrouvez avec des goulots d'étranglement, où vous aimeriez pouvoir extraire une partie de votre backend et en exécuter plusieurs instances pour répondre à la demande.

Le principe de conception des microservices résout ce problème. Dans un backend basé sur un microservice, chaque service ne gère que ce qui lui est demandé. Cela vous permet de déployer plusieurs copies des services dont vous avez davantage besoin. Il vous permet également de déployer facilement des mises à jour uniquement sur les services à mettre à jour.

Il est courant d’utiliser des services de calcul sans serveur comme AWS Lambda Functions ou GCP Cloud Functions pour déployer facilement des fonctions individuelles en tant que services. App Engine est très similaire, mais il est beaucoup plus puissant car il est spécialement conçu pour les backends de microservices.

moteur d'application

Tout comme Cloud Functions, vous n'avez pas besoin de gérer de serveurs sous-jacents. Il vous suffit de télécharger votre code, de sélectionner un moteur d'exécution et de le laisser s'exécuter. Si vous utilisez l’environnement flexible, vous pouvez déployer votre application en tant que conteneurs Docker, ce qui permet une plus grande flexibilité.

Cependant, contrairement à Cloud Functions, vous devez toujours exécuter des «instances» de chaque service. Vos frais sont basés sur cela, et non sur des appels de fonction individuels, car rien de tel que le démarrage à froid n'est disponible. (Vous pouvez réduire à 0 instances sur l'environnement standard, mais les démarrages à froid seront lents.)

App Engine prend actuellement en charge la environnements d'exécution suivants, cependant, si vous utilisez l'environnement flexible, vous pouvez exécuter des environnements d'exécution personnalisés dans des conteneurs Docker.

  • Python 2.7, Python 3.7
  • Java 8, Java 11
  • Node.js 8, Node.js 10
  • PHP 5.5, PHP 7.2, PHP 7.3 et PHP 7.4 (bêta)
  • Ruby 2.5 (bêta)
  • Go 1.11, Go 1.12, Go 1.13 et Go 1.14 (bêta)

Pour le stockage et la persistance des données, il existe une banque de données intégrée, mais elle est progressivement supprimée au profit de Firestore, une base de données NoSQL Document proposée dans le cadre de la plateforme Firebase. Il a un Mode banque de données spécifiquement pour la compatibilité avec la banque de données intégrée d'App Engine. Il existe également un memcache en tant que service, des files d'attente de tâches personnalisées et des tâches Cron disponibles depuis la console App Engine.

Si vous souhaitez commencer, Google vous propose de nombreux didacticiels intégrés à partir de la console App Engine.

Environnements standard ou flexibles

App Engine propose deux environnements différents parmi lesquels vous pouvez choisir, avec leurs avantages et leurs inconvénients.

Le premier, et par défaut, est l'environnement standard. Ce mode fonctionne comme un moteur de calcul, avec des classes d'instances et des configurations de VM prédéfinies où vous serez facturé toutes les heures en fonction de l'utilisation. Bien entendu, vous n'êtes pas obligé de les gérer vous-même: App Engine s'en chargera et l'environnement est mis en bac à sable. Cet environnement présente l'avantage de déploiements rapides et la possibilité d'une réduction d'échelle nulle, même si les démarrages à froid peuvent encore être lents.

Cependant, avec la norme, vous n'obtenez pas d'accès SSH, ni de processus d'arrière-plan tels que cron (bien que Google le fournisse en tant que service géré). Il y a un coût de démarrage et d'arrêt de 15 minutes de temps d'instance, vous voudrez donc éviter une mise à l'échelle automatique trop agressive.

L'environnement flexible utilise des conteneurs Docker pour tout exécuter. Cependant, si vous utilisez l'un des environnements d'exécution pris en charge, vous n'aurez peut-être pas besoin de gérer le conteneur vous-même. Vous bénéficiez d'un accès SSH, d'une plus grande flexibilité (c'est dans le nom) et d'une prise en charge des processus d'arrière-plan. Cependant, les déploiements et le démarrage prennent quelques minutes et vous n'avez pas accès à certains services App Engine intégrés tels que Memcached.

//]]>