Google Cloud pour les professionnels des centres de données : gestion

Cet article décrit les offres de gestion et d'opérations de Google Cloud, et les compare avec les technologies traditionnelles des centres de données. L'article se concentre sur les types de services suivants :

  • Gestion de l'authentification et des accès
  • Journalisation (y compris la journalisation d'audit)
  • Surveillance
  • Provisionnement de ressources

Gestion de l'authentification et des accès

Lorsque vous déplacez vos charges de travail vers Google Cloud, vous pouvez continuer à gérer vos utilisateurs finaux à l'aide des services et outils courants de gestion des utilisateurs tels que LDAP, Active Directory ou le service d'administration de Google Workspace. Cependant, la façon dont vous gérez les accès aux ressources en réseau diffère légèrement de ce à quoi vous êtes peut-être habitué.

Sur Google Cloud, vous configurez les accès à vos ressources virtuelles à l'aide d'Identity and Access Management (IAM). IAM ne gère pas directement les identités. Au lieu de cela, il vous permet d'attribuer des rôles, qui sont des collections d'autorisations d'accès définies par l'utilisateur, à plusieurs types d'identité Google. Cloud Platform accepte les types d'identité suivants :

Vous pouvez également attribuer des rôles à des types d'identité autres que Google. Pour ce faire, vous devez lier le type autre que Google à un type d'identité Google, puis affecter le rôle au type d'identité Google. Consultez la page Bonnes pratiques pour les entreprises pour plus d'informations.

Comptes de service

Lorsque vous exécutez une application dans un centre de données traditionnel, vous créez généralement une identité distincte que l'application utilise lors de son exécution. L'application effectue ensuite des opérations nécessitant une authentification, telles que des appels d'API, sous cette identité.

Vous pouvez utiliser le même modèle sur Google Cloud à l'aide des comptes de service. Il s'agit de comptes spéciaux qui appartiennent à votre application ou à une instance de machine virtuelle (VM) Compute Engine, plutôt qu'à un utilisateur final individuel. Ils permettent à votre application d'appeler les API des services Google. Vous pouvez créer des comptes de service personnalisés pour votre projet Google Cloud à l'aide de Google Cloud Console, de l'API IAM ou du SDK Cloud.

Pour plus d'informations sur les comptes de service, consultez la page Comptes de service.

Google Groupes

Google Groupes vous permet d'appliquer un rôle à un ensemble d'utilisateurs. Pour cela, il vous suffit de créer un groupe Google, d'y ajouter des comptes Google ou des comptes de service, puis d'appliquer le rôle IAM au groupe.

Pour plus d'informations sur les Google Groupes, consultez le centre d'aide Google Groupes.

Logging

Sur Google Cloud, la journalisation est presque identique à la journalisation dans un environnement de centre de données classique. Pour collecter les journaux, vous devez installer un agent Logging sur chaque machine virtuelle. L'agent Logging enregistre des informations relatives à la machine et à ses applications, puis envoie les journaux vers un emplacement centralisé où ils seront indexés. Une fois les journaux agrégés et indexés, ils peuvent être traités, analysés ou visualisés.

Google Cloud offre une suite intégrée de services performants axés sur la journalisation. Dans la pile Google Cloud, Cloud Logging sert de service centralisé de collecte et d'indexation en agrégeant les journaux des instances de VM Compute Engine et des autres ressources Google Cloud. Vous pouvez rechercher et filtrer les journaux dans la visionneuse intégrée à Cloud Console, ou les diffuser sur d'autres points de terminaison Google Cloud tels que Cloud Storage, BigQuery et Pub/Sub pour un traitement et une analyse plus poussés.

Collecter des journaux

Pour collecter les journaux d'instances de VM Compute Engine, vous devez installer l'agent Cloud Logging sur chaque instance. Les agents commencent alors à envoyer automatiquement leurs données de journalisation à Cloud Logging.

Si vous souhaitez conserver une architecture hybride, dans laquelle certaines ressources résident sur Google Cloud et d'autres ailleurs, vous pouvez tout de même profiter des services de journalisation de Google Cloud. Par exemple, la page des plug-ins de la communauté Fluentd répertorie un ensemble de plug-ins permettant de diffuser des journaux agrégés vers l'API Cloud Logging, BigQuery, Cloud Storage et Pub/Sub. De même, la page des plug-ins de sortie Logstash répertorie des plug-ins permettant de diffuser des journaux en streaming vers BigQuery et Cloud Storage.

Vous pouvez également utiliser Cloud Logging si votre architecture hybride inclut des machines virtuelles sur d'autres clouds. L'agent Cloud Logging peut notamment être installé directement sur les instances Amazon EC2.

Indexer et stocker des journaux

Lorsque Cloud Logging collecte les journaux d'instances Compute Engine, il les stocke et les indexe. Cloud Logging conserve les journaux pendant 30 jours. Pour stocker des journaux en vue d'un traitement, d'une analyse ou d'un audit ultérieurs, vous pouvez configurer Cloud Logging de sorte qu'il exporte automatiquement les journaux vers d'autres services Google Cloud, par exemple :

  • Cloud Storage, le service de stockage d'objets distribué de Google Cloud. Cloud Storage est un service de stockage mondial à disponibilité et redondance élevées. Google Cloud propose également des classes de stockage à long terme supplémentaires pour optimiser les coûts des données rarement consultées. Pour plus de détails, consultez l'article Cloud Storage.
  • BigQuery, le service d'entreposage de données de Google Cloud. BigQuery est une base de données entièrement gérée de type "append only" (c'est-à-dire qui n'accepte que les ajouts de données, pas les écrasements ni les suppressions), capable d'effectuer des requêtes complexes sur des milliards de lignes de données en quelques secondes.
  • Pub/Sub, le service de messagerie de Google Cloud basé sur le modèle éditeur/abonné. Vous pouvez utiliser Pub/Sub pour diffuser vos journaux vers des services tiers ou vos propres points de terminaison personnalisés.

Analyser et traiter des journaux

Dans les centres de données traditionnels, les tâches intensives d'analyse et de traitement se disputent les ressources avec d'autres tâches, et sont soumises aux mêmes contraintes en termes d'investissement initial en capital et de capacité. Sur Cloud Platform, ces problèmes disparaissent. Vous provisionnez et payez ce dont vous avez besoin quand vous en avez besoin, sans avoir à réserver du temps, des cœurs ou des ressources de stockage.

Sur Google Cloud, l'analyse et le traitement des journaux sont conçus pour être flexibles. Vous pouvez utiliser les outils d'analyse et de traitement des journaux de la pile Google Cloud, à savoir :

  • La visionneuse de journaux Cloud Logging
  • BigQuery
  • Dataproc
  • Dataflow

Si vous préférez utiliser vos outils d'analyse et de traitement actuels, vous pouvez les configurer sur des instances de VM Compute Engine. Vous pouvez également intégrer la pile Cloud Logging à vos pipelines d'analyse et de traitement actuels.

Analyser des journaux avec la visionneuse de journaux Cloud Logging et BigQuery

Cloud Console fournit une visionneuse de journaux Cloud Logging intégrée qui vous permet de rechercher et de filtrer des données journalisées. Pour une analyse à grande échelle sur un ensemble de données volumineux, vous pouvez diffuser ou exporter vos journaux dans BigQuery. Contrairement à une tâche MapReduce lourde, qui peut prendre plusieurs minutes voire plusieurs heures, BigQuery est capable d'effectuer des requêtes sur des téraoctets de journaux en quelques dizaines de secondes dans certains cas. Ceci vous permet entre autres d'identifier rapidement les anomalies des applications, d'effectuer une analyse des journaux d'audit, et de lancer une analyse de tendances sur les journaux.

Traiter des journaux avec Dataproc et Dataflow

Si vous devez traiter vos journaux avant de les analyser, vous pouvez les exporter vers Pub/Sub ou Cloud Storage, puis vous servir de Dataproc ou Dataflow pour les traiter. Après avoir traité les journaux avec Dataproc ou Dataflow, vous pouvez envoyer les résultats à BigQuery pour procéder à une analyse interactive ou par lot.

Dataproc est le service géré Apache Hadoop et Apache Spark de Google Cloud. Si vous utilisez déjà Hadoop et Spark, vous pouvez réutiliser vos tâches existantes sur Dataproc sans avoir besoin d'acquérir des ressources matérielles au préalable. Étant donné que vous pouvez stocker les journaux d'origine et les journaux traités dans Cloud Storage, vous pouvez également arrêter votre cluster Dataproc lorsqu'il n'est pas utilisé. Les clusters Dataproc vous facturent seulement les ressources de processeur virtuel utilisées et leur durée d'utilisation.

Vous pouvez également utiliser Dataflow, un service entièrement géré de traitement par flux et par lot. Basé sur Apache Beam, Dataflow est une véritable solution sans serveur. Dataflow provisionne et alloue les ressources de manière dynamique et à la demande, ce qui permet de réduire la latence tout en maintenant une haute productivité. Pour plus d'informations sur les manières d'intégrer Dataflow à votre pipeline de traitement des journaux, consultez la page Traiter des journaux à grande échelle avec Dataflow.

Visualiser des journaux

Google propose deux services gérés vous permettant de visualiser les données de journaux :

  • Datalab, qui est basé sur le modèle de notebook Jupyter, vous permet d'interroger et de visualiser des données stockées dans BigQuery et Cloud Storage. En prime, comme Datalab repose sur les notebooks Jupyter, vous bénéficiez d'un vaste écosystème existant pour vous aider à démarrer.
  • Google Data Studio 360 s'appuie sur BigQuery et permet la création de rapports faciles à personnaliser et à partager.

En outre, plusieurs services de visualisation partenaires de Google Cloud fournissent des connecteurs natifs à BigQuery, tels que Tableau, BIME et re:dash. Consultez la page Partenaires BigQuery pour plus d'informations.

Enfin, pour une personnalisation maximale, vous pouvez créer un tableau de bord sur BigQuery à l'aide de l'API BigQuery et de la bibliothèque de graphiques JavaScript de votre choix. Consultez la page Créer un tableau de bord BigQuery pour plus de détails.

Coûts

Cloud Logging se décline en deux niveaux de service : un niveau de base, gratuit jusqu'à 5 Go par mois, et un niveau Premium. Le niveau Premium est facturé par ressource surveillée et par mois, au prorata des heures.

Si vous exportez des journaux vers Cloud Storage, BigQuery ou Pub/Sub, des frais vous seront également facturés pour l'utilisation de ces services. Si vous exportez des journaux vers BigQuery, des frais minimes de streaming de données vous seront également facturés. Pour plus d'informations, consultez la page Tarifs de BigQuery.

Audits

Google Cloud propose une journalisation d'audit intégrée, et facilite l'intégration de vos solutions actuelles de journalisation d'audit. Pour en savoir plus sur les services qui génèrent actuellement des journaux d'audit, consultez la page Journaux d'audit Cloud.

Journaliser des instances de VM

Si vous utilisez des solutions standards de journalisation d'audit natives à l'OS, telles que syslog sous Linux ou Windows Event Log sous Windows, vous pouvez les configurer en créant une instance de VM Linux ou Windows sur Compute Engine. Vous pouvez également déployer les solutions tierces de votre choix sur des instances Compute Engine.

Journaliser des ressources Google Cloud

Google Cloud fournit également des ressources intégrées pour la journalisation d'audit. Google Cloud propose deux types de journaux d'audit :

  • Les journaux d'audit des activités d'administration, qui contiennent une entrée pour chaque appel d'API ou toute autre opération d'administration modifiant la configuration ou les métadonnées d'un service ou d'un projet. Ce type de journal est toujours activé.
  • Les journaux d'audit d'accès aux données, qui contiennent une entrée pour chaque occurrence des événements suivants :

    • Un appel d'API ou une opération d'administration qui lit la configuration ou les métadonnées d'un service ou d'un projet.
    • Un appel d'API ou une opération d'administration qui crée, modifie ou lit des données fournies par l'utilisateur et gérées par un service, telles que des données stockées dans un service de base de données.

Dans la plupart des services Google Cloud, les journaux d'audit d'accès aux données ne sont pas activés par défaut. Leur volume peut en effet être beaucoup plus important que celui des journaux des activités d'administration. Les journaux d'accès aux données sont par ailleurs plus limités que les journaux d'activité d'administration. Par défaut, seuls les propriétaires de projet et les utilisateurs ayant un rôle Lecteur des journaux privés peuvent accéder aux journaux d'accès aux données. Les journaux d'activité d'administration sont visibles par tous les membres du projet.

Cloud Logging vous permet de gérer les accès à vos journaux d'audit via IAM, la couche de gestion de l'authentification et des accès de Google Cloud. Pour plus d'informations, consultez la section Gérer l'authentification et les accès.

À l'instar des autres journaux Cloud Logging, les journaux d'audit sont conservés par défaut pendant 30 jours. Vous pouvez exporter vos journaux d'audit vers BigQuery, Cloud Storage et Pub/Sub si vous souhaitez les conserver plus longtemps.

Intégrer des services tiers

Plusieurs solutions de journalisation tierces, telles que Splunk, proposent des modules complémentaires qui s'intègrent au service de journalisation d'audit de Google Cloud.

Surveillance

Tout comme la journalisation, la surveillance dans un environnement de cloud utilise un modèle commun aux environnements de centre de données. Vous devez installer un agent de surveillance sur les machines virtuelles que vous souhaitez surveiller. Cet agent de surveillance envoie ensuite des métriques vers un emplacement centralisé. Vous pouvez également définir des configurations d'alerte et créer des tableaux de bord pour visualiser les métriques en temps réel.

Cloud Monitoring est un framework de surveillance complet pour la surveillance de tâches dans Google Cloud. De même que pour la journalisation, vous pouvez utiliser vos outils et services de surveillance actuels tels que Splunk, DataDog, la pile Elastic/ELK, Sensu ou Nagios.

Collection de métriques

Pour collecter des métriques d'instances de VM Compute Engine, vous devez installer l'agent Cloud Monitoring sur chaque instance. Les agents envoient ensuite automatiquement les métriques à Cloud Monitoring.

Par défaut, Cloud Monitoring surveille les ressources de la machine pour chaque instance, telles que la charge du processeur et les E/S réseau. Toutefois, si vous effectuez quelques configurations supplémentaires, Cloud Monitoring peut également surveiller un certain nombre d'applications tierces courantes, y compris Apache Web Server, MongoDB, NGINX, Redis et Varnish. Consultez la page Surveiller des applications tierces pour plus d'informations.

Outre la collecte de métriques d'instances de VM Compute Engine, Cloud Monitoring assure la collecte automatique des métriques de plusieurs autres services Google Cloud. L'agent Cloud Monitoring peut également être installé directement sur les instances Amazon EC2, et vous pouvez configurer Cloud Monitoring pour collecter les métriques de nombreux services Amazon Web Services (AWS). Pour obtenir la liste complète des métriques disponibles dans Cloud Monitoring, consultez la page Liste des métriques.

Vous pouvez également créer des métriques personnalisées, puis mettre en œuvre vos applications pour les envoyer à Cloud Monitoring via l'API Monitoring.

Cloud Monitoring conserve les métriques pendant six semaines.

Alertes

Cloud Monitoring peut être configuré pour envoyer des alertes à plusieurs points de terminaison. Par défaut, les points de terminaison compatibles avec les alertes sont :

Si vous souhaitez cibler un point de terminaison non compatible de manière native avec Cloud Monitoring, vous pouvez également configurer un webhook. Consultez la page Configurer des Webhooks pour plus d'informations.

Visualisation

Comme la plupart des frameworks de surveillance, Cloud Monitoring propose une interface utilisateur sous forme de tableau de bord personnalisable vous permettant de visualiser les événements de manière utile et pratique. Vous pouvez créer des graphiques qui affichent des métriques spécifiques pour un type de ressource particulier, des métriques agrégées, des métriques associées à un ID de ressource donné, etc. En outre, vous pouvez afficher les journaux d'événements indexés et les listes d'incidents.

Cloud Console propose également des visualisations par service pour des métriques courantes telles que la capacité de processeur, l'espace disque utilisé et le trafic réseau. Comme avec Cloud Logging, vous pouvez également utiliser Datalab pour visualiser et manipuler les données de métriques.

Coûts

Cloud Monitoring se décline en deux niveaux de service : un niveau de base, gratuit jusqu'à 5 Go par mois, et un niveau Premium. Le niveau Premium est facturé par ressource surveillée et par mois, au prorata des heures.

Provisionnement de ressources

Cette section décrit les différentes manières de provisionner des ressources virtuelles sur Google Cloud, ainsi que le rôle de la gestion des versions dans le processus de provisionnement.

Provisionnement d'instances de VM

Compute Engine inclut des fonctionnalités intégrées qui simplifient le provisionnement des instances. Vous pouvez créer des profils de machine appelés modèles d'instance, puis les affecter à des groupes d'instances pour créer des dizaines ou des centaines d'instances identiques, selon vos besoins.

Vous pouvez automatiquement adapter le nombre d'instances de VM au sein de ces groupes à l'aide de l'autoscaler intégré de Compute Engine. Pour utiliser l'autoscaler, vous devez définir le nombre minimal et maximal d'instances que vous souhaitez exécuter à un moment donné, puis définir les métriques sur lesquelles l'autoscaler doit se baser pour créer ou détruire des instances. Vous pouvez configurer l'autoscaler pour qu'il procède au scaling en fonction de l'utilisation du processeur, de la capacité de l'équilibreur de charge, ou de métriques personnalisées. Pour plus d'informations, consultez la page Autoscaling des groupes d'instances.

Provisionnement de ressources

Vous pouvez automatiser le déploiement de toutes vos ressources Google Cloud avec Cloud Deployment Manager. Comme avec d'autres outils de gestion de la configuration tels que Puppet et Chef, vous devez spécifier des ressources dans un modèle de déploiement, puis Cloud Deployment Manager utilise ce modèle pour instancier et gérer ces ressources. Vous pouvez spécifier un modèle de déploiement dans plusieurs formats, par exemple YAML, Python et Jinja2.

Cloud Deployment Manager est également compatible avec les outils que vous utilisez actuellement pour automatiser vos configurations de machine, tels que Chef, Puppet, Ansible ou Terraform. Pour un exemple de configuration avec Puppet, consultez l'article de blog Automatiser la gestion des configurations avec Cloud Deployment Manager et Puppet.

Contrôle de version et dépôts sources

Si vous préférez utiliser vos solutions actuelles de contrôle des versions, cela est possible sur Google Cloud. Pour ce faire, vous pouvez les héberger et les exécuter sur Google Cloud, ou vous pouvez vous connecter à un service hébergé ou géré en externe tel que GitHub ou Bitbucket.

Pour les utilisateurs qui connaissent bien Git, Google propose également Cloud Source Repositories, qui fournit des dépôts Git privés et complets hébergés sur Google Cloud. Les dépôts Cloud Source Repositories peuvent être ajoutés à un dépôt Git local en tant que dépôts distants ou hébergés sur GitHub ou Bitbucket. Vous pouvez également utiliser l'éditeur de source inclus dans Cloud Source Repositories pour parcourir, afficher, modifier et faire un commit des modifications apportées au dépôt depuis la console GCP.

Coûts

L'utilisation de Cloud Deployment Manager est gratuite, mais les ressources payantes que vous déployez à l'aide de ce service entraînent des frais.

En phase bêta, Cloud Source Repositories est disponible gratuitement.

Étape suivante

Consultez les autres articles "Google Cloud pour les professionnels des centres de données" :