Il est intéressant de voir à quel point Anthos peut améliorer le processus de migration dans le cloud. Après la participation à un projet qui se débattait entre processus de migration et de supervision dans le cloud, j’ai découvert comment Anthos pouvait faciliter certaines étapes contraignantes en automatisant certains processus : de l’écriture de la configuration à la supervision de toute l’infrastructure technique et applicative.
Anthos est une plateforme hybride et multi-cloud qui fournit un modèle unifié pour la programmation, la mise en réseau et même la gestion des services dans les clouds et les centres de données. Lancé en 2019 par Google Cloud Platform, elle est construite sur un ensemble cohérent d’API basés sur des technologies open-source comme Kubernetes, Istio qui conduisent les développeurs et les opérateurs à construire une méthodologie unique qui s’applique aux fournisseurs de services sur le cloud tel que Google Cloud Platform ou d’autres fournisseurs mais aussi on-premise. Anthos bénéficie de l’ensemble des services de Kubernetes, l’idée principale étant de donner au client un moyen gérer la charge de travail (workloads) de Kubernetes, dans le cloud de Google et, éventuellement, dans d’autres grands clouds publics, notamment Amazon Web Services AWS et Microsoft Azure.
Quels défis pour les entreprises ?
Aujourd’hui, l’un des défis du marché électronique consiste à être connecté en permanence avec le client et de pouvoir lui proposer un produit ou un service adapté à ses besoins et au bon moment. Si nous prenons l’exemple de plateformes comme Ebay, il est impressionnant de voir le niveau de leurs processus de ventes. Les entreprises doivent trouver le meilleur emplacement, afin de fournir le produit le plus rapidement possible en faisant face à une concurrence toujours plus forte.
Mais qu’est-ce que tout cela exige de la part des systèmes informatique ?
Cela exige un besoin d’infrastructures d’une part mais aussi de de systèmes d’autre part, depuis leurs applications mobiles jusqu’aux systèmes d’inventaire de back-office en passant par leurs systèmes de points de vente, qui doivent être rapides, sûrs et intelligents; ce qui n’est plus propre aux entreprises du retail mais qui s’applique aujourd’hui à tous les secteurs. Pourtant, encore beaucoup d’entreprises ne sont pas pas en mesure de prendre ce risque et ce, pour de nombreuses raisons : la confiance dans le cloud dans le type d’infrastructures on-prem à choisir …
Il existe beaucoup de systèmes hérités dans les entreprises, qui ne peuvent pas être remis en cause ou modifiés en un jour, il faut du temps pour moderniser un environnement. Les systèmes Monolithiques ne sont plus adaptés aux défis futurs des entreprises, et certaines ont fait le choix soit de migrer leurs solutions surannées vers des solution de Microservices, (en supposant que leurs équipes acquièrent suffisamment d’expérience avec le temps), soit de basculer vers une solution plus simple qui ne nécessite pas de formation particulière. Aujourd’hui, la plupart de ces défis sont déjà en partie résolus avec des technologies comme Kubernetes*, mais les entreprises ont encore du mal à relever les défis des environnements On-Prem, du cross-cloud et des monolithes.
La solution du cloud hybride
Selon un article de Gartner, “Le cloud hybride offre les avantages de l’optimisation des coûts, de l’agilité, de la flexibilité, de l’extensibilité et de l’élasticité du cloud public, en conjonction avec le contrôle, la conformité, la sécurité et la fiabilité du cloud privé”. Ainsi, en 2019, le cloud hybride devient une norme pour de nombreuses entreprises, ce qui pourrait étendre le déploiement de leurs applications en services de cloud sur de multiples plateformes.
Toutefois, les entreprises doivent encore surmonter de nombreux défis pour adopter le cloud hybride :
La boite à outils d’Anthos
Anthos est un produit complexe qui est composé de diverses technologies comme le moteur Kubernetes, Anthos GKE, la gestion de la configuration Anthos, le service Mesh Anthos, Migrate for Anthos, et MarketPlace for Anthos. L’avantage, c’est que toute cette pile technologique fonctionne en data-center à côté des systèmes de l’entreprise. Elle permet aux entreprises d’améliorer leurs charges de travail sur site en modernisant progressivement certains composants, afin d’obtenir une cohérence dans tous leurs environnements.
Anthos et Google Kubernetes Engine (GKE)
Anthos et Google Kubernetes Engine ont beaucoup en commun, ils sont construits sous une gestion de configuration transversale et peuvent bénéficier des méthodologies modernes comme les services mesh et serverless (Istio) en permettant, la communication et la supervision et la flexibilité du déploiement et de la plate-forme d’exécution de Kubernetes.
La pile technologique est construite sur un ensemble cohérent d’API basées sur des technologies open-source qui permettent aux développeurs et aux opérateurs de bénéficier d’une méthodologie unique qui s’applique aux fournisseurs de services on-prem, et aux autres fournisseurs de cloud computing. Toutefois, les principales différences entre Anthos GKE se résument sur ces points :
Anthos Cloud RUN et Knative
Cloud RUN est une plateforme de configuration qui permet d’exécuter des containers invocables via des requêtes HTTP. Cloud RUN fournit des machines customisées, un réseau VPC (Virtual Private Cloud) ainsi que le développement serverless dans la platform GKE. Le services serverless compute présente de nombreux challenges quand il s’agit d’un environnement hybride, en effet, l’incompatibilité entre provider peut restreindre la portabilité voir la rendre impossible, par conséquent Cloud RUN en combinaison avec Anthos peut parler à cette problématique de migration.
Cloud Runon Anthos est propulsé par Knative : un projet open-source qui soutient les configurations serverless sur Kubernetes. Google Cloud Run et Knative peuvent être classés dans la catégorie des outils “serverless / tasks processing”. De plus, Knative est construit sur Kubernetes et Istio, il permet d’exécuter des applications serverless sur Kubernetes. Il y a trois composants majeurs appelés “primitifs” qui composent Knative en plus de Kubernetes :
- Build : avec Knative, nous pouvons construire de la gestion du code source.
- Serve : Ce composant qui s’intègre avec Istio est fourni avec un certain nombre de capacités comme la gestion du trafic, le routage intelligent, la mise à l’échelle automatique (remise à zéro) … Cela signifie qu’il permet aux applications serverless d’être mises à l’échelle jusqu’à mille pods* puis de redescendre à zéro si ce service n’est plus utilisé. Les principaux objectifs de ce composant sont la mise à l’échelle, le routage du trafic en pourcentage d’une révision d’application à une autre par exemple, et la capture d’écran avec la gestion des révisions de configuration.
- Event : Comme la partie intégration de toute plate-forme serverless, elle permet d’écrire des déclencheurs de certains événements et même de les inclure dans l’ensemble du processus de CI/CD dans le but de créer des pipelines.
Migrer pour Anthos
Si vous vous demandez encore ce que les entreprises doivent faire pour passer sur la technologie Anthos, Google y réfléchit déjà, la solution : Anthos Migrate. C’est un outil fourni par GCP MarketPlace afin d’automatiser la conversion des charges de travail traditionnelles, déployées initialement sur les systèmes internes, en conteneurs ; plus légers et plus évolutifs. Les systèmes peuvent être des serveurs physiques ou des machines virtuelles, on-prem ou dans d’autres fournisseurs de cloud computing.
Anthos Migrate s’appuie sur le moteur de migration connu sous le nom de Velostrata technologie qui permet de déplacer des charges de travail (workloads) de calcul vers des conteneurs en moins de 10 minutes.
Afin de réaliser le processus de migration, il faut remplir des conditions préalables, principalement en ce qui concerne les compatibilités des versions VMware, la bande passante, les exigences d’accès au réseau (à retrouver ici).
Il est possible de tester la pré-migration de l’infrastructure en clonant la configuration cible et les étapes pourraient être résumées comme suit :
- Valider la viabilité de la migration,
- Création d’un snapshot Vmware sans perturbation,
- Conteneur prêt et SteamData traité,
- Évaluer la latence, le débit, les erreurs, etc.
- Isoler la charge de travail des clones (pour éviter l’impact sur d’autres environnements)
- Supprimer le clone lorsque le test est terminé
LA securité d’anthos
Le passage actuel du monolithique aux micro-services et de la VM aux conteneurs pose de nouveaux défis en matière de sécurité. Les micro-services sont hautement automatisés et leur durée de vie est nettement plus courte, ce qui empêche la vérification manuelle de la sécurité. C’est pour cela qu’il est essentiel d’automatiser le processus de vérification et d’autorisation à l’échelle pendant la construction.
La capacité de sécurité Anthos de bout en bout peut être résumée en 5 points, ce sont des capacités de sécurité intégrées dans ou avec les composants Anthos.
Malgré le panel de sécurité dont bénéficie les composants Anthos, certains d’entre eux sont à différents stades de release (alpha, beta, certains GA ..), “Google ne précise pas quand tous ces composants seront disponibles dans leur version finale”. De plus, la mise à jour automatique des nœuds ou des correctifs de sécurité impactera GKE et le cloud GCP avant qu’ils ne soient disponibles sur GKE On-Prem. La mise à jour de GKE On-Prem nécessite encore une configuration manuelle, mais la mise à jour automatique des nœuds (le processus qui permet de garder les nœuds à jour avec la dernière version stable de GKE) sera bientôt disponible déclare GCP.
Par ailleurs, il est important de souligner que les capacités de sécurité d’Anthos respectent un modèle de responsabilité partagée. L’intégration avec Google fournit des opérations cohérentes et une expérience de sécurité tout au long du cycle de vie des services, la supervision des services, l’exécution des services, l’analyse du trafic réseau, et workloads sécurisée avec des images qui sont scannées pour les vulnérabilités connues. D’autres opérations peuvent être partagées entre la responsabilité du client et Google, principalement pour l’infrastructure On-Prem, ce qui permet aux clients de raccorder sur ces composants des points de sécurité spécifiques au sein de leurs systèmes qui sont conformes aux normes de l’entreprise.
Istio et suivi
En tant que maillage de services open-source, le projet Istio a été lancé par des équipes de Google et IBM en partenariat avec l’équipe Envoy de Lyft. Il a été entièrement développé en open source sur GitHub. Mais qu’est-ce qu’un maillage de services ? Cela désigne une couche d’infrastructure dédiée, qui contrôle la communication de service à service sur le réseau. Il vise à gérer les micro-services et à résoudre les nombreuses difficultés qui y sont liées, comme le ciblage du bon service, la mise à l’échelle de l’infrastructure lorsqu’il s’agit d’effectuer des canary release, et même l’accès sécurisé aux services …
Istio est un Service Mesh, mais plus comme une plateforme de service ouverte qui gère les interactions de service à travers les conteneurs et la charge de travail basée sur les machines virtuelles.
La version 1.4 d’Istio, disponible sur Anthos, fournit une architecture simplifiée qui aide les entreprises à superviser, sécuriser et gérer les déploiements complexes de trafic. Istio comporte trois composants architecturaux majeurs, tous construits comme une API qui expose à de multiples services :
- Pilote : un plan de contrôle qui vise à configurer et à pousser les politiques de communication des services. Il permet la découverte de services, la gestion du trafic et le routage intelligent.
- Mixer : un composant indépendant de la plateforme qui envoie la télémétrie, les logs et les traces au système de votre choix. Il est intéressant de savoir que ce composant peut être consommateur de CPU, c’est pourquoi la version 1.4 d’Istio a une “télémétrie sans mixeur” avancée qui a une empreinte CPU beaucoup plus petite.
- Citadel : gestion intégrée des identités et des certificats qui permet une authentification et un chiffrement forts de service à service et d’utilisateur final par le biais du protocole TLS mutuel.
À ce stade, il est vrai que Istio est un composant majeur qui fournit de solides ressources de surveillance aux utilisateurs d’Anthos. Les “proxies Istio Envoy” qui s’exécutent au sein de chaque service, communiquent avec des outils basés sur le cloud pour GKE comme Stackdriver. Ce composant fournit une interface utilisateur où il est possible de visualiser toutes les métriques au sein de votre centre de données avec de multiples outils comme Prometheus, Grafana, et plus encore.
“Anthos est ce que GKE (Google Kubernetes Engine) est pour Kubernetes, il gère des Kubernetes open-sources” dit Urs Hölzle, Vice-Président senior pour l’infrastructure technique chez Google.
Nous pourrions comparer Anthos et Openshift. Les deux ont l’outil Kubernetes comme parties intégrantes avec plus ou moins de fonctionnalités construites autour et les deux appartiennent à la pile technique de la catégorie “Platform as a Service”.
Cependant, il existe des différences qu’il est important de noter et d’étudier pour passer à l’une de ces solutions. Alors qu’Openshift répond au besoin de plateformes de serveurs d’applications, Anthos se concentre davantage sur la réponse à un besoin d’infrastructure hybride et sur les approches de maillage de services. En outre, Anthos soutient les infrastructures hybrides construites à l’aide d’une série de clouds publics, de centres de données privés et de systèmes d’exploitation. Openshift, quant à lui, soutient les déploiements dans des environnements hybrides et multi-clouds, mais toute l’infrastructure doit être équipée de RHEL.
Pour l’instant, la contrainte d’Anthos est la dépendance de GKE, surtout si les clusters sont déployés sur d’autres clouds ou sur des sites locaux, mais nous espérons qu’ils apporteront une version BYOK (Bring your own key) d’Anthos qui pourra fonctionner partout.
Indépendamment du fait que Anthos est un nouveau produit, il est construit sur des technologies qui ont déjà montré leurs potentiel dans de multiples projets complexes. De plus, l’utilisation de technologies toutes nouvelles comme Istio pour passer du monolithique au micro-services pourrait prendre beaucoup de temps et nécessiter un effort de temps conséquent de formation pour vos équipes. Avec Anthos, les équipes peuvent se concentrer sur un outil majeur tout en acquérant une compréhension suffisante de tous les composants d’Anthos, étape par étape.