Bonnes pratiques pour les entreprises

Ce guide présente les bonnes pratiques à suivre pour aider les entreprises clientes telle que la vôtre dans la découverte de Google Cloud. Ce guide n'est pas une liste exhaustive de recommandations. Son objectif est plutôt d'aider les architectes d'entreprise et les personnels techniques concernés à comprendre l'éventail des activités proposées et à planifier en conséquence. Chaque section fournit des actions clés et inclut des liens vers une documentation complémentaire.

Avant de lire ce guide, nous vous recommandons de consulter la présentation de la plate-forme afin de comprendre l'environnement général de Google Cloud.

Structure de l'organisation

Définir la hiérarchie des ressources

Les ressources Google Cloud sont organisées de façon hiérarchique. Cette hiérarchie vous permet de mapper la structure opérationnelle de votre organisation à Google Cloud, ainsi que de gérer le contrôle des accès et les autorisations pour des groupes de ressources associées. Le schéma suivant illustre un exemple de hiérarchie.

Arborescence inversée avec des ressources organisées hiérarchiquement

Le nœud de niveau supérieur de la hiérarchie est la ressource "Organisation", qui représente une organisation (par exemple, une société). La ressource "Organisation" offre une visibilité et un contrôle centralisés sur toutes les ressources en aval de la hiérarchie.

En dessous de cette ressource se trouvent les dossiers. Vous pouvez utiliser des dossiers pour isoler les exigences de différents services et équipes de l'organisation parent. Vous pouvez également utiliser des dossiers pour séparer les ressources de production des ressources de développement.

Au bas de la hiérarchie se trouvent les projets. Ceux-ci contiennent les ressources informatiques, de stockage et de réseau constituant les applications. Les projets sont abordés plus en détail plus loin dans ce document.

La structure que vous définissez est flexible et vous permet de vous adapter aux exigences en constante évolution. Si vous venez de découvrir Google Cloud, adoptez la structure la plus simple qui réponde à vos exigences initiales. Consultez la présentation de Resource Manager pour en savoir plus.

Créer un nœud d'organisation

Bon nombre des fonctionnalités compatibles avec Google Cloud nécessitent un nœud d'organisation. Vous pouvez créer un nœud d'organisation mappé à votre domaine Internet d'entreprise, tel que example.com, par le biais de Cloud Identity. Vous pouvez migrer vos projets Google Cloud et vos comptes de facturation existants vers le nœud d'organisation. Pour en savoir plus, consultez la section Créer et gérer des organisations.

Si vous avez besoin d'aide pour la configuration, référez-vous à l'assistant de configuration de l'organisation.

Spécifier la structure du projet

Il est nécessaire de disposer d'un projet pour utiliser Google Cloud. Toutes les ressources Google Cloud, telles que les machines virtuelles Compute Engine et les buckets Cloud Storage, appartiennent à un même projet. Pour en savoir plus sur les projets, consultez la présentation de la plate-forme.

Vous contrôlez le champ d'application de vos projets. Un seul projet peut contenir plusieurs applications distinctes ou, à l'inverse, une seule application peut appartenir à plusieurs projets. Les projets peuvent contenir des ressources réparties sur plusieurs régions et zones géographiques.

Il est généralement recommandé de créer un projet par application et par environnement. Par exemple, si vous disposez de deux applications, "app1" et "app2", chacune avec un environnement de développement et de production, quatre projets seront créés : app1-dev, app1-prod, app2-dev et app2-prod. Cela isole les environnements les uns des autres, de sorte que les modifications apportées au projet de développement n'ont pas d'impact accidentel sur la production, et vous donne un meilleur contrôle des accès, puisque vous pouvez (par exemple) accorder à tous les développeurs l'accès aux projets de développement mais restreindre l'accès en production à votre pipeline CI/CD.

La structure de projet idéale dépend de vos exigences individuelles et peut évoluer avec le temps. Lors de la conception de la structure de projet, déterminez si les ressources doivent être facturées séparément, le degré d'isolation requis et la manière dont les équipes qui gèrent les ressources et les applications sont organisées. Vous trouverez un exemple de structure dans la section Concevez des règles pour les entreprises.

Automatiser la création de projet

Lorsque vous automatisez la création et la gestion des projets et ressources Google Cloud, vous bénéficiez d'avantages tels que la cohérence, la reproductibilité et la testabilité. Traiter la configuration en tant que code vous permet de gérer les versions et le cycle de vie de la configuration parallèlement aux artefacts logiciels. L'automatisation vous permet d'appliquer de bonnes pratiques, telles que des conventions de dénomination cohérentes et l'étiquetage des ressources. À mesure que vos exigences évoluent, l'automatisation simplifie également la refactorisation des projets.

Pour les projets Google Cloud, utilisez Cloud Deployment Manager, l'outil de gestion natif de Google Cloud. Deployment Manager permet de créer un fichier de configuration décrivant un ensemble de ressources Google Cloud que vous souhaitez déployer. Vous pouvez définir des modèles paramétrés qui agissent comme des composants réutilisables. Deployment Manager peut également définir des autorisations de contrôle d'accès via IAM, de sorte que les développeurs disposent des droits d'accès appropriés dans le cadre du processus de création du projet.

