GCP : analyse de la pile de calcul Google Cloud Platform

La traduction de l'article a été préparée spécifiquement pour les étudiants du cours "Services cloud".

Êtes-vous intéressé à développer dans cette direction? Regardez l'enregistrement d'une master class professionnelle "Service AWS EC2", qui a été dirigé par Egor Zuev - TeamLead chez InBit et auteur du programme éducatif chez OTUS.

GCP : analyse de la pile de calcul Google Cloud Platform

Google Cloud Platform (GCP) propose de nombreux services, et notamment la pile informatique qui contient Google Compute Engine (GCE), Google Kubernetes Engine (anciennement Container Engine) (GKE), Google App Engine (GAE) et Google Cloud Functions (GCF). . Tous ces services portent des noms sympas, mais leurs fonctions et ce qui les rend uniques les uns par rapport aux autres ne sont peut-être pas tout à fait évidents. Cet article est destiné à ceux qui découvrent les concepts de cloud, en particulier les services cloud et GCP.

GCP : analyse de la pile de calcul Google Cloud Platform

1. Pile de calcul

Une pile informatique peut être considérée comme une abstraction en couches de ce qu'un système informatique peut fournir. Cette pile monte (remonte) à partir de « fer nu » (seulement du métal), faisant référence aux composants matériels réels de l'ordinateur, jusqu'aux fonctions (fonctions), qui représentent la plus petite unité de calcul. Ce qu'il est important de noter à propos de la pile, c'est que les services sont regroupés au fur et à mesure que vous montez dans la pile, comme la section « applications » (applications), illustré dans la figure 1 ci-dessous, doit contenir tous les composants de base du conteneur (conteneurs), machines virtuelles (machines virtuelles) et du fer. De la même manière, le composant des machines virtuelles doit contenir du matériel pour fonctionner.

GCP : analyse de la pile de calcul Google Cloud Platform

Figure 1 : Pile de calcul | Image provenant de Google Cloud

Ce modèle, présenté dans la figure 1, constitue la base de la description des offres des fournisseurs de cloud. Ainsi, certains fournisseurs ne peuvent fournir, par exemple, que des conteneurs et des services de qualité inférieure le long de la pile, tandis que d'autres peuvent fournir tout ce qui est illustré dans la figure 1.

— Si vous êtes familier avec les services cloud, rendez-vous sur section 3pour voir l'équivalent GCP
— Si vous souhaitez uniquement un résumé des services cloud, accédez à section 2.4

2. Services cloud

Le monde du cloud computing est très diversifié. Les fournisseurs de cloud proposent une variété de services adaptés aux différentes exigences des clients. Vous avez peut-être entendu parler de termes comme IaaS, PaaS, SaaS, FaaS, KaaS, etc. avec toutes les lettres de l'alphabet suivies de "aaS". Malgré leur étrange convention de dénomination, ils forment un ensemble de services de fournisseur de cloud. Je précise qu'il existe 3 offres principales « en tant que service » que les fournisseurs de cloud proposent presque toujours.

Il s'agit de IaaS, PaaS et SaaS, qui signifient respectivement Infrastructure as a Service, Platform as a Service et Software as a Service. Il est important de visualiser les services cloud comme des couches de services fournis. Cela signifie qu'à mesure que vous montez ou descendez d'un niveau à l'autre, vous, en tant que client, êtes traversé par différentes options de service qui sont soit ajoutées, soit soustraites de l'offre de base. Il est préférable de le considérer comme une pyramide, comme le montre la figure 2.
GCP : analyse de la pile de calcul Google Cloud Platform

Figure 2 : Pyramide aaS | Image provenant de Garage Rubis

2.1 Infrastructure en tant que service (IaaS)

Il s'agit du niveau le plus bas qu'un fournisseur de cloud peut offrir et implique que le fournisseur de cloud fournisse l'infrastructure nue, y compris le middleware, le câblage réseau, les processeurs, les GPU, la RAM, le stockage externe, les serveurs et les images du système d'exploitation sous-jacent, par exemple Debian Linux, CentOS, Windows. , etc.

