La traduction de l'article a été préparée spécialement pour les étudiants du cours .
IntĂ©ressĂ© Ă dĂ©velopper dans ce domaine ? Regardez l'enregistrement du masterclass professionnel , animĂ© par Egor Zuyev â TeamLead de la sociĂ©tĂ© InBit et auteur du programme Ă©ducatif chez OTUS.

Google Cloud Platform (GCP) propose de nombreux services, notamment une pile de calcul qui comprend Google Compute Engine (GCE), Google Kubernetes Engine (anciennement Container Engine) (GKE), Google App Engine (GAE) et Google Cloud Functions (GCF). Tous ces services ont des noms accrocheurs, mais leurs fonctions et ce qui les rend uniques les uns par rapport aux autres peuvent ne pas ĂȘtre trĂšs Ă©vidents. Cet article est destinĂ© Ă ceux qui dĂ©couvrent les concepts cloud, en particulier les services cloud et GCP.

1. Pile de calcul
La pile de calcul peut ĂȘtre considĂ©rĂ©e comme une abstraction Ă plusieurs niveaux de ce que peut offrir un systĂšme informatique. Cette pile s'Ă©lĂšve (moves up) des « matĂ©riels nus » (bare metal), se rĂ©fĂ©rant aux composants matĂ©riels rĂ©els de l'ordinateur, jusqu'aux fonctions (functions), qui reprĂ©sentent la plus petite unitĂ© de calcul. Ce qui est important Ă noter concernant la pile, c'est que des services sont agrĂ©gĂ©s en montant dans la pile, par exemple, la section « applications » (apps), montrĂ©e sur l'image 1 ci-dessous, doit contenir tous les composants de base des conteneurs (conteneurs), des machines virtuelles (virtual machines) et du matĂ©riel. De la mĂȘme maniĂšre, le composant des machines virtuelles doit contenir le matĂ©riel Ă l'intĂ©rieur pour fonctionner.

Figure 1: Pile de calcul | Image obtenue de
Ce modÚle, montré dans la figure 1, constitue la base pour décrire les offres des fournisseurs cloud. Ainsi, certains fournisseurs peuvent proposer uniquement, par exemple, des conteneurs et des services de qualité inférieure dans la pile, tandis que d'autres proposent tout ce qui est montré dans la figure 1.
â Si vous ĂȘtes familier avec les services cloud, passez au section 3, pour dĂ©couvrir l'Ă©quivalent de GCP
â Si vous avez juste besoin d'un rĂ©sumĂ© des services cloud, passez Ă section 2.4
2. Services cloud
Le monde des cloud computing est trĂšs variĂ©. Les fournisseurs de cloud proposent de nombreux services adaptĂ©s Ă diffĂ©rentes exigences des clients. Vous avez peut-ĂȘtre entendu des termes comme IaaS, PaaS, SaaS, FaaS, KaaS, etc., tous suivis de « aaS ». MalgrĂ© cette Ă©trange convention de nommage, ils forment un ensemble de services offerts par les fournisseurs de cloud. Il est Ă©vident qu'il existe 3 principales offres « en tant que service » (as a Service) que les fournisseurs de cloud fournissent presque toujours.
Ce sont IaaS, PaaS et SaaS, qui désignent respectivement l'infrastructure en tant que service (Infrastructure as a Service), la plateforme en tant que service (Platform as a Service) et le logiciel en tant que service (Software as a Service). Il est important de visualiser les services cloud comme des niveaux de services fournis. Cela signifie que lorsque vous montez ou descendez d'un niveau, vous, en tant que client, traversez différentes options de services qui sont soit ajoutées, soit retirées de l'offre principale. Il est préférable de considérer cela comme une pyramide, comme montré à la figure 2.

