Cours 10SIN

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

ComposantOn-PremiseIaaSPaaSSaaS
ApplicationsVousVousVousFournisseur
DonneesVousVousVousVous
RuntimeVousVousFournisseurFournisseur
OSVousVousFournisseurFournisseur
VirtualisationVousFournisseurFournisseurFournisseur
Serveurs/ReseauVousFournisseurFournisseurFournisseur

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

App 1
App 2
OS 1
OS 2
Hyperviseur
Materiel

Go de RAM, minutes au boot

Conteneur Docker

App 1
App 2
Docker Engine
OS hote (Linux)
Materiel

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

↓ MQTT / HTTP ↓

Passerelle / Edge

Pre-traitement local

↓ Internet ↓

Cloud Platform

IngestionStockageAnalyticsML
↓ API REST ↓

Dashboard

Web

App

Mobile

Alertes

Email/SMS

Services Cloud pour IoT

FournisseurService IoTPoints forts
AWSIoT Core, GreengrassEcosysteme complet, scale massif
AzureIoT Hub, IoT CentralIntegration Microsoft, AI
GoogleCloud IoT CoreBigQuery, TensorFlow
ThingsBoardOpen SourceSelf-hosted, gratuit

Projet type : Station meteo cloud

  1. ESP32 lit DHT22 et publie sur MQTT toutes les 5 min
  2. AWS IoT Core recoit les messages MQTT
  3. Lambda function stocke dans DynamoDB
  4. API Gateway expose les donnees en REST
  5. Application React affiche un dashboard temps reel

Resume en 5 points cles

  1. 1Le cloud offre des ressources a la demande, elastiques et facturees a l'usage.
  2. 2IaaS = infrastructure, PaaS = plateforme, SaaS = application complete.
  3. 3La virtualisation permet de faire tourner plusieurs OS sur une seule machine physique.
  4. 4Docker conteneurise les applications (leger, portable, demarrage rapide).
  5. 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

Scientia