Cet article explique comment héberger un site Web sur Google Cloud. Google Cloud fournit une plate-forme robuste, flexible, fiable et évolutive pour la diffusion de sites Web. Google a créé Google Cloud en utilisant la même infrastructure que Google utilise pour diffuser du contenu à partir de sites tels que Google.com, YouTube et Gmail. Vous pouvez diffuser le contenu de votre site Web en utilisant le type et la conception de l'infrastructure qui répond le mieux à vos besoins. Vous pourriez trouver cet article utile si vous êtes : - Savoir comment créer un site Web et avoir déployé et exécuté une infrastructure de service Web auparavant - Évaluer si et comment migrer votre site vers Google Cloud Si vous souhaitez créer un site Web simple, envisagez d'utiliser Google Sites, un outil structuré de création de pages Web et de wiki. Pour plus d'informations, consultez l'aide de Sites ## Choisir une option Si vous débutez avec Google Cloud, il est raisonnable de commencer par utiliser le type de technologie que vous connaissez déjà. Par exemple, si vous utilisez actuellement des serveurs matériels ou des machines virtuelles (VM) pour héberger votre site, peut-être avec un autre fournisseur de cloud ou sur votre propre matériel, Compute Engine vous fournit un paradigme familier. Si vous utilisez déjà une offre de plate-forme en tant que service (PaaS), telle que Heroku ou Engine Yard, App Engine peut être le meilleur point de départ. Si vous préférez l'informatique sans serveur, Cloud Run est probablement une bonne option pour vous Une fois que vous vous serez familiarisé avec Google Cloud, vous pourrez explorer la richesse des produits et services fournis par Google Cloud. Par exemple, si vous avez commencé par utiliser Compute Engine, vous pouvez augmenter les capacités de votre site en utilisant Google Kubernetes Engine (GKE) ou migrer tout ou partie des fonctionnalités vers App Engine et Cloud Run. Le tableau suivant récapitule vos options d'hébergement sur Google Cloud : |Option||Produit||Stockage de données||Équilibrage de charge||Évolutivité||Journalisation et surveillance| |Site statique|| | Stockage en ligne Hébergement Firebase |Compartiment Cloud Storage|| | HTTP(S) facultatif |Automatiquement| |Machines virtuelles||Moteur de calcul|| | API Cloud SQL Admin, API Cloud Storage, API Datastore et API Cloud Bigtable, ou vous pouvez utiliser un autre fournisseur de stockage externe Les disques persistants sur disque dur, appelés | | HTTP(S) Proxy TCP Proxy SSL Terminaison IPv6 Réseau Inter-région Interne |Automatiquement avec les groupes d'instances gérés| |Conteneurs||GKE||Semblable à Compute Engine mais interagit différemment avec les disques persistants||Réseau | HTTP(S) |Autoscaler de cluster| |Plateforme gérée|| | Moteur d'application |Services Google Cloud tels que Cloud SQL, Firestore, Cloud Storage et bases de données tierces accessibles|| | HTTP(S) Géré par Google |Géré par Google| |Sans serveur|| | Cloud Run |Services Google Cloud tels que Cloud SQL, Firestore, Cloud Storage et bases de données tierces accessibles|| | HTTP(S) Géré par Google |Géré par Google| Cet article peut vous aider à comprendre les principales technologies que vous pouvez utiliser pour le service Web sur Google Cloud et vous donner un aperçu de leur fonctionnement. L'article fournit des liens vers une documentation complète, des didacticiels et des articles de solutions qui peuvent vous aider à approfondir votre compréhension, lorsque vous êtes prêt ## Comprendre les coûts Parce qu'il y a tellement de variables et que chaque implémentation est différente, il n'entre pas dans le cadre de cet article de fournir des conseils spécifiques sur les coûts. Pour comprendre les principes de Google concernant le fonctionnement de la tarification sur Google Cloud, consultez la page de tarification. Pour comprendre la tarification des services individuels, consultez la section tarification des produits. Vous pouvez également utiliser le calculateur de tarification pour estimer à quoi pourrait ressembler votre utilisation de Google Cloud. Vous pouvez fournir des détails sur les services que vous souhaitez utiliser, puis voir une estimation de prix ## Configuration des services de nom de domaine Habituellement, vous voudrez enregistrer un nom de domaine pour votre site. Vous pouvez utiliser un bureau d'enregistrement de noms de domaine public, tel que Google Domains, pour enregistrer un nom unique pour votre site. Si vous souhaitez contrôler entièrement votre propre système de noms de domaine (DNS), vous pouvez utiliser Cloud DNS en tant que fournisseur DNS. La documentation Cloud DNS comprend un guide de démarrage rapide pour vous aider à démarrer Si vous avez un fournisseur DNS existant que vous souhaitez utiliser, vous devez généralement créer quelques enregistrements avec ce fournisseur. Pour un nom de domaine tel que example.com, vous créez un Un enregistrement auprès de votre fournisseur DNS. Pour le sous-domaine www.example.com, vous créez un Enregistrement CNAME pour www pour pointer ça à la domaine exemple.com. Le Un enregistrement mappe un nom d'hôte à une adresse IP Le L'enregistrement CNAME crée un alias pour le Un enregistrement Si votre bureau d'enregistrement de nom de domaine est également votre fournisseur DNS, c'est probablement tout ce que vous avez à faire. Si vous utilisez des fournisseurs distincts pour l'enregistrement et le DNS, assurez-vous que votre bureau d'enregistrement de nom de domaine dispose des serveurs de noms corrects associés à votre domaine. Après avoir apporté vos modifications DNS, les mises à jour des enregistrements peuvent prendre un certain temps pour se propager en fonction de vos valeurs de durée de vie (TTL) dans votre zone. S'il s'agit d'un nouveau nom d'hôte, les modifications entrent en vigueur rapidement car les résolveurs DNS n'ont pas mis en cache les valeurs précédentes et peuvent contacter le fournisseur DNS pour obtenir les informations nécessaires pour acheminer les demandes. ## Hébergement d'un site Web statique Le moyen le plus simple de diffuser le contenu d'un site Web via HTTP(S) consiste à héberger *pages Web statiques*. Les pages Web statiques sont servies inchangés, tels qu'ils ont été écrits, généralement en utilisant HTML. Utiliser un site Web statique est une bonne option si les pages de votre site changent rarement après avoir été publiés, tels que des articles de blog ou des pages faisant partie d'une petite entreprise site Internet. Vous pouvez faire beaucoup avec des pages Web statiques, mais si vous avez besoin que votre site avoir des interactions solides avec les utilisateurs via le code côté serveur, vous devriez considérez les autres options discutées dans cet article Héberger un site Web statique avec Cloud Storage Pour héberger un site statique dans Cloud Storage, vous devez créer un Seau de stockage Cloud, téléchargez le contenu et testez votre nouveau site. Tu peux servir vos données directement à partir de stockage.googleapis.com, ou tu peux vérifiez que vous êtes propriétaire de votre domaine et utilise votre nom de domaine Vous pouvez créer vos pages Web statiques comme bon vous semble. Par exemple, vous pourriez créer des pages à la main en utilisant HTML et CSS. Vous pouvez utiliser un *générateur de site statique*, tel que Jekyll, Fantôme, ou Hugo, pour créer le contenu Avec les générateurs de sites statiques, vous créez un site Web statique en création dans réduction, et fournir des modèles et des outils. Générateurs de site en général fournir un serveur Web local que vous pouvez utiliser pour prévisualiser votre contenu Une fois que votre site statique fonctionne, vous pouvez mettre à jour les pages statiques en utilisant n'importe quel processus que vous aimez. Ce processus peut être aussi simple que de copier à la main un page mise à jour dans le compartiment. Vous pouvez choisir d'utiliser une approche plus automatisée, comme stocker votre contenu sur GitHub, puis utiliser un webhook exécuter un script qui met à jour le bucket. Un système encore plus avancé pourrait utiliser un outil d'intégration continue/livraison continue (CI/CD), tel que Jenkins, pour mettre à jour le contenu du baquet. Jenkins a un stockage en nuage brancher qui fournit une Étape de post-construction de Google Cloud Storage Uploader pour publier la compilation artefacts vers Cloud Storage Si vous avez une application Web qui doit diffuser du contenu statique ou des médias statiques téléchargés par l'utilisateur, l'utilisation de Cloud Storage peut être un moyen rentable et efficace d'héberger et de diffuser ce contenu, tout en réduisant le nombre de requêtes dynamiques adressées à votre application Web. De plus, Cloud Storage peut accepter directement le contenu soumis par l'utilisateur. Cette fonctionnalité permet aux utilisateurs de télécharger des fichiers multimédias volumineux directement et en toute sécurité sans passer par vos serveurs. Pour obtenir les meilleures performances de votre site Web statique, consultez Meilleures pratiques pour le stockage dans le cloud Pour plus d'informations, consultez les pages suivantes : - Hébergement d'un site web statique - J est pour Jenkins (article de blog) - Band Aid 30 sur Google Cloud (article de blog) - Documentation sur le stockage en nuage Hébergement d'un site Web statique avec Firebase HostingFirebase Hosting fournit un hébergement statique rapide et sécurisé pour votre application Web.Avec Firebase Hosting, vous pouvez déployer des applications Web et du contenu statique sur un réseau mondial de diffusion de contenu (CDN) à l'aide d'une seule commandeVoici quelques avantages dont vous bénéficiez lorsque vous utilisez Firebase Hosting :- SSL sans configuration est intégré à Firebase Hosting.Fournit gratuitement des certificats SSL sur des domaines personnalisés- Tout votre contenu est servi sur HTTPS- Votre contenu est livré à vos utilisateurs depuis les bords CDN du monde entier- À l'aide de l'interface de ligne de commande Firebase, vous pouvez rendre votre application opérationnelle en quelques secondes.Utilisez des outils de ligne de commande pour ajouter des cibles de déploiement dans votre processus de construction- Vous obtenez des fonctionnalités de gestion des versions, telles que le déploiement atomique de nouveaux actifs, la gestion complète des versions et la gestion en un clic rollbacks- L'hébergement offre une configuration utile pour les applications d'une seule page et d'autres sites qui ressemblent davantage à des applications- L'hébergement est conçu pour être utilisé de manière transparente avec autres fonctionnalités de FirebasePour plus d'informations, consultez les pages suivantes :## Utilisation de machines virtuelles avec Compute EnginePour les cas d'utilisation de l'infrastructure en tant que service (IaaS) , Google Cloud fournit Compute Engine.Compute Engine fournit une infrastructure informatique robuste, mais vous devez choisir et configurer les composants de la plate-forme que vous souhaitez utiliser.Avec Compute Engine, il vous incombe de configurer, d'administrer et de surveiller les systèmes.Google s'assure que les ressources sont disponibles, fiables et prêtes à être utilisées, mais c'est à vous de les provisionner et de les gérer.L'avantage, ici, est que vous avez un contrôle total sur les systèmes et une flexibilité illimitéeUtilisez Compute Engine pour concevoir et déployer presque n'importe quel système de service de site Web que vous souhaitez.Vous pouvez utiliser des machines virtuelles, appelées instances, pour créer votre application, comme vous le feriez si vous disposiez de votre propre infrastructure matérielle.Compute Engine propose une variété de types de machines pour personnaliser votre configuration en fonction de vos besoins et de votre budget.Vous pouvez choisir les systèmes d'exploitation, les piles de développement, les langages, les frameworks, les services et les autres technologies logicielles que vous préférezConfiguration automatique avec Google Cloud MarketplaceLe Le moyen le plus simple de déployer une pile de services Web complète consiste à utiliser Google Cloud Marketplace.En quelques clics, vous pouvez déployer n'importe laquelle des plus de 100 solutions entièrement réalisées avec Google Click to Deploy ou BitnamiPar exemple, vous pouvez configurer une pile LAMP ou WordPress avec Cloud Marketplace.Le système déploie une pile logicielle complète et fonctionnelle en quelques minutes sur une seule instance.Avant le déploiement, Cloud Marketplace affiche des estimations de coût pour l'exécution du site, vous donne des informations claires sur les versions des composants logiciels qu'il installe pour vous et vous permet de personnaliser votre configuration en modifiant les noms d'instance de composant, en choisissant le type de machine et en choisissant une taille de disque.Après le déploiement, vous avez un contrôle total sur les instances Compute Engine, leurs configurations et le logicielConfiguration manuelleVous pouvez également créer votre infrastructure sur Compute Engine manuellement, soit en créant votre configuration à partir de zéro, soit en s'appuyant sur un déploiement Google Cloud Marketplace.Par exemple, vous souhaitez peut-être utiliser une version d'un composant logiciel non proposée par Cloud Marketplace, ou peut-être préférez-vous tout installer et configurer par vous-mêmeFournir une solution complète Le cadre et les meilleures pratiques pour la création d'un site Web dépassent le cadre de cet article.Mais d'un point de vue général, l'aspect technique de la configuration d'une infrastructure de serveur Web sur Compute Engine nécessite que vous :compreniez les exigences.Si vous créez un nouveau site Web, assurez-vous de bien comprendre les composants dont vous avez besoin, tels que les instances, les besoins de stockage et l'infrastructure réseau.Si vous migrez votre application à partir d'une solution existante, vous comprenez probablement déjà ces exigences, mais vous devez réfléchir à la manière dont votre configuration existante correspond aux services Google Cloud.Planifiez la conception.Réfléchissez à votre architecture et écrivez votre conception.Soyez aussi explicite que possible.Créez les composants.Les composants que vous pourriez généralement considérer comme des actifs physiques, tels que les ordinateurs et les commutateurs réseau, sont fournis via des services dans Compute Engine.Par exemple, si vous voulez un ordinateur, vous devez créer une instance Compute Engine.Si vous voulez un disque dur persistant, créez-le également.Cloud Deployment Manager ou Terraform en font un processus simple et reproductible.Configurez et personnalisez.Une fois que vous disposez des composants souhaités, vous devez les configurer, installer et configurer le logiciel, et écrire et déployer tout code de personnalisation dont vous avez besoin.Vous pouvez répliquer la configuration en exécutant des scripts shell, ce qui permet d'accélérer les futurs déploiements.Deployment Manager aide ici aussi en fournissant des modèles de configuration déclaratifs et flexibles pour le déploiement automatique des ressources.Vous pouvez également profiter d'outils d'automatisation informatique tels que Puppet et Chef.Déployez les actifs.Vraisemblablement, vous avez des pages Web et des images.Tester.Vérifiez que tout fonctionne comme prévu.Déployer en production.Ouvrez votre site pour que le monde entier puisse le voir et l'utiliserPour vous aider à démarrer et à comprendre ce que signifie configurer manuellement des instances Compute Engine, essayez une ou plusieurs les tutoriels suivants :Stockage de données avec Compute Engine La plupart des sites Web ont besoin d'une sorte de stockage. Vous pourriez avoir besoin de stockage pour diverses raisons, telles que l'enregistrement des fichiers que vos utilisateurs téléchargent et, bien sûr, les actifs que votre site utilise. Google Cloud fournit une variété de services de stockage gérés, notamment : - Une base de données SQL dans Cloud SQL, basée sur MySQL - Deux options de stockage de données NoSQL : Firestore et Cloud Bigtable - Stockage d'objets cohérent, évolutif et de grande capacité dans Stockage en ligne Cloud Storage se décline en plusieurs classes : - Standard offre une disponibilité maximale - Nearline offre un choix économique idéal pour les données consultées moins d'une fois par mois - Coldline offre un choix économique idéal pour les données consultées moins d'une fois par trimestre - Archive offre le choix le moins coûteux pour l'archivage, la sauvegarde et la reprise après sinistre - Disques persistants sur Compute Engine à utiliser comme stockage principal pour vos instances. Offres Compute Engine les deux disques persistants sur disque dur, appelés les disques persistants standard et les disques persistants à semi-conducteurs (SSD). Vous pouvez également choisir de configurer votre technologie de stockage préférée sur Compute Engine en utilisant des disques persistants. Par exemple, vous pouvez configurer PostgreSQL comme base de données SQL ou MongoDB comme stockage NoSQL. Pour comprendre la gamme complète et les avantages des services de stockage sur Google Cloud, consultez Choisir une option de stockage Équilibrage de charge avec Compute Engine Pour tout site Web qui fonctionne à grande échelle, l'utilisation de technologies d'équilibrage de charge pour répartir la charge de travail entre les serveurs est souvent une exigence. Lors de la conception de l'architecture de vos serveurs Web à charge équilibrée sur Compute Engine, plusieurs options s'offrent à vous : - Équilibrage de charge HTTP(S) Explique les principes de base de l'utilisation de Cloud Load Balancing - Équilibrage de charge basé sur le contenu. Montre comment répartir le trafic vers différentes instances en fonction de l'URL entrante - Équilibrage de charge entre régions. Démontre la configuration d'instances de VM dans différentes régions et l'utilisation de l'équilibrage de charge HTTP ou HTTPS pour répartir le trafic entre les régions - Équilibrage de charge proxy TCP. Illustre la configuration de l'équilibrage de charge proxy TCP global pour un service qui existe dans plusieurs régions - Équilibrage de charge Proxy SSL. Illustre la configuration de l'équilibrage de charge proxy SSL global pour un service qui existe dans plusieurs régions - Terminaison IPv6 pour l'équilibrage de charge HTTP(S), Proxy SSL et Proxy TCP. Explique la terminaison IPv6 et les options de configuration des équilibreurs de charge pour gérer les requêtes IPv6 - Équilibrage de charge réseau. Affiche un scénario de base qui configure une configuration d'équilibrage de charge de couche 3 pour répartir le trafic HTTP sur des instances saines - Équilibrage de charge entre régions à l'aide de backends Microsoft IIS. Explique comment utiliser l'équilibreur de charge Compute Engine pour répartir le trafic vers les serveurs Microsoft Internet Information Services (IIS) - Configuration de l'équilibrage de charge interne Vous pouvez configurer un équilibreur de charge qui distribue le trafic réseau sur un réseau privé qui n'est pas exposé à Internet. L'équilibrage de charge interne est utile non seulement pour les applications intranet où tout le trafic reste sur un réseau privé, mais également pour les applications Web complexes où un frontend demande aux serveurs backend en utilisant un réseau privé. Le déploiement de l'équilibrage de charge est flexible et vous pouvez utiliser Compute Engine avec vos solutions existantes. Par exemple, l'équilibrage de charge HTTP(S) à l'aide de Nginx est une solution possible que vous pouvez utiliser à la place de l'équilibreur de charge Compute Engine. Distribution de contenu avec Compute Engine Étant donné que le temps de réponse est une mesure fondamentale pour tout site Web, l'utilisation d'un CDN pour réduire la latence et augmenter les performances est souvent une exigence, en particulier pour un site avec un trafic Web mondial. Cloud CDN utilise les points de présence périphériques de Google répartis dans le monde entier pour diffuser du contenu à partir des emplacements de cache les plus proches des utilisateurs. Cloud CDN fonctionne avec l'équilibrage de charge HTTP(S). Pour diffuser du contenu depuis Compute Engine, Cloud Storage ou les deux à partir d'une seule adresse IP, activez Cloud CDN pour un équilibreur de charge HTTP(S) Autoscaling avec Compute Engine Vous pouvez configurer votre architecture pour ajouter et supprimer des serveurs en fonction de la demande. Cette approche peut aider à garantir que votre site fonctionne bien en cas de pic de charge, tout en maîtrisant les coûts pendant les périodes de demande plus typiques. Compute Engine fournit un autoscaler que vous pouvez utiliser à cette fin L'autoscaling est une fonctionnalité des groupes d'instances gérés. Un groupe d'instances géré est un pool d'instances de machines virtuelles homogènes, créé à partir d'un modèle d'instance commun. Un autoscaler ajoute ou supprime des instances dans un groupe d'instances géré. Bien que Compute Engine dispose à la fois de groupes d'instances gérés et non gérés, vous ne pouvez utiliser des groupes d'instances gérés qu'avec un autoscaler. Pour plus d'informations, consultez l'autoscaling sur Compute Engine Pour un examen approfondi de ce qu'il faut pour créer une solution d'application Web évolutive et résiliente, voir Création d'applications Web évolutives et résilientes Journalisation et surveillance avec Compute Engine Google Cloud inclut des fonctionnalités que vous pouvez utiliser pour garder un œil sur ce qui se passe avec votre site Web Cloud Logging collecte et stocke les journaux des applications et des services sur Google Cloud. Vous pouvez afficher ou exporter des journaux et intégrer des journaux tiers à l'aide d'un agent de journalisation Cloud Monitoring fournit des tableaux de bord et des alertes pour votre site.Vous configurez Monitoring avec la console Google Cloud.Vous pouvez consulter les mesures de performances des services cloud, des machines virtuelles et des serveurs open source courants tels que MongoDB, Apache, Nginx et Elasticsearch.Vous pouvez utiliser l'API Cloud Monitoring pour récupérer des données de surveillance et créer des métriques personnaliséesCloud Monitoring fournit également des tests de disponibilité, qui envoient des requêtes à vos sites Web pour voir s'ils répondent.Vous pouvez surveiller la disponibilité d'un site Web en déployant une règle d'alerte qui crée un incident si le test de disponibilité échoueGestion de DevOps avec Compute EnginePour plus d'informations sur la gestion de DevOps avec Compute Engine, consultez les articles suivants :- Tests de charge distribués à l'aide de Kubernetes- Exécuter Spinnaker sur Compute Engine- Gérer les déploiements sur Google Cloud avec Spinnaker# # Utilisation de conteneurs avec GKEVous utilisez peut-être déjà des conteneurs, tels que des conteneurs Docker.Pour le service Web, les conteneurs offrent plusieurs avantages, notamment :Composantisation.Vous pouvez utiliser des conteneurs pour séparer les différents composants de votre application Web.Par exemple, supposons que votre site exécute un serveur Web et une base de données.Vous pouvez exécuter ces composants dans des conteneurs séparés, en modifiant et en mettant à jour un composant sans affecter l'autre.À mesure que la conception de votre application devient plus complexe, les conteneurs conviennent parfaitement à une architecture orientée services, y compris les microservices.Ce type de conception prend en charge l'évolutivité, entre autres objectifs.Portabilité.Un conteneur a tout ce dont il a besoin pour exécuter votre application et ses dépendances sont regroupées.Vous pouvez exécuter vos conteneurs sur diverses plates-formes, sans vous soucier des détails du système sous-jacent.Déploiement rapide.Au moment du déploiement, votre système est construit à partir d'un ensemble de définitions et d'images, de sorte que les composants peuvent être déployés rapidement, de manière fiable et automatiquement.Les conteneurs sont généralement petits et se déploient beaucoup plus rapidement que, par exemple, les machines virtuellesL'informatique de conteneurs sur Google Cloud offre encore plus d'avantages pour le service Web, notamment :Orchestration.GKE est un service géré basé sur Kubernetes, le système open source d'orchestration de conteneurs introduit par Google.Avec GKE, votre code s'exécute dans des conteneurs faisant partie d'un cluster composé d'instances Compute Engine.Au lieu d'administrer des conteneurs individuels ou de créer et d'arrêter chaque conteneur manuellement, vous pouvez gérer automatiquement le cluster via GKE, qui utilise la configuration que vous définissez.Enregistrement d'image.Container Registry ou Artifact Registry fournit un stockage privé pour les images Docker sur Google Cloud.Vous pouvez accéder au registre via un point de terminaison HTTPS, ce qui vous permet d'extraire des images de n'importe quelle machine, qu'il s'agisse d'une instance Compute Engine ou de votre propre matériel.Le service de registre héberge vos images personnalisées dans Cloud Storage sous votre projet Google Cloud.Cette approche garantit par défaut que vos images personnalisées ne sont accessibles qu'aux principaux ayant accès à votre projet.Mobilité.Cela signifie que vous avez la possibilité de déplacer et de combiner des charges de travail avec d'autres fournisseurs de cloud, ou de combiner des charges de travail de cloud computing avec des implémentations sur site pour créer une solution hybrideStockage de données avec GKEÉtant donné que GKE s'exécute sur Google Cloud et utilise des instances Compute Engine comme nœuds, vos options de stockage ont beaucoup en commun avec le stockage sur Compute Engine.Vous pouvez accéder à Cloud SQL, Cloud Storage, Datastore et Bigtable via leurs API, ou vous pouvez utiliser un autre fournisseur de stockage externe si vous le souhaitez.Cependant, GKE interagit avec les disques persistants de Compute Engine d'une manière différente de celle d'une instance Compute Engine normaleUne instance Compute Engine inclut un disque associé.Lorsque vous utilisezCompute Engine, tant que l'instance existe, le volume de disque reste avec l'instance.Vous pouvez même détacher le disque et l'utiliser avec une autreinstance.Mais dans un conteneur, les fichiers sur disque sont éphémères.Lorsqu'un conteneurredémarre, comme après un crash, les fichiers sur le disque sont perdus.Kubernetes résoutce problème en utilisant un volumeabstraction, et un type de volume estgcePersistentDiskCela signifie que vous pouvez utiliser des disques persistants Compute Engine avec des conteneurs pourempêcher la suppression de vos fichiers de données lorsque vous utilisez GKEComprendre les fonctionnalités et les avantages d'un volume , vous devez d'abord comprendre un peu les pods.Vous pouvez considérer un pod comme un hôte logique spécifique à une application pour un ou plusieurs conteneurs.Un pod s'exécute sur une instance de nœud.Lorsque les conteneurs sont membres d'un pod, ils peuvent partager plusieurs ressources, y compris un ensemble de volumes de stockage partagés.Ces volumes permettent aux données de survivre aux redémarrages du conteneur et d'être partagées entre les conteneurs du pod.Bien sûr, vous pouvez également utiliser un seul conteneur et un seul volume dans un pod, mais le pod est une abstraction nécessaire pour connecter logiquement ces ressources les unes aux autresPour un exemple , consultez le didacticiel Utilisation de disques persistants avec WordPress et MySQLÉquilibrage de charge avec GKEDe nombreuses grandes architectures de services Web doivent exécuter plusieurs serveurs capables de partager les demandes de trafic.Étant donné que vous pouvez créer et gérer plusieurs conteneurs, nœuds et pods avec GKE, il s'agit d'un choix naturel pour un système de service Web à charge équilibréeUtilisation de l'équilibrage de charge réseauLe moyen le plus simple de créer un équilibreur de charge dans GKE consiste à utiliser l'équilibrage de charge réseau de Compute Engine.L'équilibrage de charge réseau peut équilibrer la charge de vos systèmes en fonction des données de protocole Internet entrantes, telles que l'adresse, le port et le type de protocole.L'équilibrage de charge réseau utilise des règles de transfert.Ces règles pointent vers des pools cibles qui répertorient les instances disponibles pour être utilisées pour l'équilibrage de charge Avec l'équilibrage de charge réseau, vous pouvez équilibrer la charge de protocoles TCP/UDP supplémentaires tels que le trafic SMTP, et votre application peut directement inspecter les paquets. Vous pouvez déployer l'équilibrage de charge réseau simplement en ajoutant le Type : LoadBalancer champ à votre fichier de configuration de service Utilisation de l'équilibrage de charge HTTP(S) Si vous avez besoin de fonctionnalités d'équilibrage de charge plus avancées, telles que l'équilibrage de charge HTTPS, l'équilibrage de charge basé sur le contenu ou l'équilibrage de charge entre régions, vous pouvez intégrer votre service GKE à la fonctionnalité d'équilibrage de charge HTTP/HTTPS de Compute Engine. Kubernetes fournit la ressource Ingress qui encapsule un ensemble de règles pour acheminer le trafic externe vers les points de terminaison Kubernetes. Dans GKE, une ressource Ingress gère le provisionnement et la configuration de l'équilibreur de charge HTTP/HTTPS de Compute Engine. Pour plus d'informations sur l'utilisation de l'équilibrage de charge HTTP/HTTPS dans GKE, consultez la section Configurer l'équilibrage de charge HTTP avec Ingress. Mise à l'échelle avec GKE Pour le redimensionnement automatique des clusters, vous pouvez utiliser le Cluster Autoscaler. Cette fonctionnalité vérifie périodiquement s'il existe des pods qui attendent un nœud avec des ressources libres mais qui ne sont pas planifiés. Si de tels pods existent, l'autoscaler redimensionne le pool de nœuds si le redimensionnement permet de planifier les pods en attente Cluster Autoscaler surveille également l'utilisation de tous les nœuds. Si un nœud n'est pas nécessaire pendant une période prolongée et que tous ses pods peuvent être programmés ailleurs, le nœud est supprimé Pour plus d'informations sur l'autoscaler de cluster, ses limites et les meilleures pratiques, consultez la documentation de l'autoscaler de cluster Journalisation et surveillance avec GKE Comme sur Compute Engine, Logging et Monitoring fournissent vos services de journalisation et de surveillance. La journalisation collecte et stocke les journaux des applications et des services. Vous pouvez afficher ou exporter des journaux et intégrer des journaux tiers à l'aide d'un agent de journalisation La surveillance fournit des tableaux de bord et des alertes pour votre site. Vous configurez Monitoring avec la console Google Cloud. Vous pouvez consulter les métriques de performances des services cloud, des machines virtuelles et des serveurs open source courants tels que MongoDB, Apache, Nginx et Elasticsearch. Vous pouvez utiliser l'API de surveillance pour récupérer les données de surveillance et créer des métriques personnalisées Gérer DevOps avec GKE Lorsque vous utilisez GKE, vous bénéficiez déjà de nombreux avantages auxquels la plupart des gens pensent lorsqu'ils pensent à DevOps. Cela est particulièrement vrai en ce qui concerne la facilité de conditionnement, de déploiement et de gestion. Pour vos besoins de flux de travail CI/CD, vous pouvez tirer parti d'outils populaires tels que Jenkins. Voir les articles suivants : ## S'appuyer sur une plate-forme gérée avec App Engine Sur Google Cloud, la plateforme gérée en tant que service (PaaS) s'appelle App Engine. Lorsque vous créez votre site Web sur App Engine, vous pouvez vous concentrer sur le codage de vos fonctionnalités et laisser Google s'occuper de la gestion de l'infrastructure de support. App Engine fournit un large éventail de fonctionnalités qui facilitent l'évolutivité, l'équilibrage de charge, la journalisation, la surveillance et la sécurité que si vous deviez les créer et les gérer vous-même. App Engine vous permet de coder dans une variété de langages de programmation et peut utiliser une variété d'autres services Google Cloud App Engine fournit l'environnement standard, qui vous permet d'exécuter des applications dans un environnement sécurisé en bac à sable. L'environnement standard App Engine répartit les requêtes sur plusieurs serveurs et adapte les serveurs pour répondre aux demandes de trafic. Votre application s'exécute dans son propre environnement sécurisé et fiable, indépendant du matériel, du système d'exploitation ou de l'emplacement physique du serveur Pour vous offrir plus d'options, App Engine propose un environnement flexible. Lorsque vous utilisez l'environnement flexible, votre application s'exécute sur des instances Compute Engine configurables, mais App Engine gère l'environnement d'hébergement pour vous. Cela signifie que vous pouvez utiliser des runtimes supplémentaires, y compris des runtimes personnalisés, pour plus de choix de langage de programmation. Vous pouvez également profiter d'une partie de la flexibilité offerte par Compute Engine, par exemple en choisissant parmi une variété d'options de processeur et de mémoire. Langages de programmation L'environnement standard App Engine fournit des environnements d'exécution par défaut et vous écrivez du code source dans des versions spécifiques des langages de programmation pris en charge. Avec l'environnement flexible, vous écrivez le code source dans une version de n'importe lequel des langages de programmation pris en charge. Vous pouvez personnaliser ces runtimes ou fournir votre propre runtime avec une image Docker personnalisée ou un Dockerfile Si le langage de programmation que vous utilisez est une préoccupation majeure, vous devez décider si les environnements d'exécution fournis par l'environnement standard App Engine répondent à vos besoins. Si ce n'est pas le cas, vous devriez envisager d'utiliser l'environnement flexible Pour déterminer quel environnement répond le mieux aux besoins de votre application, consultez Choisir un environnement App Engine Tutoriels de démarrage par langue Les tutoriels suivants peuvent vous aider à démarrer avec l'environnement standard App Engine : - Bonjour tout le monde en Python - Bonjour tout le monde en Java - Bonjour tout le monde en PHP - Bonjour le monde en rubis - Bonjour le monde en Go - Bonjour tout le monde dans Node.js Les didacticiels suivants peuvent vous aider à démarrer avec l'environnement flexible : - Débuter avec Python - Débuter avec Java - Débuter avec PHP - Premiers pas avec Go - Premiers pas avec Node.js - Débuter avec Ruby - Premiers pas avec .NET Stocker des données avec App Engine App Engine vous propose différentes options pour stocker vos données : |Nom||Structure||Cohérence| |Firestore||Schemaless||Fortement cohérent.| |Cloud SQL||Relationnel||Fortement cohérent.| |Cloud Storage||Fichiers et leurs métadonnées associées||Fortement cohérent, sauf lors de l'exécution d'opérations de liste qui obtiennent une liste de compartiments ou d'objets.| Vous pouvez également utiliser plusieurs bases de données tierces avec l'environnement standard Pour plus de détails sur le stockage dans App Engine, consultez Choisir une option de stockage, puis sélectionnez votre langage de programmation préféré. Lorsque vous utilisez l'environnement flexible, vous pouvez utiliser toutes les mêmes options de stockage qu'avec l'environnement standard, ainsi qu'un plus large éventail de bases de données tierces. Pour plus d'informations sur les bases de données tierces dans l'environnement flexible, voir Utilisation de bases de données tierces Équilibrage de charge et autoscaling avec App Engine Par défaut, App Engine achemine automatiquement les requêtes entrantes vers les instances backend appropriées et effectue l'équilibrage de charge pour vous. Toutefois, si vous souhaitez tirer parti des fonctionnalités complètes d'équilibrage de charge HTTP(S) de niveau entreprise de Google Cloud, vous pouvez utiliser des groupes de points de terminaison réseau sans serveur. Pour le scaling, App Engine peut automatiquement créer et désactiver des instances en fonction des fluctuations du trafic, ou vous pouvez spécifier un nombre d'instances à exécuter, quelle que soit la quantité de trafic. Journalisation et surveillance avec App Engine Dans App Engine, les requêtes sont enregistrées automatiquement et vous pouvez les afficher journaux dans la console Google Cloud. App Engine fonctionne également avec bibliothèques standard spécifiques au langage qui fournissent des fonctionnalités de journalisation et transmet les entrées de journal aux journaux de la console Google Cloud. Par exemple, en Python vous pouvez utiliser le module de journalisation Python standard et en Java vous pouvez intégrer l'appender logback ou java.util.logging avec la journalisation en nuage. Cette approche active toutes les fonctionnalités de Cloud Logging et ne nécessite que quelques lignes de code spécifique à Google Cloud Cloud Monitoring fournit des fonctionnalités permettant de surveiller vos applications App Engine. Grâce à la console Google Cloud, vous pouvez surveiller les incidents, les tests de disponibilité et d'autres détails ## S'appuyer sur une plate-forme sans serveur avec Cloud Run La plate-forme sans serveur de Google Cloud vous permet d'écrire du code à votre façon sans vous soucier de l'infrastructure sous-jacente. Vous pouvez créer des applications sans serveur complètes avec le stockage, les bases de données, le machine learning et bien plus encore de Google Cloud. Pour vos sites Web conteneurisés, vous pouvez également les déployer sur Cloud Run en plus d'utiliser GKE. Cloud Run est une plate-forme sans serveur entièrement gérée qui vous permet d'exécuter des applications conteneurisées hautement évolutives sur Google Cloud. Vous ne payez que le temps d'exécution de votre code En utilisant des conteneurs avec Cloud Run, vous pouvez tirer parti de technologies éprouvées telles que Nginx, Express.js et Django pour créer vos sites Web, accéder à votre base de données SQL sur Cloud SQL et afficher des pages HTML dynamiques. La documentation de Cloud Run inclut un guide de démarrage rapide pour vous aider à démarrer Stocker des données avec Cloud Run Les conteneurs Cloud Run sont éphémères et vous devez comprendre leurs quotas et limites pour vos cas d'utilisation. Les fichiers peuvent être temporairement stockés pour être traités dans une instance de conteneur, mais ce stockage provient de la mémoire disponible pour le service, comme décrit dans le contrat d'exécution Pour le stockage persistant, similaire à App Engine, vous pouvez choisir les services de Google Cloud tels que Cloud Storage, Firestore ou Cloud SQL. Alternativement, vous pouvez également utiliser une solution de stockage tierce Équilibrage de charge et autoscaling avec Cloud Run Par défaut, lorsque vous créez sur Cloud Run, il achemine automatiquement les requêtes entrantes vers les conteneurs principaux appropriés et effectue l'équilibrage de charge pour vous. Toutefois, si vous souhaitez tirer parti des fonctionnalités complètes d'équilibrage de charge HTTP(S) de niveau entreprise de Google Cloud, vous pouvez utiliser des groupes de points de terminaison réseau sans serveur. Avec l'équilibrage de charge HTTP(S), vous pouvez activer Cloud CDN ou diffuser le trafic de plusieurs régions. De plus, vous pouvez utiliser un middleware tel que API Gateway pour améliorer votre service Pour Cloud Run, Google Cloud gère l'autoscaling des instances de conteneur pour toi. Chaque révision est automatiquement adapté au nombre d'instances de conteneur nécessaires pour gérer toutes les demandes entrantes. Lorsqu'une révision ne reçoit aucun trafic, par défaut il est mis à l'échelle à zéro instance de conteneur. Toutefois, si vous le souhaitez, vous pouvez modifier cette valeur par défaut pour spécifier une instance à garder inactive ou *réchauffer* en utilisant le paramètre d'instances minimales Journalisation et surveillance avec Cloud Run Cloud Run propose deux types de journaux, qui sont automatiquement envoyés à Cloud Logging : - Journaux des requêtes : journaux des requêtes envoyées aux services Cloud Run. Ces journaux sont créés automatiquement - Journaux de conteneur : journaux émis à partir des instances de conteneur, généralement à partir de votre propre code, écrits dans des emplacements pris en charge, comme décrit dans Écriture de journaux de conteneur Vous pouvez afficher les journaux de votre service de plusieurs manières : - Utilisez la page Cloud Run dans la console Google Cloud - Utiliser l'explorateur de journaux Cloud Logging dans la console Google Cloud Ces deux méthodes d'affichage examinent les mêmes journaux stockés dans Cloud Logging, mais l'explorateur de journaux fournit plus de détails et davantage de fonctionnalités de filtrage. Cloud Monitoring fournit une surveillance des performances, des métriques et des tests de disponibilité de Cloud Run, ainsi que des alertes pour envoyer des notifications lorsque certains seuils de métriques sont dépassés. Les tarifs de la suite d'opérations Google Cloud s'appliquent, ce qui signifie qu'il n'y a pas de frais pour les métriques sur la version entièrement gérée de Cloud Run. Notez que vous pouvez également utiliser les métriques personnalisées de Cloud Monitoring Cloud Run est intégré à Cloud Monitoring *sans installation ni configuration requise*. Cela signifie que les mesures de votre Les services Cloud Run sont automatiquement capturés lorsqu'ils sont en cours d'exécution ## Construire des systèmes de gestion de contenu Servir un site Web signifie gérer les actifs de votre site Web. Cloud Storage fournit un référentiel mondial pour ces ressources. Une architecture courante déploie du contenu statique sur Cloud Storage, puis se synchronise avec Compute Engine pour afficher des pages dynamiques. Cloud Storage fonctionne avec de nombreux systèmes de gestion de contenu tiers, tels que WordPress, Drupal et Joomla. Cloud Storage propose également une API compatible avec Amazon S3, de sorte que tout système qui fonctionne avec Amazon S3 peut fonctionner avec Cloud Storage Le diagramme ci-dessous est un exemple d'architecture pour un système de gestion de contenu ## Et après - Explorez les architectures de référence, les diagrammes, les didacticiels et les bonnes pratiques concernant Google Cloud. Jetez un œil à notre centre d'architecture cloud.