Si vous utilisez déjà des outils tels que Terraform, Ansible ou Puppet, vous pouvez les utiliser à la place. Cela vous permet de tirer parti des compétences de votre équipe.

Gestion de l'authentification et des accès

Gérer les identités Google

Google Cloud utilise les comptes Google pour l'authentification et la gestion des accès. Les développeurs et les membres des équipes techniques doivent posséder un compte Google pour accéder à Google Cloud. Nous vous recommandons d'utiliser des comptes Google entièrement gérés liés au nom de domaine de votre entreprise via Cloud Identity. Ainsi, les développeurs peuvent accéder à Google Cloud à l'aide de leurs identifiants de messagerie professionnelle, et les administrateurs peuvent consulter et contrôler les comptes via la console d'administration. Les sections suivantes de cette documentation expliquent comment intégrer la plate-forme de gestion des identités existante à Cloud Identity.

Cloud Identity est une solution IDaaS (Identity as a Service) autonome. Elle permet aux clients de Cloud Platform d'accéder à de nombreuses fonctionnalités de gestion des identités fournies par Google Workspace, l'ensemble d'applications de productivité d'entreprise de Google Cloud. Cloud Identity ne nécessite pas de licence Google Workspace. L'inscription à Cloud Identity fournit une couche de gestion sur les comptes Google associés au nom de domaine de votre entreprise. Grâce à cette couche de gestion, vous pouvez activer ou désactiver l'accès aux services Google, y compris Google Cloud, pour vos employés. L'inscription à Cloud Identity crée également un nœud d'organisation pour votre domaine, ce qui permet de mapper la structure et les contrôles de l'entreprise à vos ressources Google Cloud via la hiérarchie des ressources.

Pour en savoir plus, consultez la section Solutions Cloud Identity.

Fédérer votre fournisseur d'identité avec Google Cloud

Si votre organisation utilise un fournisseur d'identité sur site ou tiers, synchronisez votre annuaire d'utilisateurs avec Cloud Identity pour permettre aux utilisateurs d'accéder à Google Cloud avec leurs identifiants professionnels. Ainsi, votre fournisseur d'identité reste la source de vérité, tandis que Cloud Identity contrôle la façon dont vos employés accèdent aux services Google.

Migrer des comptes non gérés

Si des membres de votre domaine ont utilisé leur adresse e-mail professionnelle pour créer un compte Google personnel, par exemple pour s'inscrire à un service Google tel que YouTube ou Blogger, envisagez de migrer ces comptes pour qu'ils puissent également être gérés à l'aide de Cloud Identity. Vous pouvez également forcer la modification de ces comptes pour qu'ils utilisent une autre adresse e-mail.

Pour obtenir plus d'informations sur la migration de comptes ou sur l'obligation de renommer des comptes, consultez la page Évaluation des comptes utilisateur existants.

Contrôler l'accès aux ressources

Vous devez autoriser les développeurs et le personnel informatique à utiliser les ressources Google Cloud. Vous pouvez utiliser la gestion de l'authentification et des accès (IAM) pour accorder un accès précis à des ressources Google Cloud spécifiques et empêcher tout accès indésirable à d'autres ressources. Plus précisément, IAM vous permet de contrôler l'accès en définissant qui (identité) dispose de quel type d'accès (rôle) pour quelle ressource.

Plutôt que d'attribuer directement des autorisations, vous attribuez des rôles. Les rôles IAM sont des ensembles d'autorisations. Par exemple, le rôle de lecteur de données BigQuery contient les autorisations permettant de répertorier, de lire et d'interroger les tables BigQuery, mais n'inclut pas les autorisations permettant de créer des tables ou de modifier des données existantes. IAM fournit de nombreux rôles prédéfinis pour gérer un large éventail de cas d'utilisation courants. Il vous permet également de créer des rôles personnalisés.

Utilisez IAM pour appliquer le principe de sécurité du moindre privilège afin d'accorder uniquement les accès nécessaires à vos ressources. La gestion de l'authentification et des accès est un sujet fondamental pour les entreprises. Pour en savoir plus sur la gestion de l'authentification et des accès, consultez les ressources suivantes :

Déléguer des responsabilités avec des groupes et des comptes de service

Nous vous recommandons de regrouper les utilisateurs ayant les mêmes responsabilités dans des groupes et d'attribuer des rôles IAM aux groupes plutôt qu'aux utilisateurs de manière individuelle. Par exemple, vous pouvez créer un groupe "data scientists" et attribuer les rôles appropriés pour permettre une interaction avec BigQuery et Cloud Storage. Ainsi lorsqu'un nouveau data scientist rejoint votre équipe, il vous suffit de l'ajouter au groupe pour qu'il hérite des autorisations définies. Vous pouvez créer et gérer des groupes via la console d'administration.

Nous recommandons aux entreprises clientes de créer les six groupes suivants :

