Introduction
L’hébergement cloud est une méthode d’utilisation de serveurs virtuels en ligne pouvant être créés, modifiés et supprimés à la demande. Les serveurs cloud se voient allouer des ressources telles que des cœurs de CPU et de la mémoire par le matériel sur lequel ils sont hébergés, et peuvent être configurés avec n’importe quel système d’exploitation et les logiciels associés. L’hébergement cloud peut être utilisé pour l’hébergement de sites web, la distribution d’applications web ou d’autres services.
Dans ce guide, nous passerons en revue certains des concepts de base liés à l’hébergement cloud, 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 Cloud » ?
« Le Cloud » est un terme courant qui désigne des serveurs accessibles via Internet et disponibles pour une utilisation publique, soit via une location payante, soit dans le cadre d’un service logiciel ou de plateforme. Un service basé sur le cloud peut prendre de nombreuses formes, notamment l’hébergement web, l’hébergement et le partage de fichiers, ainsi que la distribution de logiciels. « Le Cloud » peut également faire référence à l’informatique en nuage, c’est-à-dire à la répartition transparente d’une tâche sur plusieurs serveurs. Au lieu d’exécuter un processus complexe sur une seule machine puissante, l’informatique en nuage répartit la tâche sur de nombreux nœuds plus petits.
Comment fonctionne la virtualisation
Les environnements d’hébergement 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. La virtualisation rend l’hébergement cloud possible : la relation entre l’hôte et le serveur virtuel offre une flexibilité et une mise à l’échelle qui ne sont pas disponibles avec d’autres méthodes d’hébergement.
Serveurs Virtuels
La forme la plus courante d’hébergement cloud aujourd’hui est l’utilisation d’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. Bien que les serveurs virtuels partagent des ressources qui leur sont allouées par l’hôte, ils sont totalement isolés en pratique, de sorte que 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 a un système d’exploitation installé par l’hyperviseur, qui est disponible pour l’utilisateur. Pour des raisons pratiques, un serveur virtuel est identique à un serveur physique dédié en utilisation, bien qu’un serveur virtuel ait besoin de partager des ressources matérielles avec d’autres serveurs sur le même hôte.
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 qui sont sous son contrôle. Le terme « hyperviseur » est également souvent utilisé pour désigner les hôtes physiques sur lesquels les hyperviseurs (et leurs serveurs virtuels) sont installés.
L’hôte est chargé d’allouer de la mémoire, des cœurs de CPU et une connexion réseau à un serveur virtuel lorsqu’il est lancé. Une tâche continue de l’hyperviseur est de planifier les processus entre les cœurs de CPU virtuels et les cœurs physiques, car plusieurs serveurs virtuels peuvent utiliser les mêmes cœurs physiques. Les hyperviseurs diffèrent les uns des autres dans les nuances de la planification des processus et le partage des ressources.
Hyperviseurs
Il existe quelques hyperviseurs courants disponibles pour les hôtes cloud aujourd’hui. Ces différentes méthodes de virtualisation présentent quelques différences clés, mais elles fournissent toutes les outils dont un hôte a besoin pour déployer, maintenir, déplacer et détruire les serveurs virtuels selon les 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 noyau transforme la machine Linux en un 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 ou d’émuler des composants du noyau utilisés pour l’hébergement virtuel.
Xen est l’un des hyperviseurs les plus courants. Contrairement à KVM, Xen utilise son propre 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 la nécessité d’émuler le matériel mais nécessite des modifications spéciales apportées au système d’exploitation des serveurs virtuels, et la virtualisation assistée par matériel (ou HVM), qui utilise des fonctionnalités matérielles spéciales pour émuler efficacement un serveur virtuel afin qu’il puisse utiliser des systèmes d’exploitation non modifiés. HVM est devenu courant sur les processeurs grand public vers 2006, permettant à la plupart des ordinateurs de bureau et portables d’atteindre des performances similaires lors de l’exécution de machines virtuelles ou de conteneurs à micro-noyau (par exemple, via Docker).
ESXi est un hyperviseur de niveau entreprise proposé par VMware. ESXi est unique en ce qu’il ne nécessite pas que l’hôte ait un système d’exploitation sous-jacent. Cela est appelé un hyperviseur de « type 1 » et 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 comme ESXi, aucun système d’exploitation n’a besoin d’être chargé sur l’hôte car l’hyperviseur lui-même agit comme le système d’exploitation.
Hyper-V est l’une des méthodes les plus populaires 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 les versions modernes de Windows et est également disponible en tant que serveur autonome sans installation existante de Windows Server. WSL2, le Sous-système Windows pour Linux, est implémenté via Hyper-V.
Pourquoi l’hébergement cloud ?
Les fonctionnalités offertes par la virtualisation se prêtent bien à un environnement d’hébergement cloud. Les serveurs virtuels peuvent être configurés avec une large gamme d’allocations de ressources matérielles et peuvent souvent voir leurs ressources ajoutées ou supprimées au fur et à mesure des besoins. Certains hébergeurs cloud peuvent déplacer un serveur virtuel d’un hyperviseur à un autre avec peu ou pas d’interruption de service, 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 sous Linux offrent un accès au compte root (administrateur) ou aux privilèges sudo
par défaut, donnant ainsi à un développeur la possibilité d’installer et de modifier tout logiciel dont il a besoin.
Cette liberté de choix commence avec le système d’exploitation. La plupart des hyperviseurs sont capables d’héberger pratiquement n’importe quel système d’exploitation invité, 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 pour ce sur quoi ils travaillent. Les configurations d’un serveur cloud peuvent inclure un serveur web, une base de données ou une application qui a été développée et est prête à être distribuée.
Scalabilité
Les serveurs cloud sont très flexibles dans leur capacité à se mettre à l’échelle. 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 se mettre à l’échelle d’une manière ou d’une autre, mais l’hébergement cloud est unique en ce sens qu’il peut se mettre à l’échelle à la fois horizontalement et verticalement. Cela est dû à l’environnement virtuel sur lequel est construit un serveur cloud : comme ses ressources sont une portion allouée d’un pool physique plus important, ces ressources peuvent être ajustées ou dupliquées vers d’autres hyperviseurs.
La mise à l’échelle horizontale, souvent appelée « extension », est le processus d’ajout de nœuds supplémentaires à un système clusterisé. Cela peut impliquer l’ajout de serveurs web supplémentaires pour mieux gérer le trafic, l’ajout de nouveaux serveurs dans une région pour réduire la latence, ou l’ajout de travailleurs de base de données supplémentaires pour augmenter la vitesse de transfert des données.
La mise à l’échelle verticale, ou « extension », consiste à mettre à niveau un seul serveur avec des ressources supplémentaires. Il peut s’agir d’une expansion de la mémoire disponible, d’une allocation de plus de cœurs de CPU, ou d’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, comme des travailleurs de base 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 facto pour répondre à la demande croissante.
Avec l’hébergement en nuage, les développeurs peuvent adapter l’échelle en fonction des besoins de leur application – ils peuvent étendre en déployant des nœuds VPS supplémentaires, étendre en mettant à niveau les serveurs existants, ou faire les deux lorsque les besoins en serveurs ont considérablement augmenté.
Conclusion
À ce stade, vous devriez avoir une compréhension de comment fonctionne l’hébergement en nuage, y compris la relation entre les hyperviseurs et les serveurs virtuels dont ils sont responsables, ainsi que la manière dont l’hébergement en nuage se compare à d’autres méthodes d’hébergement courantes. Avec ces informations en tête, vous pouvez choisir le meilleur hébergement pour vos besoins.
Pour une vue d’ensemble plus large du paysage global de l’informatique en nuage, vous pouvez lire Une Introduction Générale au Cloud Computing.
Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-cloud-hosting