Si vous commandez un devis auprès d’un fournisseur cloud IaaS, c’est ce que vous devriez vous attendre à recevoir. C'est à vous, le client, d'assembler ces pièces pour gérer votre entreprise. L'étendue de ce avec quoi vous devrez travailler peut varier d'un fournisseur à l'autre, mais en général, vous obtenez simplement le matériel et le système d'exploitation et le reste dépend de vous. Des exemples d'IaaS sont AWS Elastic Compute, Microsoft Azure et GCE.

Certaines personnes n'apprécieront peut-être pas le fait de devoir installer des images de système d'exploitation et de gérer la mise en réseau, l'équilibrage de charge ou de se soucier du type de processeur idéal pour leur charge de travail. C’est là que nous remontons la pyramide vers le PaaS.

2.2 Plateforme en tant que service (PaaS)

Le PaaS implique uniquement un fournisseur de services cloud proposant une plateforme spécifique sur laquelle les utilisateurs peuvent créer des applications. Il s'agit d'une abstraction sur IaaS, ce qui signifie que le fournisseur de cloud s'occupe de tous les détails des types de processeur, de la mémoire, de la RAM, du stockage, des réseaux, etc. Comme le montre la figure 2, en tant que client, vous avez peu de contrôle sur la plate-forme réelle car le cloud, le fournisseur gère tous les détails de l'infrastructure pour vous. Vous demandez la plateforme choisie et construisez le projet dessus. Des exemples de PaaS sont Heroku.

Ce niveau peut être trop élevé pour certains, car ils ne souhaitent pas nécessairement construire le projet sur une plate-forme spécifiée, mais ont plutôt besoin d'un ensemble de services directement auprès du fournisseur de cloud. C’est là que le SaaS entre en jeu.

2.3 Logiciel en tant que service (SaaS)

Le SaaS représente les services les plus courants fournis par les fournisseurs de services cloud. Ils s'adressent aux utilisateurs finaux et sont accessibles principalement via des sites Web tels que Gmail, Google Docs, Dropbox, etc. Quant à Google Cloud, il existe plusieurs offres en dehors de leur pile informatique qui sont SaaS. Il s'agit notamment de Data Studio, Big Query, etc.

2.4 Résumé des services cloud

Composants
IaaS
PaaS
SaaS.

Qu'est-ce que vous obtenez
Vous obtenez l’infrastructure et payez en conséquence. Liberté d'utiliser ou d'installer tout logiciel, système d'exploitation ou composition de celui-ci.
Ici, vous obtenez ce que vous demandez. Logiciel, matériel, système d'exploitation, environnement Web. Vous obtenez une plateforme prête à l’emploi et payez en conséquence.
Ici, vous n'avez à vous soucier de rien. Vous disposez d’un package préinstallé personnalisé selon vos besoins et il ne vous reste plus qu’à payer en conséquence.

Valeur
Informatique de base
Meilleur IaaS
Il s'agit essentiellement d'un ensemble complet de services

Difficultés techniques
Connaissances techniques requises
Vous disposez de la configuration de base, mais vous avez toujours besoin de connaissances dans le domaine.
Pas besoin de s'embêter avec des détails techniques. Le fournisseur SaaS fournit tout.

Avec quoi ça marche ?
Machines virtuelles, stockage, serveurs, réseau, équilibreurs de charge, etc.
Environnements d'exécution (comme Java Runtime), bases de données (comme MySQL, Oracle), serveurs Web (comme Tomcat, etc.)
Des applications telles que les services de messagerie (Gmail, Yahoo mail, etc.), les sites d'interaction sociale (Facebook, etc.)