Groupe Fonction
gcp-organization-admins Les administrateurs d'organisation sont chargés d'organiser la structure des ressources utilisées par l'organisation.
gcp-network-admins Les administrateurs réseau sont chargés de créer des réseaux, des sous-réseaux, des règles de pare-feu et des appareils réseau, tels que les routeurs Cloud Router, les VPN cloud et les équilibreurs de charge cloud.
gcp-security-admins Les administrateurs de la sécurité sont chargés d'établir et de gérer les règles de sécurité pour l'ensemble de l'organisation, y compris la gestion des accès et les règles relatives aux contraintes de l'organisation.
gcp-billing-admins Les administrateurs de la facturation sont chargés de configurer les comptes de facturation et de surveiller leur utilisation.
gcp-devops Les professionnels DevOps créent ou gèrent des pipelines de bout en bout afin d'assurer l'intégration et la livraison continues, la surveillance et la gestion des comptes.
gcp-developers Les développeurs sont chargés de concevoir, de coder et de tester les applications.

Un compte de service est un type particulier de compte Google qui représente une identité ou une application de service Google Cloud plutôt qu'un utilisateur individuel. À l'instar des utilisateurs et des groupes, des rôles IAM peuvent être attribués aux comptes de service pour leur accorder l'accès à des ressources spécifiques. Les comptes de service s'authentifient avec une clé plutôt qu'un mot de passe. Google gère et fait pivoter les clés du compte de service pour le code exécuté sur Google Cloud. Nous vous recommandons d'utiliser des comptes de service pour les interactions de serveur à serveur.

Définir des règles d'administration

Utilisez le service de règles d'administration pour obtenir un contrôle centralisé et automatisé des ressources cloud de votre organisation. IAM se concentre sur qui en offrant la possibilité d'autoriser les utilisateurs et les groupes à effectuer des actions sur des ressources spécifiques en fonction des autorisations dont ils disposent. Une règle d'administration met l'accent sur quoi, offrant ainsi la possibilité de définir un ensemble de restrictions sur des ressources spécifiques afin de déterminer comment elles peuvent être configurées et utilisées. Par exemple, vous pouvez définir une contrainte pour empêcher les instances de machine virtuelle de disposer d'une adresse IP externe.

Définissez des règles sur les ressources dans la hiérarchie des ressources. Tous les descendants d'une ressource héritent de ses règles par défaut. Vous pouvez définir un ensemble de base de contraintes s'appliquant à tous les éléments de la hiérarchie en attachant une règle au nœud d'organisation de niveau supérieur. Vous pouvez ensuite définir des règles d'administration personnalisées sur les nœuds enfants, qui écrasent les règles héritées ou fusionnent avec elles.

Pour en savoir plus sur la définition des règles, consultez la section Créer des règles pour les entreprises clientes.

Mise en réseau et sécurité

Utiliser le VPC pour définir le réseau

Utilisez des VPC et des sous-réseaux pour cartographier le réseau, et pour grouper et isoler les ressources associées. Le cloud privé virtuel (VPC) est une version virtuelle d'un réseau physique. Les réseaux VPC fournissent des capacités de mise en réseau évolutives et flexibles pour les instances de machine virtuelle (VM) Compute Engine, ainsi que pour les services qui les utilisent, comme Google Kubernetes Engine (GKE), Dataproc et Dataflow.

Les réseaux VPC sont des ressources globales. Un seul VPC peut s'étendre sur plusieurs régions sans communiquer via l'Internet public. Cela signifie que vous pouvez connecter et gérer des ressources réparties dans le monde entier depuis un seul projet Google Cloud et créer plusieurs réseaux VPC isolés dans un même projet.

Les réseaux VPC eux-mêmes ne définissent pas de plages d'adresses IP. Au lieu de cela, chaque réseau VPC consiste en une ou plusieurs partitions appelées sous-réseaux. Chaque sous-réseau définit quant à lui une ou plusieurs plages d'adresses IP. Les sous-réseaux sont des ressources régionales. Chaque sous-réseau est explicitement associé à une seule région.

Pour en savoir plus, consultez la section Présentation du réseau VPC.

Gérer le trafic avec des règles de pare-feu

Chaque réseau VPC met en œuvre un pare-feu virtuel distribué. Configurez des règles de pare-feu qui autorisent ou interdisent le trafic vers et depuis les ressources associées au VPC, y compris les instances de VM Compute Engine et les clusters GKE. Les règles de pare-feu sont appliquées au niveau du réseau virtuel. Elles contribuent donc à fournir une protection efficace et un contrôle du trafic, quel que soit le système d'exploitation utilisé par les instances. Le pare-feu est avec état, ce qui signifie que pour les flux autorisés, le trafic retour est automatiquement autorisé.

Les règles de pare-feu sont spécifiques à un réseau VPC particulier. Les règles vous permettent d'indiquer le type de trafic, tel que les ports et les protocoles, ainsi que la source ou la destination du trafic, y compris les adresses IP, les sous-réseaux, les tags et les comptes de service. Par exemple, vous pouvez créer une règle d'entrée pour autoriser toute instance de machine virtuelle associée à un compte de service particulier à accepter sur le port 80 le trafic TCP provenant d'un sous-réseau source spécifique. Chaque VPC inclut automatiquement des règles de pare-feu par défaut et implicites.

