introduction
L’hébergement en nuage est une méthode d’utilisation de serveurs virtuels en ligne pouvant être créés, modifiés et détruits à la demande. Les serveurs cloud se voient allouer des ressources telles que les cœurs de processeur et la mémoire par le serveur physique sur lequel il est hébergé et peuvent être configurés avec le choix du système d’exploitation du développeur et du logiciel associé. L’hébergement en nuage peut être utilisé pour l’hébergement de sites Web, l’envoi et le stockage de courriels, ainsi que pour la distribution d’applications Web et d’autres services.
Dans ce guide, nous allons passer en revue certains concepts de base impliqués dans l’hébergement en nuage, notamment le fonctionnement de la virtualisation, les composants d’un environnement virtuel et les comparaisons avec d’autres méthodes d’hébergement courantes.
Qu’est-ce que «le nuage»?
Le «nuage» est un terme courant qui désigne les serveurs connectés à Internet qui sont disponibles pour un usage public, que ce soit par le biais d’un crédit-bail payant ou dans le cadre d’un logiciel ou d’un service de plate-forme. Un service en nuage peut prendre de nombreuses formes, notamment l’hébergement Web, l’hébergement et le partage de fichiers et la distribution de logiciels. «Le nuage» peut également être utilisé pour faire référence au cloud computing, qui consiste à utiliser plusieurs serveurs reliés entre eux pour partager la charge de travail d’une tâche. Au lieu d’exécuter un processus complexe sur une seule machine puissante, le cloud computing répartit la tâche sur de nombreux ordinateurs plus petits.
Autres méthodes d’hébergement
L’hébergement en nuage n’est qu’un des nombreux types d’hébergement proposés aux clients et aux développeurs aujourd’hui, bien qu’il existe certaines différences essentielles entre eux. Traditionnellement, les sites et les applications à faible budget et à faible trafic utilisaient l’hébergement partagé, tandis que les charges de travail les plus exigeantes étaient hébergées sur des serveurs dédiés.
-
L’hébergement partagé * est le moyen le plus courant et le plus abordable de mettre en place un site simple et de petite taille. Dans ce scénario, des centaines ou des milliers de sites partagent un pool commun de ressources de serveur, telles que la mémoire et le processeur. L’hébergement partagé tend à offrir les structures de tarification et les fonctionnalités les plus élémentaires et les plus rigides, l’accès au logiciel sous-jacent du site étant très limité en raison de la nature partagée du serveur.
-
L’hébergement dédié * correspond à la vente ou à la location d’un serveur physique à un seul client. C’est plus flexible que l’hébergement partagé, puisqu’un développeur a le plein contrôle du matériel, du système d’exploitation et de la configuration logicielle du serveur. Les serveurs dédiés sont courants parmi les applications les plus exigeantes, telles que les logiciels d’entreprise et les services commerciaux tels que les médias sociaux, les jeux en ligne et les plateformes de développement.
Comment fonctionne la virtualisation
Les environnements d’hébergement dans le cloud sont divisés en deux parties principales: les serveurs virtuels sur lesquels les applications et les sites Web peuvent être hébergés et les hôtes physiques qui gèrent les serveurs virtuels. Cette virtualisation est à la base des caractéristiques et des avantages de l’hébergement en nuage: la relation entre l’hôte et le serveur virtuel offre une flexibilité et une évolutivité qui ne sont pas disponibles via d’autres méthodes d’hébergement.
Serveurs virtuels
À l’heure actuelle, la forme la plus courante d’hébergement en nuage consiste à utiliser un serveur privé virtuel ou VPS. Un VPS est un serveur virtuel qui agit comme un véritable ordinateur avec son propre système d’exploitation. Alors que les serveurs virtuels partagent les ressources qui leur sont allouées par l’hôte, leur logiciel est bien isolé et les opérations sur un VPS n’affectent pas les autres.
Les serveurs virtuels sont déployés et gérés par l’hyperviseur d’un hôte physique. Chaque serveur virtuel dispose d’un système d’exploitation installé par l’hyperviseur et sur lequel l’utilisateur peut ajouter des logiciels. Dans de nombreux cas pratiques, l’utilisation d’un serveur virtuel est identique à celle d’un serveur physique dédié, bien que les performances puissent être parfois inférieures en raison du partage des ressources matérielles physiques entre serveurs virtuels sur le même hôte.
Les hôtes
Les ressources sont allouées à un serveur virtuel par le serveur physique sur lequel il est hébergé. Cet hôte utilise une couche logicielle appelée hyperviseur pour déployer, gérer et attribuer des ressources aux serveurs virtuels sous son contrôle. Le terme «hyperviseur» est souvent utilisé pour désigner les hôtes physiques sur lesquels les hyperviseurs (et leurs serveurs virtuels) sont installés.
L’hôte est responsable de l’allocation de la mémoire, des cœurs de la CPU et d’une connexion réseau à un serveur virtuel, le cas échéant. L’hyperviseur a pour tâche permanente de planifier des processus entre les cœurs de processeur virtuels et physiques, car plusieurs serveurs virtuels peuvent utiliser les mêmes cœurs physiques. La méthode de choix pour l’ordonnancement des processus est l’une des principales différences entre les différents hyperviseurs.
Les hyperviseurs
Il existe aujourd’hui quelques logiciels d’hyperviseur courants pour les hôtes cloud. Ces différentes méthodes de virtualisation présentent des différences essentielles, mais elles fournissent toutes les outils dont un hôte a besoin pour déployer, gérer, déplacer et détruire des serveurs virtuels en fonction des besoins.
-
KVM *, abréviation de “Kernel-Based Virtual Machine”, est une infrastructure de virtualisation intégrée au noyau Linux. Lorsqu’il est activé, ce module de noyau transforme la machine Linux en hyperviseur, lui permettant de commencer à héberger des serveurs virtuels. Cette méthode contraste avec le fonctionnement habituel des autres hyperviseurs, car KVM n’a pas besoin de créer ni d’émuler les composants du noyau utilisés pour l’hébergement virtuel.
-
Xen * est l’un des hyperviseurs les plus couramment utilisés aujourd’hui. Contrairement à KVM, Xen utilise un micro-noyau, qui fournit les outils nécessaires pour prendre en charge les serveurs virtuels sans modifier le noyau de l’hôte. Xen prend en charge deux méthodes distinctes de virtualisation: la paravirtualisation, qui évite d’émuler du matériel, mais nécessite des modifications spéciales du système d’exploitation des serveurs virtuels, et la virtualisation assistée par le matériel, qui utilise des fonctionnalités matérielles spéciales pour émuler efficacement un serveur virtuel. peut utiliser des systèmes d’exploitation non modifiés.
-
ESXi * est un hyperviseur de niveau entreprise proposé par VMware. ESXi est unique en ce sens qu’il n’est pas nécessaire que l’hôte ait un système d’exploitation sous-jacent. Ce type d’hyperviseur de «type 1» est extrêmement efficace en raison de l’absence d’un «intermédiaire» entre le matériel et les serveurs virtuels. Avec les hyperviseurs de type 1 tels qu’ESXi, aucun système d’exploitation ne doit être chargé sur l’hôte, car l’hyperviseur lui-même agit en tant que système d’exploitation.
-
Hyper-V * est l’une des méthodes les plus courantes de virtualisation des serveurs Windows et est disponible en tant que service système dans Windows Server. Cela fait de Hyper-V un choix courant pour les développeurs travaillant dans un environnement logiciel Windows. Hyper-V est inclus dans Windows Server 2008 et 2012 et est également disponible en tant que serveur autonome sans installation existante de Windows Server.
Pourquoi l’hébergement en nuage?
Les fonctionnalités offertes par la virtualisation se prêtent bien à un environnement d’hébergement en nuage. Les serveurs virtuels peuvent être configurés avec une large gamme d’allocations de ressources matérielles et souvent, des ressources peuvent être ajoutées ou supprimées à mesure que les besoins évoluent. Certains hôtes de cloud peuvent déplacer un serveur virtuel d’un hyperviseur à un autre avec peu ou pas de temps d’indisponibilité, ou dupliquer le serveur pour assurer la redondance en cas de défaillance d’un nœud.
Personnalisation
Les développeurs préfèrent souvent travailler dans un VPS en raison du contrôle qu’ils ont sur l’environnement virtuel. La plupart des serveurs virtuels exécutant Linux offrent un accès par défaut au compte root (administrateur) ou aux privilèges + sudo +
, ce qui permet aux développeurs d’installer et de modifier les logiciels dont ils ont besoin.
Cette liberté de choix commence par le système d’exploitation. La plupart des hyperviseurs sont capables d’héberger presque tous les systèmes d’exploitation invités, des logiciels open source tels que Linux et BSD aux systèmes propriétaires tels que Windows. À partir de là, les développeurs peuvent commencer à installer et à configurer les blocs de construction nécessaires à leur travail. Les configurations d’un serveur cloud peuvent impliquer un serveur Web, une base de données, un service de messagerie ou une application développée et prête à être distribuée.
L’évolutivité
Les serveurs cloud sont très flexibles dans leur capacité à évoluer. Les méthodes de mise à l’échelle se divisent en deux grandes catégories: la mise à l’échelle horizontale et la mise à l’échelle verticale. La plupart des méthodes d’hébergement peuvent évoluer d’une manière ou d’une autre, mais l’hébergement en nuage est unique par sa capacité à évoluer à la fois horizontalement et verticalement. Cela est dû à l’environnement virtuel sur lequel repose un serveur de cloud: ses ressources étant une partie allouée d’un pool physique plus important, il est facile d’ajuster ces ressources ou de dupliquer l’image virtuelle sur d’autres hyperviseurs.
-
La mise à l’échelle horizontale *, souvent appelée «mise à l’échelle», est le processus permettant d’ajouter plusieurs nœuds à un système en cluster. Cela peut impliquer l’ajout de plusieurs serveurs Web pour mieux gérer le trafic, l’ajout de nouveaux serveurs dans une région afin de réduire le temps de latence ou l’ajout de travailleurs supplémentaires à la base de données pour augmenter la vitesse de transfert des données. De nombreux nouveaux utilitaires Web, tels que CoreOS, Docker et Couchbase, sont construits autour d’une mise à l’échelle horizontale efficace.
-
La mise à l’échelle verticale *, ou «mise à l’échelle», correspond à la mise à niveau d’un serveur unique avec des ressources supplémentaires. Cela peut être une extension de la mémoire disponible, une allocation de plusieurs cœurs de processeur ou une autre mise à niveau qui augmente la capacité de ce serveur. Ces mises à niveau ouvrent généralement la voie à des instances logicielles supplémentaires, telles que les utilisateurs de bases de données, pour fonctionner sur ce serveur. Avant que la mise à l’échelle horizontale ne devienne rentable, la mise à l’échelle verticale était la méthode de choix pour répondre à la demande croissante.
Avec l’hébergement en nuage, les développeurs peuvent évoluer en fonction des besoins de leur application. Ils peuvent déployer des nœuds VPS supplémentaires, mettre à niveau des serveurs existants ou faire les deux lorsque les besoins du serveur ont considérablement augmenté.
Conclusion
A présent, vous devriez avoir une bonne compréhension du fonctionnement de l’hébergement en cloud, y compris de la relation entre les hyperviseurs et les serveurs virtuels dont ils sont responsables, ainsi que de la comparaison de l’hébergement en cloud avec d’autres méthodes d’hébergement courantes. Avec cette information à l’esprit, vous pouvez choisir le meilleur hébergement pour vos besoins.