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

Cet article décrit les offres de gestion et d'opérations de Google Cloud Platform, et les compare avec les technologies des centres de données traditionnels. 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)
  • Monitoring
  • Provisionnement de ressources

Gestion de l'authentification et des accès

Lorsque vous déplacez vos charges de travail vers Cloud Platform, 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 G Suite. Cependant, la façon dont vous gérez l'accès aux ressources en réseau diffère légèrement de ce à quoi vous êtes peut-être habitué.

Sur Cloud Platform, vous configurez l'accès à vos ressources virtuelles à l'aide de l'outil 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 Cloud Platform grâce aux comptes de service. Les comptes de service sont des comptes spéciaux qui appartiennent à votre application ou à une instance de machine virtuelle (VM) Google 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 dans votre projet Cloud Platform à 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

La journalisation sur Cloud Platform est presque identique à la journalisation au sein d'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.

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

Collecter des journaux

Pour collecter les journaux à partir d'instances de VM Compute Engine, vous devez installer l'agent Stackdriver Logging sur chaque instance. Les agents envoient alors automatiquement des entrées de journal à Stackdriver.

Si vous souhaitez conserver une architecture hybride, dans laquelle certaines ressources résident sur Cloud Platform et d'autres ailleurs, vous pouvez tout de même tirer parti des services de journalisation de Cloud Platform. 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 Stackdriver Logging, BigQuery, Cloud Storage et Cloud 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 Stackdriver Logging si l'architecture hybride inclut des machines virtuelles sur d'autres clouds. L'agent Stackdriver Logging peut notamment être installé directement sur les instances Amazon EC2.

Indexer et stocker des journaux

Lorsque Stackdriver Logging collecte des journaux sur des instances Compute Engine, il les stocke et les indexe. Stackdriver 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 Stackdriver Logging pour qu'il exporte automatiquement les journaux vers d'autres services Cloud Platform, par exemple :

  • Cloud Storage, le service de stockage d'objets distribué de Cloud Platform. Cloud Storage est un service de stockage mondial à disponibilité et redondance élevées. Cloud Platform fournit également des classes supplémentaires de stockage à long terme pour optimiser les coûts des données rarement consultées. Pour plus de détails, consultez l'article dédié au stockage.
  • BigQuery, le service d'entreposage de données de Cloud Platform. 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.
  • Cloud Pub/Sub, le service de messagerie de Cloud Platform basé sur le modèle éditeur/abonné. Vous pouvez utiliser Cloud Pub/Sub pour diffuser des journaux vers des services tiers ou vers 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 Cloud Platform, l'analyse et le traitement des journaux sont flexibles. Vous pouvez utiliser les outils d'analyse et de traitement des journaux de la pile Cloud Platform, à savoir :

  • La visionneuse de journaux Stackdriver
  • BigQuery
  • Google Cloud Dataproc
  • Google Cloud 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 de journalisation Cloud Platform dans vos pipelines d'analyse et de traitement actuels.

Analyser des journaux avec la visionneuse de journaux Stackdriver et BigQuery

Cloud Console fournit une visionneuse de journaux Stackdriver intégrée que vous pouvez utiliser pour rechercher et filtrer vos 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 Cloud Dataproc et Cloud Dataflow

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

Cloud Dataproc est le service géré Apache Hadoop et Apache Spark de Cloud Platform. Si vous utilisez déjà Hadoop et Spark, vous pouvez réutiliser vos tâches existantes sur Cloud 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 Cloud Dataproc lorsqu'il n'est pas utilisé. Les clusters Cloud Dataproc vous facturent seulement les ressources de processeur utilisées et leur durée d'utilisation.

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

Visualiser des journaux

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

  • Cloud Datalab, créé 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 Cloud 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 Cloud Platform fournissent des connecteurs natifs vers 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

Stackdriver 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. Pour plus d'informations, consultez l'article de blog Annonce des tarifs Google Stackdriver.

Si vous exportez des journaux vers Cloud Storage, BigQuery ou Cloud 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

Cloud Platform 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 Cloud Audit Logging.

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 Cloud Platform

Cloud Platform intègre également des ressources de journalisation d'audit. Il existe deux types de journalisation d'audit sur Cloud Platform :

  • 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 Cloud Platform, 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 d'activité 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.

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

Comme c'est le cas pour les autres journaux Stackdriver Logging, les journaux d'audit sont conservés pour une durée de 30 jours par défaut. Vous pouvez exporter des journaux d'audit vers BigQuery, Cloud Storage et Cloud 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 Cloud Platform.

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.

Stackdriver Monitoring est une infrastructure de surveillance complète pour la surveillance de tâches dans Cloud Platform. 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.

Collecte de métriques

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

Par défaut, Stackdriver Monitoring surveille les ressources de la machine pour chaque instance, telles que la charge du processeur et les E/S réseau. Toutefois, en procédant à quelques configurations supplémentaires, Stackdriver 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 à partir d'instances de VM Compute Engine, Stackdriver Monitoring assure la collecte automatique des métriques de plusieurs autres services Cloud Platform. L'agent Stackdriver Monitoring peut également être installé directement sur les instances Amazon EC2, et vous pouvez configurer Stackdriver Monitoring pour collecter les métriques de nombreux services Amazon Web Services (AWS). Pour obtenir la liste complète des métriques disponibles dans Stackdriver Monitoring, consultez la liste des métriques.

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

Stackdriver Monitoring conserve les métriques pendant six semaines.

Alertes

Stackdriver 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 Stackdriver 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, Stackdriver 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 Stackdriver Logging, vous pouvez également utiliser Cloud Datalab pour visualiser et manipuler les données de métriques.

Coûts

Stackdriver 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. Pour plus d'informations, consultez l'article de blog Annonce des tarifs Google Stackdriver.

Provisionnement de ressources

Cette section décrit les différentes manières de provisionner des ressources virtuelles sur Cloud Platform, 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 Cloud Platform avec Google 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 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.

Deployment Manager est 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 de contrôle de version actuelles, vous pouvez le faire sur Cloud Platform. Vous devez alors les héberger et les exécuter sur Cloud Platform, ou vous pouvez vous connecter à un service hébergé ou géré en externe tel que GitHub ou Bitbucket.

Pour les utilisateurs familiarisés avec Git, Google propose également Google Cloud Source Repositories, qui fournit des dépôts Git privés et complets hébergés sur Cloud Platform. 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 Deployment Manager est gratuite, mais les ressources payantes que vous déployez à l'aide de ce service entraînent des frais.

Cloud Source Repositories est gratuit pendant la durée de sa version bêta.

Étape suivante

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