Si l'application est hébergée dans GKE, différentes considérations relatives à la gestion du trafic réseau et à la configuration des règles de pare-feu sont à prendre en compte. Par exemple, vous pouvez créer une règle de réseau pour contrôler la communication interne au sein du cluster GKE. Vous pouvez également utiliser un maillage de services comme Istio pour une meilleure gestion et communication du cluster. Pour en savoir plus, consultez la section sur les concepts de mise en réseau GKE.

Limiter l'accès externe

Lorsque vous créez une ressource Google Cloud qui exploite le VPC, vous choisissez un réseau et un sous-réseau dans lesquels placer la ressource. Une adresse IP interne issue de l'une des plages IP associées au sous-réseau est attribuée à la ressource. Les ressources d'un réseau VPC peuvent communiquer entre elles via des adresses IP internes dans la mesure où les règles de pare-feu le permettent.

Pour communiquer avec Internet, les ressources doivent disposer d'une adresse IP publique externe ou utiliser Cloud NAT. De même, les ressources doivent posséder une adresse IP externe pour se connecter à d'autres ressources se trouvant en dehors du réseau VPC, à moins que les réseaux ne soient connectés de quelque manière que ce soit, par exemple via un VPN. Pour en savoir plus, consultez la documentation relative aux adresses IP.

Limitez l'accès à Internet aux ressources qui en ont besoin. Les ressources disposant uniquement d'une adresse IP interne privée peuvent toujours accéder à de nombreux services et API Google via l'accès privé à Google. Cet accès privé permet aux ressources d'interagir avec les services clés de Google et de Google Cloud tout en restant isolées d'Internet.

Centraliser le contrôle du réseau

Utilisez un VPC partagé pour vous connecter à un réseau VPC commun. Les ressources de ces projets peuvent communiquer entre elles de manière sécurisée et efficace d'un projet à l'autre en utilisant des adresses IP internes. Vous pouvez gérer des ressources réseau partagées, telles que des sous-réseaux, des routes et des pare-feu, à partir d'un projet hôte central, ce qui vous permet de mettre en place et d'appliquer des règles de réseau cohérentes à travers les projets.

Avec un VPC partagé et des contrôles IAM, vous pouvez séparer l'administration du réseau de l'administration du projet. Cette séparation vous aide à mettre en œuvre le principe du moindre privilège. Par exemple, une équipe réseau centralisée peut administrer le réseau sans disposer d'autorisations sur les projets liés. De même, les administrateurs de projet peuvent gérer leurs ressources de projet sans disposer d'autorisations sur le réseau partagé.

Connecter le réseau d'entreprise

De nombreuses entreprises ont besoin de relier l'infrastructure existante sur site à leurs ressources Google Cloud. Évaluez vos exigences concernant la bande passante, la latence et le SLA pour choisir la meilleure option de connexion :

  • Si vous avez besoin de connexions d'entreprise à faible latence et hautement disponibles pour transférer de manière fiable des données entre vos réseaux VPC et sur site sans passer par les connexions Internet vers Google Cloud, utilisez Cloud Interconnect :

    • L'interconnexion dédiée fournit une connexion physique directe entre le réseau sur site et le réseau de Google.
    • L'interconnexion partenaire fournit une connectivité entre le réseau sur site et le réseau VPC de Google Cloud via un fournisseur de services agréé.
  • Si vous n'avez pas besoin de la faible latence et de la haute disponibilité de Cloud Interconnect, ou si vous débutez dans le cloud, utilisez Cloud VPN pour configurer des tunnels VPN IPsec chiffrés entre le réseau sur site et le réseau  VPC. Comparé à une connexion directe et privée, un tunnel VPN IPsec engendre moins de frais.

Sécuriser les applications et les données

À travers son infrastructure et ses services, Google Cloud fournit des fonctionnalités de sécurité robustes, allant de la sécurité physique des centres de données au matériel de sécurité personnalisé, en passant par les équipes de chercheurs dédiées. Cependant, la sécurisation de vos ressources Google Cloud est une responsabilité partagée. Vous devez prendre les mesures appropriées pour vous assurer que vos applications et vos données sont protégées.

Outre les règles de pare-feu et l'isolation du réseau VPC, vous pouvez utiliser les outils suivants pour sécuriser et protéger les applications :

  • Utilisez VPC Service Controls pour définir un périmètre de sécurité autour de vos ressources Google Cloud afin de contenir les données au sein d'un VPC et de limiter les risques d'exfiltration des données.
  • Utilisez un équilibreur de charge HTTP(S) Google Cloud global pour assurer la haute disponibilité et le scaling de vos services Internet.
  • Intégrez Google Cloud Armor à l'équilibreur de charge HTTP(S) pour offrir une protection contre les attaques DDoS, ainsi que la possibilité de mettre sur liste de blocage ou d'autorisation (parfois appelées liste noire et liste blanche) les adresses IP en périphérie du réseau.
  • Contrôlez l'accès aux applications en utilisant Identity-Aware Proxy (IAP) pour valider l'identité de l'utilisateur et le contexte de la requête afin de déterminer si l'autorisation doit être accordée.

