Ceci est un texte traduit automatiquement qui peut contenir des erreurs !
Les services cloud et la virtualisation sont étroitement liés : tous deux consistent à utiliser des ressources de données sans posséder soi-même tout le matériel. Cependant, il existe quelques différences importantes.
Qu’est-ce que la virtualisation ?
La virtualisation consiste à exécuter plusieurs machines « virtuelles » sur la même machine physique. Au lieu d’avoir un serveur physique distinct pour le serveur web, un pour la base de données et un pour le serveur de fichiers, vous pouvez exécuter les trois en tant que machines virtuelles sur la même machine.
Le logiciel qui rend cela possible s’appelle un hyperviseur :
| Type | Explication | Exemple |
|---|---|---|
| Type 1 (bare-metal) | S’exécute directement sur le matériel, sans OS classique en dessous | Proxmox, VMware ESXi |
| Type 2 (hosted) | S’exécute au-dessus d’un système d’exploitation classique | VirtualBox, VMware Workstation |
Type 1 vs. Type 2
- Type 1 est ce que nous utilisons en production et dans la salle serveur. Proxmox s’exécute directement sur le serveur.
- Type 2 est ce que vous utilisez sur votre propre PC pour les tests. VirtualBox s’exécute sur Windows ou macOS.
Qu’est-ce qu’une machine virtuelle (VM) ?
Une VM est un système d’exploitation complet qui s’exécute à l’intérieur d’un autre. Elle dispose de sa propre (virtuelle) mémoire, CPU et disque, mais partage le matériel physique avec d’autres VM.
Avantages des VM :
- Isolation - Chaque VM est indépendante. Si une VM plante, les autres ne sont pas affectées.
- Flexibilité - Vous pouvez exécuter différents systèmes d’exploitation sur la même machine (par exemple, Ubuntu et Windows Server).
- Snapshot/sauvegarde - Vous pouvez prendre un instantané d’une VM et revenir en arrière si quelque chose se passe mal.
- Utilisation des ressources - Une machine physique avec beaucoup de RAM et de CPU peut exécuter de nombreuses VM.
Qu’est-ce que les conteneurs ?
Les conteneurs sont plus légers que les VM. Ils partagent le noyau du système d’exploitation avec la machine hôte, mais s’exécutent dans des environnements isolés.
| Propriété | VM | Conteneur |
|---|---|---|
| Taille | Grande (OS complet) | Petite (juste l’application et les dépendances) |
| Temps de démarrage | Minutes | Secondes |
| Isolation | Forte (OS propre) | Bonne, mais partage le noyau du système d’exploitation |
| Cas d’utilisation | Lorsque vous avez besoin d’un OS entièrement distinct | Applications uniques et microservices |
| Exemple | Proxmox VM, VirtualBox | Docker, Podman |
Quand utiliser quoi ?
- Utilisez une VM lorsque vous avez besoin d’un système d’exploitation complet, par exemple un Windows Server ou un serveur Linux avec un contrôle total.
- Utilisez un container lorsque vous avez seulement besoin d’exécuter une application, par exemple un serveur web, une base de données ou Grafana.
En pratique, nous utilisons souvent les deux : des VM qui hébergent des conteneurs Docker.
Services Cloud
Les services cloud signifient que quelqu’un d’autre possède et exploite le matériel, et que vous louez ce dont vous avez besoin via Internet. Au lieu d’acheter et de maintenir un serveur physique, vous payez pour utiliser une machine virtuelle dans le cloud.
Modèles de service
Il existe trois modèles principaux pour les services cloud :
| Modèle | Nom complet | Ce que vous obtenez | Ce que vous gérez vous-même | Exemple |
|---|---|---|---|---|
| IaaS | Infrastructure as a Service | Machines virtuelles, réseau et stockage | OS, applications, configuration | Azure VM, AWS EC2 |
| PaaS | Platform as a Service | Une plateforme prête à l’emploi pour exécuter votre code | Uniquement l’application | Azure App Service, Heroku |
| SaaS | Software as a Service | Applications préfabriquées que vous utilisez via le navigateur | Rien de technique | Microsoft 365, Google Docs |
Un moyen simple de s’en souvenir
- IaaS = Vous louez une machine vide. Vous installez et configurez tout vous-même.
- PaaS = Vous louez un environnement prêt à l’emploi. Vous n’avez qu’à y intégrer votre code.
- SaaS = Vous louez une application prête à l’emploi. Vous n’avez qu’à vous connecter et l’utiliser.
Modèles de livraison
Les services cloud peuvent être fournis de différentes manières :
| Modèle | Explication | Exemple |
|---|---|---|
| Cloud public | Infrastructure partagée disponible pour tous | Azure, AWS, Google Cloud |
| Cloud privé | Infrastructure dédiée à une entreprise | Proxmox dans la salle serveur de l’école |
| Cloud hybride | Combinaison de cloud public et privé | Certains services locaux, certains sur Azure |
VPS : Une solution cloud courante
Un VPS (Virtual Private Server) est l’une des solutions IaaS les plus courantes. Vous louez une machine virtuelle auprès d’un fournisseur de cloud et avez un contrôle total dessus, comme si vous aviez votre propre serveur.
Utilisations typiques :
- Exécuter un serveur web
- Configurer un service VPN
- Héberger une application (par exemple, Flask + base de données)
- Tester des choses sans risquer votre propre matériel
Fournisseurs VPS populaires :
| Fournisseur | Avantages |
|---|---|
| Linode (Akamai) | Simple, bon marché, bons guides |
| DigitalOcean | Convivial, bonne documentation |
| Hetzner | Abordable, européen (compatible RGPD) |
| Azure | Intégré à l’écosystème Microsoft |
Coûts dans le cloud
Les services cloud coûtent de l’argent, et cela peut vite devenir cher si l’on n’y prend pas garde. Une VM qui tourne 24/7 coûte plus cher qu’une que l’on éteint après usage. Vérifiez toujours les prix et configurez des alertes de coûts.
Local vs. cloud
De nombreuses entreprises utilisent une combinaison de serveurs locaux et de services cloud. Voici quelques facteurs à prendre en compte :
| Facteur | Local (on-premises) | Cloud |
|---|---|---|
| Contrôle | Contrôle total du matériel et des données | Dépend du fournisseur |
| Coût | Investissement important au départ | Coûts mensuels récurrents |
| Évolutivité | Limité par le matériel physique | Peut être augmenté ou réduit selon les besoins |
| Maintenance | Vous devez tout réparer vous-même | Le fournisseur gère le matériel |
| Confidentialité | Vous savez où se trouvent les données | Les données peuvent être stockées dans d’autres pays |
Exercice 1 - Exécutez une VM sur votre propre machine
Téléchargez VirtualBox (gratuit) et essayez d’installer une distribution Linux, par exemple Ubuntu Desktop ou Linux Mint.
- Quelle quantité de RAM et de CPU choisissez-vous d’allouer à la VM ?
- Remarquez-vous que votre PC devient plus lent pendant que la VM s’exécute ?
- Que se passe-t-il si vous essayez d’allouer plus de RAM à la VM que votre machine n’en a ?
Cela donne une bonne idée de la façon dont les VM partagent les ressources de la machine physique.
Exercice 2 - Démarrer un conteneur avec Docker
Si vous avez Docker installé (ou avez accès à une VM avec Docker), essayez d’exécuter :
docker run -d -p 8080:80 nginx
Visitez ensuite http://localhost:8080 dans votre navigateur. Vous exécutez maintenant un serveur web dans un conteneur ! Comparez le temps que cela a pris par rapport à la configuration d’une VM complète avec Nginx.
Exercice 3 - Quels services cloud utilisez-vous déjà ?
Réfléchissez aux services que vous utilisez au quotidien :
- Microsoft 365 (Word, Teams, OneDrive) est SaaS
- GitHub Pages pour héberger un site web est PaaS
- Si vous créez une VM dans Proxmox à l’école, c’est en pratique IaaS (uniquement en local)
Pouvez-vous catégoriser d’autres services que vous utilisez ?
Exercice 4 - Où se trouvent vos données ?
Allez sur le Microsoft Privacy Dashboard et regardez ce que Microsoft stocke à votre sujet. Vérifiez également les conditions d’utilisation d’un service cloud que vous utilisez :
- Où dans le monde les données sont-elles stockées ?
- Que se passe-t-il avec les données si vous supprimez votre compte ?
- Êtes-vous propriétaire de vos données, ou le fournisseur ?
Ces questions sont particulièrement importantes compte tenu du RGPD et de la confidentialité.
Résumé
- La virtualisation vous permet d’exécuter plusieurs services sur le même matériel, soit sous forme de VM soit de conteneurs
- Les services cloud signifient que quelqu’un d’autre possède le matériel et que vous louez ce dont vous avez besoin
- IaaS, PaaS et SaaS décrivent votre niveau de responsabilité
- Dans la pratique, beaucoup utilisent une solution hybride avec des services à la fois locaux et basés sur le cloud
- Le choix entre local et cloud dépend du contrôle, du coût, de la scalabilité et de la confidentialité