Cloud Computing
SaaS, PaaS, IaaS, virtualisation, conteneurs et integration IoT
Objectifs pedagogiques
- Comprendre les principes du cloud computing et ses modeles de service
- Differencier IaaS, PaaS et SaaS et leurs cas d'usage
- Decouvrir la virtualisation et les conteneurs (Docker)
- Identifier le role du cloud dans l'ecosysteme IoT
Introduction : Qu'est-ce que le Cloud ?
Exemple concret : Netflix
Netflix n'a pas de datacenters physiques pour diffuser vos series. Tout est heberge sur Amazon Web Services (AWS). Quand des millions d'utilisateurs se connectent le soir, les serveurs scalent automatiquement pour absorber la charge, puis reduisent quand tout le monde dort.
Le Cloud Computing (informatique en nuage) permet d'acceder a des ressources informatiques (serveurs, stockage, applications) via Internet, sans posseder physiquement l'infrastructure. On paye a l'usage, comme l'electricite.
Les 5 caracteristiques du Cloud (NIST)
Self-service
A la demande
Acces reseau
Via Internet
Mutualisation
Multi-tenant
Elasticite
Scale up/down
Mesurable
Pay-per-use
1Modeles de Service : IaaS, PaaS, SaaS
La pile du Cloud Computing
SaaS
Application complete (Gmail, Office 365)
PaaS
Plateforme de dev (Heroku, Firebase)
IaaS
Infrastructure (AWS EC2, Azure VM)
Comparaison des responsabilites
| Composant | On-Premise | IaaS | PaaS | SaaS |
|---|---|---|---|---|
| Applications | Vous | Vous | Vous | Fournisseur |
| Donnees | Vous | Vous | Vous | Vous |
| Runtime | Vous | Vous | Fournisseur | Fournisseur |
| OS | Vous | Vous | Fournisseur | Fournisseur |
| Virtualisation | Vous | Fournisseur | Fournisseur | Fournisseur |
| Serveurs/Reseau | Vous | Fournisseur | Fournisseur | Fournisseur |
Exemples concrets
IaaS
- AWS EC2 : VM a la demande
- Azure VMs : idem Microsoft
- OVH : hebergeur francais
Usage : migration serveurs existants
PaaS
- Heroku : deploy en 1 clic
- Firebase : backend Google
- Vercel : frontend React/Next
Usage : developpement rapide
SaaS
- Gmail : messagerie
- Slack : communication
- Salesforce : CRM
Usage : utilisateur final
Analogie pizza : On-premise = faire sa pizza soi-meme. IaaS = acheter les ingredients. PaaS = pizza a cuire. SaaS = pizza livree !
2Virtualisation : La Base du Cloud
Qu'est-ce que la virtualisation ?
La virtualisation permet de faire tourner plusieurs systemes d'exploitation sur une seule machine physique grace a un hyperviseur. Chaque machine virtuelle (VM) croit avoir son propre materiel dedie.
Architecture de virtualisation
VM 1
Ubuntu
App A
VM 2
Windows
App B
VM 3
Debian
App C
Hyperviseur
(VMware, Hyper-V, KVM)
Materiel physique (serveur)
CPU, RAM, Disque, Reseau
Types d'hyperviseurs
Type 1 (Bare-metal)
- Directement sur le materiel
- Meilleures performances
- Ex: VMware ESXi, Hyper-V, KVM
Type 2 (Hosted)
- Sur un OS existant
- Plus simple a installer
- Ex: VirtualBox, VMware Workstation
Avantages de la virtualisation
// Benefices cles
Consolidation
1 serveur physique = 10-20 VMs
Meilleure utilisation des ressources (CPU souvent a 10-20%)
Isolation
Chaque VM est independante
Crash d'une VM n'affecte pas les autres
Flexibilite
Creer/supprimer une VM en minutes
Snapshots pour backup/rollback
Migration
Deplacer une VM d'un serveur a l'autre
Sans interruption de service (live migration)
3Conteneurs et Docker
VMs vs Conteneurs
Contrairement aux VMs qui virtualisent le materiel, les conteneurs virtualisent l'OS. Ils partagent le noyau du systeme hote, ce qui les rend beaucoup plus legers et rapides a demarrer.
Comparaison VM vs Conteneur
Machine Virtuelle
Go de RAM, minutes au boot
Conteneur Docker
Mo de RAM, secondes au boot
Commandes Docker essentielles
# Telecharger une image
docker pull nginx
# Lancer un conteneur
docker run -d -p 8080:80 --name mon-serveur nginx
-d : mode detache (arriere-plan)
-p : mapping port hote:conteneur
# Lister les conteneurs
docker ps
# Arreter un conteneur
docker stop mon-serveur
# Construire une image depuis Dockerfile
docker build -t mon-app:v1 .
Exemple de Dockerfile
# Dockerfile pour une app Python
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 5000
CMD ["python", "app.py"]
Kubernetes (K8s) : Orchestrateur de conteneurs pour gerer des centaines/milliers de conteneurs Docker automatiquement (scaling, load balancing, rolling updates).
4Cloud et IoT : L'Architecture Complete
Role du cloud dans l'IoT
Le cloud est le "cerveau" de l'ecosysteme IoT : il stocke les donnees, les analyse, et permet la visualisation et le controle a distance. Il fait le lien entre des millions d'objets connectes et les utilisateurs.
Architecture IoT Cloud complete
Capteur 1
ESP32
Capteur 2
Arduino
Capteur N
LoRa
Passerelle / Edge
Pre-traitement local
Cloud Platform
Dashboard
Web
App
Mobile
Alertes
Email/SMS
Services Cloud pour IoT
| Fournisseur | Service IoT | Points forts |
|---|---|---|
| AWS | IoT Core, Greengrass | Ecosysteme complet, scale massif |
| Azure | IoT Hub, IoT Central | Integration Microsoft, AI |
| Cloud IoT Core | BigQuery, TensorFlow | |
| ThingsBoard | Open Source | Self-hosted, gratuit |
Projet type : Station meteo cloud
- ESP32 lit DHT22 et publie sur MQTT toutes les 5 min
- AWS IoT Core recoit les messages MQTT
- Lambda function stocke dans DynamoDB
- API Gateway expose les donnees en REST
- Application React affiche un dashboard temps reel
Resume en 5 points cles
- 1Le cloud offre des ressources a la demande, elastiques et facturees a l'usage.
- 2IaaS = infrastructure, PaaS = plateforme, SaaS = application complete.
- 3La virtualisation permet de faire tourner plusieurs OS sur une seule machine physique.
- 4Docker conteneurise les applications (leger, portable, demarrage rapide).
- 5AWS/Azure IoT sont les plateformes cloud de reference pour les projets IoT.
Mini-Quiz
Question 1 : Gmail est un exemple de quel modele cloud ?
a) IaaS
b) PaaS
c) SaaS
Reponse : c) SaaS - l'utilisateur final consomme une application complete
Question 2 : Quelle est la difference principale entre VM et conteneur ?
a) Les conteneurs sont plus securises
b) Les conteneurs partagent le noyau de l'OS hote
c) Les VMs sont plus rapides a demarrer
Reponse : b) Les conteneurs virtualisent l'OS, pas le materiel
Question 3 : Quel service AWS est dedie a l'IoT ?
a) AWS EC2
b) AWS IoT Core
c) AWS S3
Reponse : b) AWS IoT Core gere les connexions MQTT et l'ingestion de donnees IoT