Google Cloud permet de sécuriser vos données en appliquant le chiffrement en transit et au repos. Les données au repos sont chiffrées par défaut à l'aide de clés de chiffrement gérées par Google. Pour les données sensibles, vous pouvez gérer vos clés dans Google Cloud. Si vous avez besoin d'un meilleur contrôle, vous pouvez fournir vos propres clés de chiffrement gérées en dehors de Google Cloud. La gestion ou la maintenance de vos propres clés entraînant un surcoût, nous vous recommandons d'utiliser cette approche uniquement pour les données réellement sensibles. Pour en savoir plus, consultez la section Chiffrement au repos.

Journalisation, surveillance et opérations

Centraliser la journalisation et la surveillance

Les entreprises exécutent généralement plusieurs applications, pipelines de données et autres processus, souvent sur des plates-formes différentes. Assurer l'état de ces applications et processus fait partie des responsabilités clés des développeurs et des équipes opérationnelles. Pour garantir l'état, nous vous recommandons d'utiliser Cloud Logging et Cloud Monitoring pour gérer la journalisation, la surveillance, le débogage, le traçage, le profilage, etc.

Les journaux constituent une source principale d'informations de diagnostic sur l'état des applications et des processus. Cloud Logging vous permet de stocker, d'afficher, de rechercher, d'analyser les données et les événements des journaux, et d'envoyer des alertes le cas échéant. Logging s'intègre de manière native à de nombreux services Google Cloud. Pour les applications hébergées sur des instances de machine virtuelle Compute Engine ou Amazon Elastic Compute Cloud (EC2), un agent de journalisation peut être installé pour transférer automatiquement les journaux vers Cloud Logging. Cloud Logging fournit également une API qui peut être utilisée pour écrire des journaux à partir de n'importe quelle source, y compris à partir d'applications exécutées sur site. Utilisez Logging pour centraliser les journaux de toutes vos applications.

Outre la consommation de journaux, vous devez généralement surveiller d'autres aspects des applications et des systèmes pour garantir un fonctionnement fiable. Utilisez Cloud Monitoring pour obtenir une visibilité sur les performances, la disponibilité et l'état général de vos applications et de votre infrastructure. Stackdriver Monitoring ingère des événements, des métriques et des métadonnées et génère des statistiques via des tableaux de bord, des graphiques et des alertes. Monitoring est compatible avec les métriques issues de nombreuses sources tierces et Google Cloud prêtes à l'emploi. Il permet également de définir des métriques personnalisées. Par exemple, vous pouvez utiliser des métriques pour définir des règles d'alerte de sorte que les équipes opérationnelles soient informées de tout comportement ou tendance inhabituels. Stackdriver Monitoring fournit également des tableaux de bord flexibles et des outils de visualisation complets pour vous aider à identifier les problèmes émergents.

Mettre en place un outil d'audit

Outre la capture des journaux au niveau des applications et des processus, vous devrez peut-être suivre et conserver les interactions des développeurs et des équipes informatiques avec les ressources Google Cloud. Utilisez les journaux d'audit Cloud pour répondre à des questions telles que : "Qui a fait quoi, où et quand ?", dans vos projets Google Cloud. Pour obtenir la liste des services Google Cloud qui génèrent des journaux d'audit, consultez la page Services Google avec journaux d'audit. Utilisez les contrôles IAM pour limiter les accès aux journaux d'audit.

Cloud Audit Logging capture plusieurs types d'activités. Les journaux de type Activité de l'administrateur contiennent des entrées relatives aux appels d'API et aux autres opérations d'administration qui modifient la configuration ou les métadonnées des ressources. Les journaux d'activité d'administration sont toujours activés. Les journaux d'audit de type Accès aux données enregistrent les appels d'API qui créent, modifient ou lisent des données fournies par l'utilisateur. Les journaux d'audit relatifs à l'accès aux données sont désactivés par défaut car leur taille peut être assez conséquente. Vous pouvez configurer les services Google Cloud qui génèrent des journaux d'accès aux données.

Pour des informations plus détaillées sur l'audit, consultez la page Journaux d'audit Cloud.

Exporter des journaux

La journalisation conserve les journaux d'applications et d'audit pendant une période limitée. Vous devrez peut-être conserver les journaux pendant une période plus longue pour respecter des obligations de conformité. Vous pouvez également conserver des journaux pour l'analyse historique.

Vous pouvez exporter les journaux vers Cloud Storage, BigQuery et Pub/Sub. Vous pouvez utiliser des filtres pour inclure ou exclure des ressources de l'exportation. Par exemple, vous pouvez exporter tous les journaux de Compute Engine à l'exception des journaux de Cloud Load Balancing dont le volume est important.

L'emplacement d'exportation des journaux dépend du cas d'utilisation. De nombreuses entreprises exportent vers plusieurs destinations. De manière générale, pour respecter les obligations de conformité, utilisez Cloud Storage pour le stockage à long terme. Si vous avez besoin d'analyser des journaux, utilisez BigQuery, car il est compatible avec les requêtes SQL et un vaste écosystème d'outils tiers.

