Comment avoir l'air d'un expert du cloud
Publié: 2022-03-10Votre code est écrit et le design est superbe. Le nouveau projet est presque prêt à démarrer lorsque le client demande : "Est-ce que cela devrait fonctionner dans le cloud ?"
Vous avez des sueurs froides. La question est massive. Régions et zones , haute disponibilité , équilibrage de charge : le cloud a son propre langage.
Ne t'inquiète pas; vous avez ceci. Cet article vous apprendra à prendre des décisions intelligentes concernant le cloud et à répondre aux questions de vos clients sur le cloud.
Quatre grandes questions
Avant que vous et votre client puissiez savoir quel type de cloud vous souhaitez, vous devez discuter de quatre questions :
- Quelle est la complexité du logiciel que vous devez exécuter ?
- De combien a-t-il besoin pour évoluer ?
- À quel point est-il important qu'il ne tombe jamais en panne ?
- À quelle vitesse doit-il fonctionner pour les utilisateurs du monde entier ?
Cet article vous donne le contexte et les informations dont vous avez besoin pour répondre à ces questions et donner l'impression d'être un expert du cloud.
Commençons.
- Qu'est-ce qu'un nuage ?
- Pourquoi votre client se soucie du cloud
- En quoi un cloud est-il différent d'un service d'hébergement ?
- Pourquoi les machines virtuelles sont si importantes
- Parlons un peu du réseautage
- Les différents types de nuages
- Les pièces de base d'un nuage
- Questions que vos clients sont susceptibles de poser
Qu'est-ce qu'un nuage ?
Lorsque nous parlons de cloud computing , nous entendons vraiment la possibilité de louer une partie d'un ordinateur à quelqu'un d'autre. C'est tout ce qu'on peut en dire.
Des entreprises comme Amazon et Google ont beaucoup d'ordinateurs et sont prêtes à vous en louer des parties. La location d'ordinateurs auprès d'eux est rentable car vous n'avez pas à construire vos propres centres de données ou à embaucher votre propre équipe d'experts pour les faire fonctionner.
Lorsque vous louez une partie d'un ordinateur, vous avez besoin qu'il ressemble à un ordinateur complet afin que vous puissiez exécuter n'importe quel logiciel que vous voulez. C'est pourquoi les fournisseurs vous offrent une machine virtuelle (VM) - un logiciel qui donne l'impression que vous utilisez votre propre ordinateur séparé.
Pourquoi votre client se soucie du cloud
Avant d'en savoir plus sur le cloud, il est important de comprendre pourquoi votre client s'en soucie. Ne rejetons pas l'attrait des mots à la mode ; le cloud est vraiment à la mode en ce moment. Votre client peut simplement demander parce que tous les enfants cool le font, mais il y a des raisons pour lesquelles les enfants cool le font.
Commençons par les bases. Héberger votre propre centre de données serait une douleur à l'arrière. Vous auriez à vous soucier de la consommation d'énergie, de la mise à jour de votre matériel, de l'embauche d'une équipe d'experts pour le faire fonctionner et de mille autres problèmes qui n'ont rien à voir avec votre entreprise. Que se passerait-il si l'électricité était coupée, s'il y avait une inondation ou si le toit s'effondrait ? Ce sont toutes des raisons de ne pas héberger votre site Web sur un serveur fonctionnant dans votre salon.
Non seulement vous pouvez transmettre tous les maux de tête à quelqu'un d'autre, mais le fait de le faire gérer le centre de données vous offre trois grands avantages :
- Les nuages sont mondiaux .
Ils existent dans des centres de données à travers le monde, dont un près de votre client. Cela signifie vitesse . Vous ne voulez pas que les clients en Chine attendent que les données soient chargées depuis les États-Unis. Quand je vais sur Google.com, j'obtiens un centre de données différent à Boston qu'à Chicago ou à Los Angeles, et c'est juste aux États-Unis. C'est en grande partie ce qui rend possible la vitesse de Google. - Les nuages grandissent et rétrécissent .
Si j'achète un serveur, j'ai un serveur ; même si mon application n'a pas besoin de tout l'ordinateur, je dois quand même payer pour ce serveur. Lorsque mon application devient vraiment populaire, je dois acheter plus de serveurs rapidement. Le cloud ne fonctionne pas comme ça. Louer des partages de serveurs signifie que je peux modifier le montant que je loue : je peux augmenter la commande lorsque je suis occupé et la réduire lorsque je n'en ai pas autant besoin. - Les nuages ne descendent jamais .
Ne jamais dire jamais… mais presque jamais. Les fournisseurs de cloud parlent de "cinq neuf" - cela signifie être en activité 99,999 % du temps (avec seulement 5,26 minutes d'indisponibilité par an). Vous pouvez rendre cela encore plus petit avec des services tels que l'équilibrage de charge et le basculement.
Ce sont toutes des raisons pour lesquelles les nuages peuvent être cool, mais vous pouvez en obtenir certains à partir d'un simple service d'hébergement. Si votre client vous pose des questions sur le cloud, vous devez connaître la différence.
En quoi un cloud est-il différent d'un service d'hébergement ?
J'ai un site Web personnel sur un service d'hébergement nommé Media Temple. Mon site utilise WordPress, il a donc besoin de quelques éléments :
- Un répertoire pour mettre mes fichiers
- Un serveur HTTP
- Une base de données
- PHP
Mon répertoire tourne sous Linux, mon serveur HTTP est Apache, ma base de données est MySQL, et tout tourne sous PHP ; c'est pourquoi ils l'appellent une pile LAMP (Linux-Apache-MySQL-PHP). Cela peut sembler beaucoup de pièces, mais elles sont limitées. Par exemple, je ne peux pas installer de nouveau logiciel. Si je veux exécuter ma base de données sur PostgreSQL, je n'ai pas de chance. Je ne peux pas exécuter d'autres langages comme Python ou Go ; Je ne peux pas écrire mes propres programmes séparés. Je ne reçois qu'un ensemble très limité et préconfiguré de choses que je suis autorisé à faire.
Mon site Web ne fonctionne également que sur un seul serveur à un seul endroit. Où est ce serveur ? Je n'ai aucune idée. Je pense que c'est quelque part aux États-Unis, mais à part ça, je ne sais pas, et je m'en fiche. Le fournisseur d'hébergement me donne un seul serveur, je tape une URL et mon site apparaît (la plupart du temps).
Les hébergeurs restent simples. Certains d'entre eux hébergent d'autres piles et certains permettent un peu plus de configuration, mais c'est toujours un package défini.
La différence fondamentale entre un service d'hébergement et un cloud est la machine virtuelle. Un service d'hébergement me donne juste une partie d'un système d'exploitation existant. Une machine virtuelle me donne un système d'exploitation complet pour moi tout seul.
Pourquoi les machines virtuelles sont si importantes
Une machine virtuelle agit exactement comme une vraie machine. Il peut exécuter Linux ou Windows et il peut faire tout ce qu'un ordinateur normal peut faire. Apple ne vous permet pas d'exécuter OS X sur une machine virtuelle (bien que quelques personnes l'aient fait fonctionner, en construisant un "Hackintosh").
Lorsque vous avez une machine virtuelle, vous avez un contrôle total. Vous pouvez y exécuter tout ce que vous voulez - bases de données, serveurs de messagerie, cryptage, même recherche d'extraterrestres. La machine virtuelle vous permet de faire tout ce que vous voulez.
Avoir un système d'exploitation complet pour vous tout seul est vraiment puissant, mais avant de pouvoir faire quoi que ce soit d'utile, vous devez accéder à la machine virtuelle.
Parlons un peu du réseautage
Les machines virtuelles sont inutiles si vous ne pouvez pas y accéder. Vous avez besoin de réseautage, bien que le réseautage puisse devenir un peu complexe.

Mais ces bases vous donneront ce dont vous avez besoin pour commencer. Commençons par un exemple qui vous sera familier. Il est probablement en cours d'exécution dans votre maison en ce moment.

J'ai Comcast à la maison. Comcast me donne un modem câble avec une adresse IP comme 10.0.0.89
. Bien qu'il ne me donne qu'une adresse IP, j'ai deux ordinateurs portables, un iPad et un téléphone ; ma femme et ma fille ont encore plus d'appareils. Pour que cela fonctionne, j'ai un routeur sans fil qui se connecte à mon modem câble. Mon routeur sans fil donne à chaque appareil dont je dispose une adresse IP telle que 192.168.0.100
, 192.168.0.101
, etc., mais ces adresses sont privées sur mon réseau.
Le terme technique pour ces adresses privées est non routable . Il y a quelques adresses qui sont configurées pour un usage privé ; la plupart commencent par 10.
ou 192.168
, pour indiquer aux routeurs Internet que ces adresses ne sont pas autorisées dans la nature. J'utilise ces adresses spéciales car elles sont réutilisables.
Chaque adresse IP doit être unique dans un réseau donné ; sinon, le routeur ne saurait pas à quel ordinateur je veux me connecter. Il existe 4 294 967 296 adresses IP possibles. Bien que les concepteurs de réseaux pensaient que c'était beaucoup quand tout cela a commencé dans les années 1970, nous en manquons maintenant. Il existe d'autres protocoles, comme IPv6, qui pourraient résoudre ce problème à l'avenir, mais aujourd'hui, nous résolvons ce problème avec la traduction d'adresses réseau (NAT). Laissez-moi vous montrer comment cela fonctionne.
Les appareils de ma maison ont des adresses qui sont uniques dans ma maison, mais pas dans le monde entier. Lorsque je veux accéder à Internet, j'ai besoin du routeur sans fil pour les traduire pour moi. Chaque fois que je clique sur un lien, mon ordinateur portable communique avec mon routeur sans fil pour faire la demande à ma place. à son tour, le routeur sans fil parle au monde en mon nom, mais en utilisant sa propre adresse. Ensuite, mon modem câble fait la même chose lorsqu'il parle à Comcast, et Comcast fait la même chose à une échelle beaucoup plus grande lorsqu'il envoie ma demande à l'Internet général. Chaque routeur traduit l'adresse IP de celle qui la précède. Tout cela signifie que de nombreux ordinateurs peuvent réutiliser une adresse IP comme 192.168.0.101
, et tout fonctionne sans conflits.
Quelle est donc ma véritable adresse IP sur le véritable Internet ? En ce moment, ma véritable adresse IP est 66.30.118.150
et mon adresse IP privée est 192.168.0.103
.
D'où vient l'adresse 66.30.118.150
? C'est une adresse IP qui appartient à Comcast. Il est clair que je suis à Cambridge, Massachusetts, dans le nord-est des États-Unis. Je n'ai pas besoin des détails; tout ce que j'ai besoin de savoir, c'est que c'est une véritable adresse publique que Comcast gère pour moi. Comcast utilise probablement la même adresse pour des centaines ou des milliers d'autres personnes.
Toute cette traduction d'adresse fait autre chose de très important. Cela me donne un point d'accès unique qui contrôle tout ce qui entre dans mon réseau domestique. Personne à l'extérieur ne peut accéder à 192.168.0.103
; pour eux, c'est une adresse différente. J'obtiens beaucoup de sécurité en contrôlant le trafic qui peut entrer et sortir. Mon routeur sans fil est un point de pincement où je peux contrôler ce qui se passe.
La plupart des clouds fonctionnent comme mon réseau domestique. Les ordinateurs sont virtuels, les réseaux s'appellent des sous- réseaux et le routeur sans fil s'appelle une passerelle , mais c'est la même chose. Ils ont des machines virtuelles avec des adresses privées et des passerelles qui les traduisent en adresses publiques. Ils disposent également d'un espace d'adresses qu'ils peuvent utiliser comme mon routeur sans fil à la maison. Comme ça:

Cela peut sembler compliqué, mais ce n'est pas trop difficile. Un nuage est un moyen pour moi de louer des ordinateurs à quelqu'un d'autre et de les configurer pour qu'ils ressemblent à mon réseau domestique.
Les choses les plus importantes à retenir sont :
- Les IP privées ne sont disponibles que sur votre réseau privé ;
- Les adresses IP publiques sont disponibles sur Internet ;
- NAT permet aux adresses IP privées de ressembler à des adresses IP publiques.
Ce n'est pas tout ce qui se passe avec la mise en réseau cloud, mais c'est plus que suffisant pour être opérationnel et accéder à votre cloud. Maintenant, vous devez décider quel type de nuage vous voulez.
Les différents types de nuages
Cloud est un terme amorphe - les gens l'utilisent pour signifier beaucoup de choses différentes. Il existe en fait trois catégories différentes de nuages.
Nuages d'infrastructures
La machine virtuelle et le réseau sont les éléments constitutifs d'une infrastructure cloud , également connue sous le nom d'infrastructure en tant que service ( IaaS ). Ils fournissent l'infrastructure virtualisée, sur laquelle vous avez un contrôle total. Vous décidez du système d'exploitation et de tout ce qui s'exécute dessus.
Vous bénéficiez de flexibilité et de contrôle, mais vous êtes responsable de la gestion et de la prise en charge de tout ce que vous installez.
Les nuages d'infrastructure sont soit statiques , soit élastiques . Un cloud statique fonctionne comme mon réseau domestique : j'ai un ensemble de machines virtuelles exécutant tout ce dont j'ai besoin. Ils vivent sur un réseau privé, avec une passerelle publique qui leur donne accès à Internet. Les clouds statiques sont parfaits pour traiter des données, disposer d'une puissance de calcul supplémentaire ou héberger un site plus complexe qu'un fournisseur d'hébergement ne peut gérer. Vous pouvez également répliquer votre cloud statique vers d'autres centres de données dans le monde.
Les nuages élastiques fonctionnent comme des nuages statiques, mais ils sont dynamiques. Au lieu d'un ensemble fixe de serveurs virtuels, vous disposez d'un ensemble qui peut augmenter ou diminuer en fonction de vos besoins. Votre cloud se développe lorsque vous avez une forte demande sur votre site ou service, et revient à sa taille normale lorsque ce n'est pas le cas. Toutes les expansions et les réductions vous permettent d'économiser de l'argent. Vous restituez la puissance de calcul dont vous n'avez pas besoin lorsque vous n'en avez pas besoin.
Netflix utilise IaaS. Amazon Web Services fournit l'infrastructure et Netflix implémente l'ensemble de son système en plus ; il a écrit son propre logiciel pour fournir un support hautement personnalisé pour le streaming de contenu haute définition. The Weather Company est un autre exemple : il s'exécute au-dessus d'IBM Cloud.
Nuages de plate-forme
Une plate-forme cloud , également appelée plate-forme en tant que service ( PaaS ), est un cloud spécialisé qui fournit des blocs de construction logiciels pour votre application tandis que le fournisseur de cloud gère l'infrastructure et la pile logicielle pour vous.
Par exemple, si vous aviez besoin d'une application Web, PaaS pourrait vous fournir WordPress ou Drupal vanille à utiliser. Si vous aviez besoin d'une base de données, vous pouvez choisir MySQL ou PostgreSQL. Si vous avez besoin d'outils de développement, vous pouvez choisir entre Node, Java ou PHP. Vous n'avez pas à vous soucier du système d'exploitation en cours d'exécution ou de la nécessité d'appliquer un correctif de sécurité MySQL - le fournisseur de cloud s'en charge pour vous.
Heroku est un nuage PaaS. Il fournit le logiciel en dessous, et vous écrivez simplement ce que vous voulez en plus. Il vous donne une certaine flexibilité, mais fait beaucoup plus de gestion qu'un cloud IaaS.
Nuages logiciels
Un cloud logiciel , également connu sous le nom de Software as a Service ( SaaS ), est un type de cloud très spécialisé qui vous fournit un service en ligne bien défini. Les fournisseurs d'hébergement sont un type spécial de cloud SaaS sous les couvertures ; ils fonctionnent de manière très limitée.

Wix est un autre exemple de SaaS. Il vous fournit un service d'hébergement d'applications Web complet avec un excellent éditeur, une prise en charge de la connexion et du paiement des utilisateurs et une grande variété de modèles parmi lesquels choisir. Wix se concentre sur un seul travail. Il est très limité en fonctionnalités, mais aussi plus facile à utiliser.
Les pièces de base d'un nuage
Nous avons parlé des différents types de nuages et pourquoi vous en avez besoin. Avant de pouvoir vraiment ressembler à un expert du cloud, vous devez connaître les différents composants qui composent un cloud.
Machines virtuelles
Une machine virtuelle est un logiciel qui fonctionne comme du matériel, agissant comme une vraie machine sans jamais avoir besoin d'un serveur séparé n'importe où. Vous pouvez faire ce que vous voulez avec la machine virtuelle, et elle réussira le test du canard - elle marche et charlatan comme un vrai serveur. Votre logiciel ne saura jamais la différence.
Cette flexibilité a un prix. Vous êtes responsable de la maintenance de votre machine virtuelle. Le fournisseur de cloud s'assurera que le matériel est en parfait état, mais vous devrez sélectionner votre système d'exploitation et tout ce qui s'exécute dessus - correctifs de sécurité, mises à jour logicielles, configuration. Tout repose sur vous.
Et si vous n'êtes pas sur un cloud élastique, n'oubliez pas de libérer toutes les machines virtuelles dont vous n'avez plus besoin. Le fournisseur vous facturera si la machine virtuelle fonctionne ou non.
Sous-réseaux
Nous avons déjà couvert la mise en réseau cloud. Les sous-réseaux sont des réseaux qui s'exécutent dans le cloud.
IP privées et IP publiques
Le réseau cloud attribuera une adresse IP non routable aux machines virtuelles du sous-réseau. Celles-ci sont appelées adresses IP privées car elles sont privées sur mon réseau. Lorsqu'une machine virtuelle envoie des requêtes à Internet, la passerelle publique traduit ces requêtes. C'est ce qu'on appelle le trafic de sortie par les fournisseurs de cloud.
Tout comme je ne peux pas accéder à mon imprimante personnelle depuis un café, dans le cloud, j'ai besoin d'une adresse IP publique pour accéder à une machine virtuelle.
Des adresses IP publiques peuvent être attribuées aux machines virtuelles pour autoriser le trafic entrant (trafic provenant d'Internet acheminé vers les machines virtuelles). C'est important, car les fournisseurs de cloud vous factureront différemment le trafic entrant et sortant.
Clés SSH
Une clé SSH est une information privée qui vous permet d'accéder à votre cloud. Il est composé de deux fichiers. Il existe une clé publique qui ressemble à ceci :
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]
Et il y a une clé privée qui ressemble à ceci :
-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----
Vous utilisez ces deux fichiers ensemble au lieu d'un mot de passe.
L'authentification par clé publique SSH est un moyen robuste de se connecter à un système distant, plus sécurisé que le nom d'utilisateur et le mot de passe standard. (SSH signifie « secure shell ».) Vous avez probablement déjà vu des clés SSH sous la forme de votre clé Github.
Les clés SSH s'appuient sur la cryptographie à clé publique et l'authentification par challenge-réponse pour empêcher les attaques par force brute et autres menaces.
Ces clés garantissent que vous seul avez accès à vos machines virtuelles et elles fonctionnent parfaitement avec les scripts et autres tâches automatisées.
Centres de données
Un centre de données est un grand bâtiment rempli d'ordinateurs. Les fournisseurs de cloud vous en louent des parties.

Les ordinateurs sont des serveurs puissants qui peuvent chacun héberger plusieurs machines virtuelles en même temps. Ces serveurs consomment beaucoup d'énergie et génèrent beaucoup de chaleur, et ils doivent être physiquement proches les uns des autres pour que la mise en réseau soit rapide. Ainsi, un centre de données est l'installation dans laquelle un fournisseur de cloud héberge tout le matériel physique qui exécute une partie de son cloud. Le centre de données nécessite un refroidissement adéquat, une alimentation électrique redondante, une bande passante réseau massive, un accès contrôlé et un personnel qualifié pour faire fonctionner toutes les machines.
Un centre de données peut gérer une charge importante, mais il ne se trouve qu'à un seul endroit. Un fournisseur de cloud mondial doit répartir les centres de données à travers le monde pour s'assurer que les clients partout dans le monde auront une latence d'accès réseau acceptable à leurs serveurs.
Régions et zones
Un fournisseur de cloud doit organiser ses centres de données pour s'assurer qu'il peut continuer à répondre aux demandes pendant les pannes de courant, les inondations, les ouragans et autres catastrophes. Les fournisseurs appellent cela la qualité de service , et tout cela fait partie de la garantie que le cloud ne tombe jamais en panne.
Une région est une zone géographique avec une latence de réseau aller-retour spécifique (d'où à où ?). Les régions portent des noms comme Dallas, Tokyo ou Francfort. Vous êtes assuré d'obtenir la latence du réseau pour laquelle vous payez à l'intérieur de cette zone.
Une région est composée d'une ou plusieurs zones. Les zones sont un centre de données isolé dans une région avec une infrastructure électrique, mécanique et réseau indépendante conçue pour garantir l'absence de point de défaillance unique partagé entre les autres zones. Cela vous permet de créer des applications tolérantes aux pannes hautement disponibles en les déployant dans plusieurs zones d'une région. La région peut continuer si une zone plante, mais c'est vraiment mauvais quand toutes les zones tombent en panne.
Un centre de données héberge une zone. Plusieurs centres de données sont regroupés pour créer une région multizone. Les zones portent des noms tels que us-south-1, us-south-2 et us-south-3. Une petite région peut être desservie par un seul centre de données robuste, tandis qu'une région peuplée peut nécessiter plusieurs centres de données pour faire face à la demande de réseau et de calcul.
Reprise après sinistre, haute disponibilité et tolérance aux pannes
Ces concepts font transpirer même les architectes informatiques les plus accomplis. Ils restent éveillés la nuit en se demandant comment ils vont s'assurer que le nuage ne tombe jamais.
Mais vous avez ça ! Le cloud ne tombe (presque) jamais, et il est facile de s'assurer que vous êtes couvert si c'est le cas. Passons en revue ces concepts un par un :
La reprise après sinistre (DR) est un ensemble de politiques et de procédures détaillant ce qu'il faut faire pendant et après un incident majeur. Concevez votre système de manière à ce qu'il échoue correctement (ce qui signifie que vos utilisateurs comprendront que quelque chose ne va pas, mais que vous l'avez couvert), et après un incident, vous saurez comment le ramener le plus rapidement possible. Vous avez besoin de DR lorsqu'une région entière tombe en panne, que votre service est victime d'une cyberattaque ou qu'il est vulnérable et que vous devez le supprimer.
La haute disponibilité (HA) n'est qu'un objectif - les "cinq neuf" dont nous avons parlé plus tôt. Vous voulez que votre application soit résistante aux pannes. C'est presque impossible si vous utilisez un serveur dans votre salon, mais c'est faisable avec le cloud. Vous atteignez l'objectif de haute disponibilité en vous appuyant sur l'infrastructure à tolérance de pannes du cloud — tout est pris en charge pour vous.
Une infrastructure tolérante aux pannes est une conception qui garantit qu'une sauvegarde prend le relais en cas de panne. Le cloud est un système tolérant aux pannes. Si une zone d'une région tombe en panne, les autres zones assureront la continuité de service. Vous devez tirer parti de cette tolérance aux pannes en utilisant des composants tels que des équilibreurs de charge.
Équilibreurs de charge
La haute disponibilité provient de l'exécution simultanée de plusieurs instances de votre application. Un équilibreur de charge est un équipement qui acheminera le trafic de vos utilisateurs vers l'une de vos instances qui fonctionne bien ; il prend les requêtes et les envoie au prochain serveur sain.
L'équilibreur de charge surveille la santé de vos machines virtuelles et peut prendre en compte différents paramètres. Il peut détecter si votre machine virtuelle ou votre application tombe en panne, mais il peut également vérifier la latence du réseau, des données spécifiques dans les en-têtes de requête et bien plus encore.
Questions que vos clients sont susceptibles de poser
Votre application fonctionne donc bien, mais votre client envisage d'adopter le cloud. Êtes-vous prêt pour cela? Voici des questions courantes auxquelles vous devriez pouvoir répondre pour avoir l'air d'un expert du cloud.
Quand est-ce que je veux plus qu'un fournisseur d'hébergement ?
Votre client pourrait être engagé à toute vitesse dans la migration de tous les services vers le cloud. Avec plus de flexibilité, de résilience et une présence géographiquement distribuée, le cloud facilite l'enthousiasme.
Mais même si le cloud est plus rapide, plus flexible et plus fiable, il est également plus coûteux ; il peut même nécessiter un support informatique supplémentaire pour maintenir le fonctionnement du système de votre client. Le cloud n'est pas pour tout le monde.
Si le système de votre client s'exécute actuellement sur un fournisseur d'hébergement, devriez-vous passer au cloud ?
Tenez compte des besoins actuels et futurs : si votre client recherche une haute disponibilité pour se conformer aux réglementations, passez au cloud. Si votre client cible un public mondial, passez au cloud. Si des augmentations drastiques de la demande tout au long de l'année sont attendues, passez au cloud.
Si le système sera principalement accessible par des utilisateurs locaux dans une zone géographique spécifique, ou s'il n'est pas essentiel à la mission de votre client, ne passez pas au cloud.
Le point important à retenir : si le système de votre client fonctionne bien sur un fournisseur d'hébergement, vous devriez envisager les offres SaaS existantes qui fourniraient la résilience et les performances du cloud, tout en isolant votre client des dépenses informatiques inutiles. Il existe des fournisseurs d'hébergement traditionnels comme Bluehost offrant des services basés sur le cloud, et il existe des fournisseurs de cloud offrant des services d'hébergement.
Quel type de cloud dois-je utiliser ?
Trouver le bon type de cloud peut être écrasant, chaque fournisseur offrant une large gamme de services et d'options. Les premières choses à considérer sont la complexité de la pile logicielle de votre client et le matériel sur lequel il s'exécute actuellement.
Si l'ensemble de la pile est hautement personnalisé avec des bibliothèques open source recompilées, des noyaux Linux personnalisés ou des optimisations de stockage spéciales, vous devriez d'abord regarder IaaS. Certains fournisseurs permettront à votre client de mélanger et assortir, en utilisant IaaS pour des composants hautement personnalisés tout en choisissant PaaS pour d'autres parties.
Cependant, si les besoins de votre client reposent principalement sur des bibliothèques prêtes à l'emploi, PaaS est probablement un meilleur point de départ ; le fournisseur de cloud s'assurera que le code de votre client s'exécutera toujours au-dessus des dépendances à jour.
Une fois le bon modèle de cloud identifié, les exigences et les critères d'évaluation seront propres à votre client. Mais il vaut toujours la peine de prêter attention aux exigences non fonctionnelles : votre client doit-il se conformer à des réglementations, certifications ou normes spécifiques à son domaine ? Ont-ils une dépendance ou un partenariat avec des fournisseurs spécifiques ?
Enfin, pensez à la prise en charge de la migration par le fournisseur de cloud et à la dépendance vis-à-vis du fournisseur - à quel point il est difficile pour votre client de migrer vers un concurrent une fois que le système est en cours d'exécution. Envisagez un plan de sortie même si votre client ne prévoit pas de déménager.
Comment puis-je m'assurer que mon site ne tombe jamais en panne ?
Supposons que votre client travaille dans le secteur de la santé aux États-Unis. HIPAA exige que chaque organisation ait une sorte de plan de reprise après sinistre, et cela inclut votre site Web. L'activité de votre client échouera si le site tombe en panne, vous avez donc besoin de la résilience du cloud.
Le cloud vous donne les outils dont vous avez besoin pour vous assurer que votre site ne tombe jamais en panne. Vous aurez besoin de plusieurs instances de votre application exécutées en même temps et d'un moyen de contrôler le trafic afin que vos utilisateurs n'accèdent jamais à une mauvaise instance.
Si votre client déploie votre site sur un cloud IaaS, vous aurez besoin de plusieurs instances de votre application et d'un équilibreur de charge pour contrôler le trafic. Si votre client dispose d'un cloud PaaS, assurez-vous simplement que plusieurs instances sont en cours d'exécution, car le cloud fournira automatiquement la partie routage.
Si votre site utilise une base de données, assurez-vous que le cloud de votre client est configuré pour prendre en charge l' affinité de session (également appelée sessions permanentes), un moyen de garantir que tout le trafic utilisateur est acheminé vers la même machine virtuelle.
Comment puis-je rendre mon site rapide pour tout le monde ?
Si votre client se mondialise et exige que votre application fournisse un service rapide aux utilisateurs finaux du monde entier, vous avez besoin de la flexibilité et de la portée géographique du cloud.
Même si le cloud est global, vous avez besoin que les instances de votre application s'exécutent à proximité de l'endroit où se trouvent vos utilisateurs.
Travaillez avec votre client pour identifier les régions cloud qui serviraient le mieux votre base d'utilisateurs et où votre client héberge les API qui prennent en charge votre site — vos instances doivent être proches des deux. Vous pouvez également discuter de la configuration d'un proxy global qui achemine le trafic vers différentes zones géographiques en fonction de l'emplacement de l'utilisateur.
Conclusion
Fournir un service évolutif et résilient à une clientèle croissante sur Internet est très complexe. nous avons à peine effleuré la surface ici. C'est pourquoi nous voulons laisser les détails à Amazon, Google et aux autres fournisseurs de cloud. Votre travail consiste à prendre de bonnes décisions sur la façon d'utiliser leurs services.
N'oubliez pas que lorsque votre client vous demande si quelque chose doit s'exécuter dans le cloud, vous devez poser quatre questions :
- Quelle est la complexité du logiciel que vous devez exécuter ?
- De combien a-t-il besoin pour évoluer ?
- À quel point est-il important qu'il ne tombe jamais en panne ?
- À quelle vitesse doit-il fonctionner pour les utilisateurs du monde entier ?
Commencez par ces quatre questions simples et vous aurez l'air d'un expert du cloud. Travaillez avec vos clients pour comprendre ce que les réponses à ces questions signifient pour eux, compte tenu des différents types de cloud, et vous jouerez un rôle important dans la résolution de leurs besoins.