Graphique de popularité
Populaire parmi les développeurs hautement qualifiés et les chercheurs qui ont besoin d'une personnalisation en fonction de leurs besoins ou de leur domaine de recherche.
Très populaire parmi les développeurs car ils peuvent se concentrer sur le développement de leurs applications ou de leurs scripts. Ils n'ont pas à se soucier de la charge de trafic ou de la gestion des serveurs, etc.
Très populaire parmi les consommateurs ordinaires ou les entreprises qui utilisent des logiciels tels que le courrier électronique, le partage de fichiers et les réseaux sociaux, car ils n'ont pas à se soucier des détails techniques.

Figure 3 : Résumé des principales offres cloud | Image fournie Amir sur Blog Specia

3. Suite informatique Google Cloud Platform

Après avoir examiné les offres typiques des fournisseurs de cloud dans la section 2, nous pouvons les comparer aux offres de Google Cloud.

3.1 Google Compute Engine (GCE) - IaaS

GCP : analyse de la pile de calcul Google Cloud Platform

Figure 4 : Icône Google Compute Engine (GCE)

GCE est une offre IaaS de Google. Avec GCE, vous pouvez créer librement des machines virtuelles, allouer des ressources CPU et mémoire, choisir le type de stockage tel que SSD ou HDD, ainsi que la quantité de mémoire. C'est presque comme si vous construisiez votre propre ordinateur/poste de travail et gériez tous les détails de son fonctionnement.

Dans GCE, vous pouvez choisir entre des micro-instances dotées de processeurs à 0,3 cœur et 1 Go de RAM et des monstres à 96 cœurs avec plus de 300 Go de RAM. Vous pouvez également créer des machines virtuelles de taille personnalisée pour vos charges de travail. Pour ceux que cela intéresse, ce sont des machines virtuelles que vous pouvez créer.

Types de machines | Documentation sur le moteur Compute Engine | Google Cloud

3.2. Moteur Google Kubernetes (GKE) - (Caas / Kaas)

GCP : analyse de la pile de calcul Google Cloud Platform

Figure 5 : icône Google Kubernetes Engine (GKE)

GKE est une offre informatique unique de GCP qui est une abstraction au-dessus de Compute Engine. Plus généralement, GKE peut être classé comme Container as a Service (CaaS), parfois appelé Kubernetes as a Service (KaaS), qui permet aux clients d'exécuter facilement leurs conteneurs Docker dans un environnement Kubernetes entièrement géré. Pour ceux qui ne sont pas familiers avec les conteneurs, les conteneurs aident à modulariser les services/applications, de sorte que différents conteneurs peuvent contenir différents services, par exemple, un conteneur peut héberger le front-end de votre application Web et un autre peut en contenir le back-end. Kubernetes automatise, orchestre, gère et déploie vos conteneurs. Plus d'informations ici.

Moteur Google Kubernetes | Google Cloud

3.3 Google App Engine (GAE) - (PaaS)

GCP : analyse de la pile de calcul Google Cloud Platform

Figure 6 : Icône Google App Engine (GAE)

Comme mentionné dans la section 2.2, le PaaS se situe au-dessus de l'IaaS et dans le cas de GCP, il peut également être considéré comme une offre au-dessus de GKE. GAE est le PaaS personnalisé de Google, et la meilleure façon de se décrire est "apportez votre code et nous nous occuperons du reste".

Cela garantit que les clients utilisant GAE n'ont pas à gérer le matériel/middleware sous-jacent et peuvent déjà disposer d'une plate-forme préconfigurée prête à l'emploi ; tout ce qu'ils ont à faire est de fournir le code nécessaire à son exécution.

GAE gère automatiquement la mise à l'échelle pour répondre à la charge et à la demande des utilisateurs, ce qui signifie que si votre site Web de vente de fleurs atteint soudainement son apogée à l'approche de la Saint-Valentin, GAE se chargera de faire évoluer l'infrastructure sous-jacente pour répondre à la demande et garantir que votre site Web ne plantera pas en raison d'une demande accrue. Cela signifie que vous payez exactement les ressources dont votre application a besoin à ce moment-là.