Pour plus d'informations sur les exportations de journaux, consultez la section Modèles de conception pour l'exportation Stackdriver Logging.

Adopter DevOps et explorer l'ingénierie en fiabilité des sites (SRE)

Pour augmenter l'agilité et réduire le temps de production des applications et des fonctionnalités, vous devez lever le cloisonnement entre les équipes de développement, d'exploitation, de réseau et de sécurité. Cela nécessite des processus, une culture et des outils, regroupés sous l'appellation DevOps.

Google Cloud fournit une gamme de services pour vous aider à adopter les pratiques DevOps. Les fonctionnalités comprennent des dépôts de code source intégrés, des outils de livraison continue, des fonctionnalités de surveillance avancées via Cloud Monitoring et une compatibilité étendue avec les outils Open Source. Pour en savoir plus, consultez la page sur les solutions DevOps de Google Cloud.

L'ingénierie en fiabilité des sites (SRE) est un ensemble de pratiques étroitement liées à DevOps. Ces pratiques ont été élaborées par l'équipe SRE qui gère l'infrastructure de production de Google. Bien que la création d'une fonction SRE dédiée dépasse le cadre de nombreuses entreprises, nous vous recommandons d'étudier les manuels SRE pour en apprendre davantage sur les pratiques pouvant vous aider à élaborer votre stratégie d'exploitation.

Architecture cloud

Préparer la migration

La migration des applications et de l'infrastructure sur site vers le cloud nécessite une évaluation et une planification minutieuses. Vous devez évaluer les différentes stratégies de migration, de la migration Lift and Shift à la migration de type "transformer et déplacer", pour chaque application. Google Cloud fournit des outils permettant de migrer des machines virtuelles, de transférer des données et de moderniser les charges de travail. Pour en savoir plus, consultez le centre de migration.

En raison de contraintes réglementaires, techniques ou financières, il peut ne pas être possible ni même souhaitable de déplacer certaines applications vers le cloud public. Par conséquent, vous devrez peut-être distribuer et intégrer les charges de travail dans l'infrastructure sur site et Google Cloud. Cette configuration est appelée cloud hybride. Pour en savoir plus sur les charges de travail hybrides, consultez les pages Cloud hybride et Modèles et bonnes pratiques relatifs aux solutions hybrides et multicloud.

Favoriser les services gérés

Les principaux facteurs de l'adoption du cloud consistent en la réduction des coûts informatiques et l'amélioration de l'efficacité, ce qui vous permet de vous concentrer sur votre cœur de métier. Outre l'adoption des pratiques DevOps et une automatisation accrue, vous devez utiliser les services gérés de Google Cloud pour réduire les charges opérationnelles et le coût total de possession (TCO).

Plutôt que d'installer, d'assurer la maintenance et d'exploiter de manière indépendante chaque partie d'une pile d'applications, vous pouvez utiliser des services gérés pour consommer des parties de la pile d'applications en tant que services. Par exemple, plutôt que d'installer et de gérer automatiquement une base de données MySQL sur une instance de VM, vous pouvez utiliser une base de données MySQL fournie par Cloud SQL. Vous pouvez ensuite compter sur Google Cloud pour gérer l'infrastructure sous-jacente et automatiser les sauvegardes, les mises à jour et la réplication.

Nous vous recommandons d'évaluer le contrat de niveau de service fourni par chaque service géré.

Google Cloud propose des services gérés et des options sans serveur pour de nombreux composants applicatifs et cas d'utilisation courants, des bases de données gérées aux outils de traitement big data. Un grand nombre de ces services gérés sont compatibles avec les frameworks et plates-formes Open Source courants. Vous pouvez donc optimiser le coût total de possession en déplaçant les applications existantes qui exploitent ces plates-formes Open Source vers le cloud.

Concevoir pour la haute disponibilité

Pour vous aider à maintenir la disponibilité des applications stratégiques, concevez des applications résilientes qui gèrent efficacement les défaillances ou les modifications inattendues de la charge. La haute disponibilité est la capacité d'une application à rester réactive et à continuer à fonctionner malgré les défaillances des composants du système. Les architectures hautement disponibles impliquent généralement la distribution des ressources de calcul, l'équilibrage de charge et la réplication des données. L'étendue des dispositions en matière de haute disponibilité peut varier d'une application à l'autre. Pour plus d'informations sur cette méthode, consultez la documentation relative aux zones géographiques et régions.

Au minimum, vous devez répartir les ressources de calcul, telles que les instances de VM Compute Engine et les clusters GKE, entre les zones géographiques disponibles d'une région afin de vous protéger contre les défaillances d'une zone particulière. Pour améliorer davantage la disponibilité des ressources de calcul, vous pouvez également les répartir dans plusieurs régions éloignées géographiquement afin de pallier la défaillance d'une région entière. Pour savoir où créer les ressources de calcul, consultez la section Bonnes pratiques pour la sélection des régions Compute Engine.