Figure 2 : Pyramide « aaS » | Image obtenue de
2.1 Infrastructure en tant que service (IaaS)
C'est le niveau le plus bas que peut proposer un fournisseur de services cloud, et il comprend un fournisseur de cloud livrant une infrastructure « nue », incluant des middleware, des cùbles réseau, des processeurs, des GPU, de la mémoire vive, du stockage externe, des serveurs et des images de systÚmes d'exploitation de base comme Debian Linux, CentOS, Windows, etc.
Si vous commandez une offre IaaS auprĂšs d'un fournisseur de services cloud, voici ce que vous devez vous attendre Ă recevoir. Vous ĂȘtes responsable, en tant que client, de l'assemblage de ces piĂšces pour gĂ©rer votre entreprise. Le degrĂ© de ce avec quoi vous devrez travailler peut varier d'un fournisseur Ă l'autre, mais en rĂšgle gĂ©nĂ©rale, vous recevez simplement le matĂ©riel et le systĂšme d'exploitation, et le reste dĂ©pend de vous. Des exemples d'IaaS incluent AWS Elastic Compute, Microsoft Azure et GCE.
Certaines personnes peuvent ne pas apprécier le fait qu'elles doivent installer des images de systÚmes d'exploitation et s'occuper du réseau, de l'équilibrage de charge ou se soucier du type de processeur qui convient le mieux à leur charge de travail. C'est ici que nous montons dans la pyramide vers PaaS.
2.2 Plateforme en tant que service (PaaS)
Le PaaS comprend uniquement un fournisseur de services cloud offrant une plateforme spécifique sur laquelle les utilisateurs peuvent créer des applications. C'est une abstraction au-dessus de l'IaaS, ce qui signifie que le fournisseur cloud prend en charge tous les détails concernant les types de CPU, la mémoire, la RAM, le stockage, les réseaux, etc. Comme montré dans la figure 2, en tant que client, vous avez un contrÎle limité sur la plateforme réelle, puisque le fournisseur cloud gÚre tous les détails de l'infrastructure pour vous. Vous demandez la plateforme choisie et y assemblez votre projet. Des exemples de PaaS incluent Heroku.
Pour certains, cela peut ĂȘtre un niveau trop Ă©levĂ©, car il ne souhaite pas nĂ©cessairement assembler un projet sur la plateforme indiquĂ©e, mais a plutĂŽt besoin d'un ensemble de services directement du fournisseur de services 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 sont destinés aux utilisateurs finaux et sont principalement accessibles via des sites web, tels que Gmail, Google Docs, Dropbox, etc. En ce qui concerne Google Cloud, il existe plusieurs offres en dehors de leur pile de calcul qui sont du SaaS. Celles-ci incluent Data Studio, Big Query, etc.
2.4 Résumé des services cloud
Composants
IaaS
PaaS
SaaS
Ce que vous obtenez
Vous obtenez l'infrastructure et payez en conséquence. La liberté d'utiliser ou d'installer n'importe quel logiciel, systÚme d'exploitation ou leur composition.
Ici vous obtenez exactement ce que vous demandez. Logiciel, matĂ©riel, systĂšme d'exploitation, environnement web. Vous recevez une plateforme prĂȘte Ă l'emploi et payez en consĂ©quence.
Ici, vous n'avez pas à vous soucier de quoi que ce soit. Un package préconfiguré selon vos exigences vous est fourni, et il vous suffit de payer en conséquence.
Valeur
Niveau de calcul de base
Sommet de l'IaaS
C'est essentiellement un ensemble complet de services
Complexités techniques
Des connaissances techniques sont nécessaires
Vous recevez une configuration de base, mais des connaissances spécialisées sont toujours nécessaires.
Pas besoin de se soucier des détails techniques. Le fournisseur SaaS fournit tout.
Avec quoi ça fonctionne
Machines virtuelles, stockage, serveurs, réseau, répartiteurs de charge, etc.
Environnements d'exécution (comme java runtime), bases de données (comme mySQL, Oracle), serveurs web (comme tomcat, etc.)
Des applications comme les services de messagerie (Gmail, Yahoo mail, etc.), les sites de réseaux sociaux (Facebook, etc.)
Graphique de popularité
Populaire parmi les développeurs hautement qualifiés et les chercheurs qui nécessitent une configuration personnalisée en fonction de leurs exigences ou de leur domaine de recherche
Plus populaire parmi les développeurs, car ils peuvent se concentrer sur le développement de leurs applications ou scripts. Ils n'ont pas à se soucier du trafic ou de la gestion des serveurs, etc.
Plus populaire parmi les consommateurs ordinaires ou les entreprises utilisant des logiciels tels que le courrier électronique, le partage de fichiers, 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
3. Pack de calcul Google Cloud Platform
En examinant 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

Figure 4 : IcĂŽne Google Compute Engine (GCE)
GCE est une offre IaaS de Google. Avec GCE, vous pouvez librement créer des machines virtuelles, distribuer des ressources CPU et mémoire, choisir le type de stockage, comme SSD ou HDD, ainsi que la quantité de mémoire. C'est presque comme si vous aviez créé votre propre ordinateur/station de travail et que vous vous occupiez de tous les détails de son fonctionnement.
Avec GCE, vous pouvez choisir des instances allant de micro-instances avec des processeurs Ă 0,3 cĆur et 1 Go de RAM Ă des monstres de 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 qui sont intĂ©ressĂ©s â ce sont des machines virtuelles que vous pouvez assembler.
3.2. Google Kubernetes Engine (GKE) â (Caas / Kaas)

Figure 5 : IcĂŽne Google Kubernetes Engine (GKE)
GKE est une solution de calcul unique de GCP, qui constitue une abstraction au-dessus de Compute Engine. De maniĂšre plus gĂ©nĂ©rale, GKE peut ĂȘtre classĂ© dans la catĂ©gorie « Conteneur comme service » (CaaS), parfois dĂ©signĂ©e sous le terme « Kubernetes comme service » (KaaS), permettant aux clients de dĂ©ployer facilement leurs containers Docker dans un environnement Kubernetes entiĂšrement gĂ©rĂ©. Pour ceux qui ne connaissent pas les conteneurs, ceux-ci aident Ă modulariser les services/applications, permettant Ă diffĂ©rents conteneurs de contenir diffĂ©rents services ; par exemple, un conteneur peut hĂ©berger l'interface de votre application web, tandis qu'un autre peut contenir sa partie serveur. Kubernetes exĂ©cute l'automatisation, la coordination, la gestion et le dĂ©ploiement de vos conteneurs. Plus d'informations ici.
3.3 Google App Engine (GAE) â (PaaS)