GAE utilise Kubernetes ou sa version native pour gérer tout cela afin que vous n'ayez pas à vous en soucier. GAE convient mieux aux entreprises qui ne sont pas intéressées par l'infrastructure sous-jacente et qui se soucient uniquement de s'assurer que leur application est accessible de la meilleure façon possible.

À mon avis, GAE est le meilleur point de départ si vous êtes un développeur avec une bonne idée, mais que vous ne voulez pas vous occuper de la corvée de configuration des serveurs, de l'équilibrage de charge et de tous les autres travaux fastidieux de développement/SRE. . Au fil du temps, vous pourrez essayer GKE et GCE, mais ce n'est que mon avis.

Avertissement: AppEngine est utilisé pour les applications Web, pas pour les applications mobiles.

Pour la connaissance: App Engine - Créez des backends Web et mobiles évolutifs dans n'importe quelle langue | Google Cloud

3.4 Fonctions Google Cloud - (FaaS)

GCP : analyse de la pile de calcul Google Cloud Platform

Figure 7 : icône Google Cloud Functions (GCF)

J'espère que vous avez remarqué une tendance en examinant les offres précédentes. Plus vous gravissez les échelons des solutions informatiques GCP, moins vous avez à vous soucier de la technologie sous-jacente. Cette pyramide se termine par la plus petite unité de calcul possible, une fonction, comme indiqué dans la section 1.

GCF est une offre GCP relativement nouvelle qui est encore en version bêta (au moment d'écrire ces lignes). Les fonctions cloud permettent de déclencher certaines fonctions écrites par le développeur par un événement.

Ils sont axés sur les événements et sont au cœur du mot à la mode « sans serveur », ce qui signifie qu'ils ne connaissent pas les serveurs. Les fonctions cloud sont très simples et ont de nombreuses utilisations différentes qui nécessitent une réflexion événementielle. Par exemple, chaque fois qu’un nouvel utilisateur s’inscrit, une fonction cloud peut être déclenchée pour alerter les développeurs.

Dans une usine, lorsqu'un certain capteur atteint une certaine valeur, il peut déclencher une fonction cloud qui effectue un traitement d'informations, ou avertit certains membres du personnel de maintenance, etc.

Fonctions Cloud - Informatique serveur pilotée par les événements | Google Cloud

Conclusion

Dans cet article, nous avons parlé des différentes offres cloud comme IaaS, PaaS, etc. et de la manière dont la pile informatique de Google implémente ces différentes couches. Nous avons vu que les couches d'abstraction lors du passage d'une catégorie de service à une autre, comme IaaS dans Paas, nécessitent moins de connaissances sur le sous-jacent.

Pour une entreprise, cela offre une flexibilité essentielle qui répond non seulement à ses objectifs opérationnels, mais également à d’autres domaines clés tels que la sécurité et les coûts. Résumer:

Compute Engine - vous permet de créer votre propre machine virtuelle en allouant certaines ressources matérielles, par exemple RAM, processeur, mémoire. C’est aussi assez pratique et de bas niveau.

Moteur Kubernetes est une avancée par rapport à Compute Engine et vous permet d'utiliser Kubernetes et des conteneurs pour gérer votre application, vous permettant ainsi de la faire évoluer selon vos besoins.

Moteur d'application est une avancée par rapport à Kubernetes Engine, vous permettant de vous concentrer uniquement sur votre code pendant que Google s'occupe de toutes les exigences sous-jacentes de la plate-forme.

Fonctions cloud est le sommet de la pyramide informatique, vous permettant d'écrire une fonction simple qui, une fois exécutée, utilise toute l'infrastructure sous-jacente pour calculer et renvoyer le résultat.

Je vous remercie!

Twitter @martinomburajr

Source: habr.com

Ajouter un commentaire