Google Cloud propose plusieurs variantes d'équilibrage de charge. L'équilibreur de charge HTTP(S) est souvent utilisé pour exposer des applications Web. Cet équilibreur de charge fournit un équilibrage global permettant la répartition de la charge entre les régions dans différentes zones géographiques. Si une zone ou une région devient indisponible, l'équilibreur de charge dirige le trafic vers une zone disponible. Pour en savoir plus, consultez la section Optimiser la capacité des applications avec l'équilibrage de charge global.

Pensez également à la disponibilité lors du choix du stockage de données. Certains services de stockage de données Google Cloud offrent la possibilité de répliquer des données sur plusieurs zones d'une même région. D'autres services répliquent automatiquement les données sur plusieurs régions d'une même zone géographique, mais peuvent nécessiter un compromis sur la latence ou la cohérence. Le choix du service de stockage de données le plus approprié dépend de l'application et des exigences en matière de disponibilité.

Planifier la stratégie de reprise après sinistre

Outre la conception pour la haute disponibilité, vous devez créer un plan visant à maintenir la continuité des activités en cas de panne majeure ou de catastrophe naturelle. La reprise après sinistre (DR) est la capacité à récupérer après des incidents rares mais majeurs. Lorsque les dispositions relatives à la haute disponibilité sont inefficaces ou indisponibles, vous devrez peut-être lancer un processus de reprise après sinistre.

La création d'un plan de reprise après sinistre efficace nécessite une planification et des tests. Nous vous recommandons d'aborder les plans de reprise après sinistre au plus tôt. Pour en savoir plus, consultez le Guide de planification de reprise après sinistre et les articles associés.

Ressources

Facturation et gestion

Comprendre comment les ressources sont facturées

Google Cloud fonctionne sur un modèle de consommation. Vous êtes facturé en fonction de votre utilisation d'une ressource ou d'un produit au cours d'une période de paiement donnée. La consommation des produits est mesurée de différentes manières, par exemple :

  • En temps (nombre de secondes pendant lesquelles une machine a été exécutée)
  • En volume (quel volume de données est stocké)
  • En nombre d'opérations exécutées
  • En un mélange de ces concepts

Assurez-vous de bien comprendre le fonctionnement de la facturation pour les composants du système afin de pouvoir évaluer les coûts avec précision. Chaque produit fournit des informations détaillées concernant les prix dans sa documentation. De nombreux produits fournissent une version gratuite où toute consommation inférieure à un seuil donné n'engendre aucuns frais. Pour utiliser des ressources au-delà de ce qui est offert par la version gratuite, vous devez activer la facturation.

Pour en savoir plus sur les philosophies de tarification, les innovations et les remises Google Cloud, consultez la page Tarifs.

Mettre en place des contrôles de facturation

Toutes les ressources Google Cloud, y compris les VM Compute Engine, les buckets Cloud Storage et les ensembles de données BigQuery, doivent être associées à un projet Google Cloud. Pour utiliser des ressources au-delà de ce qui est offert par la version gratuite, un projet doit être associé à un compte de facturation. Il existe une relation de un à plusieurs entre les comptes de facturation et les projets : un projet peut être associé à un seul compte de facturation, mais un compte de facturation peut être associé à plusieurs projets.

Utilisez un compte de facturation pour définir qui paie les ressources d'un ensemble de projets. Le compte comprend un mode de paiement, comme une carte de crédit, sur lequel les coûts sont facturés. Les comptes de facturation peuvent être définis au niveau de l'organisation, où vous liez des projets se trouvant sous le nœud "Organisation" aux comptes de facturation. Votre organisation peut disposer de plusieurs comptes de facturation correspondant à différents centres de coûts ou services.

IAM fournit un ensemble de contrôles fiables permettant de limiter la manière dont les différents utilisateurs peuvent administrer la facturation et interagir avec cet élément. Ces contrôles vous aident à appliquer le principe du moindre privilège et à séparer clairement les rôles. Par exemple, vous pouvez séparer les autorisations nécessaires à la création de comptes de facturation de celles permettant de lier des projets à un compte de facturation particulier.

Pour obtenir des informations détaillées sur les concepts et la configuration de la facturation, consultez la Checklist pour l'intégration de la facturation.

Analyser et exporter la facture

Les utilisateurs disposant des autorisations appropriées peuvent consulter la ventilation détaillée des coûts, l'historique des transactions et plus encore dans Cloud Console. Les informations sont affichées par compte de facturation. La console contient également des rapports de facturation interactifs qui vous permettent de filtrer et de ventiler les coûts par projet, par produit et par plage horaire. La fonctionnalité Cloud Console est souvent suffisante pour les clients dont les configurations Google Cloud sont moins complexes.

Toutefois, vous avez généralement besoin d'analyses et de rapports personnalisés sur les dépenses en termes de cloud. Pour répondre à cette exigence, activez l'exportation quotidienne des frais de facturation. Vous pouvez configurer les exportations de fichiers pour exporter des fichiers CSV ou JSON vers un bucket Cloud Storage. Vous pouvez également configurer des exportations vers un ensemble de données BigQuery. Les exportations incluront toutes les étiquettes qui ont été appliquées aux ressources.