Figure 6 : IcĂŽne de 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, cela peut Ă©galement ĂȘtre considĂ©rĂ© comme une offre au-dessus de GKE. GAE est un PaaS spĂ©cialisĂ© de Google, et comme ils se dĂ©crivent le mieux eux-mĂȘmes : « apportez votre code, et nous nous occupons du reste ».
Cela garantit que les clients utilisant GAE n'ont pas Ă s'occuper de l'infrastructure matĂ©rielle ou logicielle sous-jacente, et peuvent dĂ©jĂ disposer d'une plateforme 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 le dimensionnement pour répondre à la charge et à la demande des utilisateurs, ce qui signifie que si votre site de vente de fleurs atteint soudainement un pic en raison de l'approche de la Saint-Valentin, GAE gÚrera le dimensionnement de l'infrastructure sous-jacente pour répondre à la demande et garantir que votre site web ne tombe pas à cause de l'augmentation de la fréquentation. Cela signifie que vous ne payez que pour les ressources nécessaires à votre application à ce moment précis.
GAE utilise Kubernetes ou sa version intégrée pour gérer tout cela, afin que vous n'ayez pas à vous en soucier. GAE convient le mieux aux entreprises qui ne sont pas intéressées par l'infrastructure sous-jacente et se soucient uniquement de rendre leur application disponible de la meilleure maniÚre possible.
Ă mon avis, GAE est le meilleur endroit pour commencer si vous ĂȘtes un dĂ©veloppeur avec une excellente idĂ©e, mais que vous ne voulez pas vous occuper de la configuration des serveurs, de l'Ă©quilibrage de charge et de tout le reste du travail fastidieux en devops/SRE. Avec le temps, vous pourriez essayer GKE et GCE, mais ce n'est que mon avis.
Avertissement: AppEngine est utilisé pour les applications web, et non pour les applications mobiles.
Pour consultation:
3.4 Google Cloud Functions - (FaaS)

Figure 7 : IcĂŽne Google Cloud Functions (GCF)
J'espÚre que vous avez remarqué la tendance en analysant les propositions précédentes. Plus vous montez dans l'échelle des solutions de calcul GCP, moins vous devez vous soucier des technologies sous-jacentes. Cette pyramide se termine par la plus petite unité de calcul possible, une fonction, comme indiqué dans la section 1.
GCF est une offre relativement nouvelle de GCP qui est encore en phase de bĂȘta-test (au moment de la rĂ©daction de cet article). Les fonctions cloud permettent Ă certaines fonctions Ă©crites par des dĂ©veloppeurs de s'exĂ©cuter en rĂ©ponse Ă un Ă©vĂ©nement.
Elles sont pilotĂ©es par des Ă©vĂ©nements et sont Ă la base du mot Ă la mode « sans serveur », c'est-Ă -dire qu'elles ne connaissent pas les serveurs. Les fonctions cloud sont trĂšs simples et possĂšdent de nombreuses applications diffĂ©rentes qui nĂ©cessitent une pensĂ©e orientĂ©e Ă©vĂ©nements. Par exemple, chaque fois qu'un nouvel utilisateur s'inscrit, une fonction cloud peut ĂȘtre lancĂ©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 certain traitement d'information, ou avertit un certain personnel de maintenance, etc.
Conclusion
Dans cet article, nous avons parlĂ© des diffĂ©rentes offres cloud, telles que IaaS, PaaS, etc., et comment la pile de calcul Google met en Ćuvre ces diffĂ©rents niveaux. Nous avons vu que les niveaux d'abstraction lors du passage d'une catĂ©gorie de services Ă une autre, par exemple, d'IaaS Ă PaaS, nĂ©cessitent moins de connaissances sur les technologies sous-jacentes.
Pour les entreprises, cela offre une flexibilité critique qui répond non seulement à ses objectifs opérationnels, mais satisfait également d'autres domaines clés, tels que la sécurité et le coût. En résumé :
Compute Engine â vous permet de crĂ©er votre propre machine virtuelle en allouant des ressources matĂ©rielles spĂ©cifiques, telles que la RAM, le processeur et le stockage. Il est Ă©galement assez pratique et de bas niveau.
Kubernetes Engine â c'est un niveau supĂ©rieur par rapport Ă Compute Engine, vous permettant d'utiliser Kubernetes et des conteneurs pour gĂ©rer votre application, avec la possibilitĂ© de la faire Ă©voluer si besoin.
App Engine â c'est un niveau supĂ©rieur par rapport Ă Kubernetes Engine, vous permettant de vous concentrer uniquement sur votre code, tandis que Google gĂšre toutes les exigences de la plateforme de base.
Cloud Functions â c'est le sommet de la pyramide de calcul, vous permettant d'Ă©crire une simple fonction qui, lorsqu'elle est exĂ©cutĂ©e, utilise toute l'infrastructure de base pour le calcul et retourne le rĂ©sultat.
Merci de votre attention !
Twitter :
Source : habr.com