Nous vous recommandons d'activer les exportations BigQuery. Celles-ci fournissent une ventilation plus fine des coûts par rapport à l'exportation de fichiers. Une fois que les données de facturation sont dans BigQuery, les équipes financières peuvent les analyser à l'aide du langage SQL standard et utiliser des outils qui s'intègrent à BigQuery.

Planifier les exigences en termes de capacité

Les projets Google Cloud comportent des quotas qui limitent la consommation d'une ressource ou d'une API spécifique. Des quotas sont en place pour protéger l'ensemble de la communauté Google Cloud en empêchant des pics d'utilisation imprévus. Par exemple, les quotas permettent de garantir qu'un petit nombre de clients ou de projets ne vont pas monopoliser l'utilisation des cœurs de processeur dans une région ou une zone donnée.

Planifiez à l'avance les besoins en termes de capacité des projets afin d'éviter toute limitation inattendue de la consommation de ressources. Si les quotas ne sont pas suffisants, vous pouvez demander des modifications dans la section Quotas de Cloud Console. Si vous avez besoin d'une grande capacité, contactez votre équipe commerciale Google Cloud.

Mettre en œuvre des contrôles de coûts

À mesure que les services cloud se développent, leurs coûts augmentent également. Google Cloud propose plusieurs méthodes pour limiter la consommation de ressources et pour informer les parties intéressées des événements de facturation pertinents.

Vous pouvez définir des budgets qui génèrent des alertes lorsque les dépenses atteignent certains seuils. Les alertes prennent la forme d'e-mails et peuvent éventuellement générer des messages Pub/Sub pour les notifications automatisées. Vous pouvez appliquer le budget à l'intégralité du compte de facturation ou à un projet particulier lié au compte de facturation. Par exemple, vous pouvez créer un budget pour générer des alertes lorsque le total des dépenses mensuelles pour un compte de facturation atteint 50, 80 et 100 % du montant du budget spécifié. Notez que les budgets ne limitent pas les dépenses, ils servent uniquement à générer des alertes. Pour en savoir plus, consultez la documentation relative aux alertes budgétaires. Pour en savoir plus sur les bonnes pratiques, les décisions relatives à la conception et les options de configuration vous permettant de simplifier la gestion des coûts, consultez la section Checklist sur l'intégration de Cloud Billing.

Vous pouvez également utiliser des quotas pour limiter la consommation d'une ressource particulière. Par exemple, vous pouvez définir un quota maximal "d'utilisation des requêtes par jour" pour l'API BigQuery pour vous assurer qu'un projet ne consomme pas trop de ressources BigQuery.

Acheter une formule d'assistance

Google Cloud propose diverses solutions pour obtenir de l'aide en cas de problème, qu'il s'agisse de forums communautaires ou de formules d'assistance payantes. Pour protéger les charges de travail critiques de votre entreprise, nous vous recommandons d'acheter une formule d'assistance Enterprise. Pour plus d'informations, accédez au portail d'assistance de Google Cloud.

Selon le niveau d'assistance auquel vous souscrivez, il est possible que seules certaines personnes soient autorisées à émettre des demandes d'assistance. Nous vous recommandons donc de créer un centre d'échange d'informations d'assistance ou un centre de tri interne. Cette approche permet d'éviter la duplication de tickets et les problèmes de communication, tout en maintenant la communication avec l'assistance Google Cloud aussi claire que possible.

Obtenir de l'aide des experts

L'équipe Professional Services Organization (PSO) de Google Cloud propose des services de conseil pour vous aider à naviguer avec Google Cloud. Contactez les consultants PSO, qui peuvent apporter leur expertise approfondie pour former l'équipe aux bonnes pratiques et aux principes à suivre pour garantir une mise en œuvre réussie. Les services sont fournis sous la forme de packages pour vous aider à planifier, déployer, exécuter et optimiser les charges de travail.

Google Cloud dispose également d'un solide écosystème de partenaires Google Cloud, allant des intégrateurs de systèmes mondiaux de grande taille à des partenaires spécialisés dans un domaine particulier comme le machine learning. Les partenaires ont démontré le succès de leurs clients dans leur utilisation de Google Cloud, et peuvent accélérer les projets et améliorer les résultats commerciaux. Nous recommandons aux entreprises de faire appel à des partenaires pour planifier et exécuter leur mise en œuvre Google Cloud.

Construire des centres d'excellence

Google continue d'investir dans ces produits, et de nouvelles fonctionnalités sont constamment déployées. Il peut être utile d'enregistrer les informations, l'expérience et les modèles de votre organisation dans une base de connaissances interne, telle qu'un wiki, un site Google ou un site intranet.

De même, il est recommandé de désigner des experts Google Cloud au sein de votre organisation. Une gamme d'options de formation et de certification est disponible pour aider les experts nommés à aller plus loin dans leur domaine de compétence. Les équipes peuvent rester informées des dernières actualités, des annonces et des témoignages clients en s'abonnant au blog Google Cloud.

Étapes suivantes