Introduction aux technologies Cloud

Le Cloud Computing révolutionne la façon dont les entreprises conçoivent, déploient et gèrent leurs infrastructures et applications. Cette approche permet d’accéder à des ressources informatiques (serveurs, stockage, réseaux, services) de manière flexible et évolutive :

  • via Internet avec les clouds dits publics,
  • de manière privée : “on-premise”.

Les modèles de service Cloud

cloudtypes

Les services les plus utilisés sont les IaaS, PaaS et SaaS, dont les caractéristiques sont résumées ci-dessous.

IaaS - Infrastructure as a Service

L’Infrastructure as a Service fournit des ressources informatiques virtualisées :

  • Serveurs virtuels : Machines virtuelles configurables
  • Stockage : Volumes de stockage bloc, objet ou fichier
  • Réseau : Réseaux privés virtuels, load balancers, firewalls
  • Exemples : Amazon EC2, Google Compute Engine, OpenStack Nova

PaaS - Platform as a Service

La Platform as a Service offre un environnement de développement et de déploiement complet :

  • Runtime : Environnements d’exécution pour applications
  • Middleware : Bases de données, queues, caches
  • Outils de développement : CI/CD, monitoring, logging
  • Exemples : Heroku, Google App Engine, Azure App Service, CloudFoundry

SaaS - Software as a Service

Le Software as a Service propose des applications complètes et intégrées, directement accessibles via le web :

  • Applications métier : Gmail, Slack, Zoom
  • Outils collaboratifs : Google Docs, Trello, Notion
  • Accès via navigateur : Pas d’installation locale nécessaire

Les Clouds publics

N’importe quelle entreprise ou particulier peut facilement ouvrir un compte et souscrire à des services des clouds publics.

Les hyperscalers dominants

Trois grands hyperscalers se partagent aujourd’hui le marché :

  • AWS (Amazon Web Services) : Leader historique, le plus large catalogue de services
  • Microsoft Azure : Forte intégration avec l’écosystème Microsoft
  • Google Cloud Platform (GCP) : Expertise en data analytics et intelligence artificielle

Alternatives européennes et mondiales

Une multitude de cloud providers plus ou moins importants rivalisent et concurrencent les grands américains.

En Europe : OVHcloud, Exoscale, Scaleway, DigitalOcean, Hetzner

Autres acteurs mondiaux : IBM Cloud, Oracle Cloud, Alibaba Cloud

Dans ce workshop, vous utiliserez Exoscale pour créer votre infrastructure (un cluster managé) dans laquelle vous ferez tourner notre application de démo.

Les Clouds privés

Certaines petites ou grandes entreprises préfèrent mettre en place et gérer leur propre cloud privé, hébergé sur leurs datacenters. Ceci pour des raisons :

  • Historiques : Migration progressive d’infrastructures existantes
  • Économiques : Contrôle des coûts à grande échelle
  • Réglementaires : Conformité aux exigences de souveraineté des données
  • Sécurité : Maîtrise totale de l’infrastructure et des données

Parmi les solutions pour clouds privés, nous pouvons lister OpenStack, VMware, Proxmox, OpenShift.

Stack technologique pour le Cloud

Infrastructure as Code (IaC)

Gestion de l’infrastructure via du code versionné :

  • Terraform / OpenTofu : Outils multi-cloud populaires
  • Pulumi : IaC avec des langages de programmation
  • AWS CloudFormation : Solution native AWS
  • Azure ARM Templates : Solution native Azure

opentofu

Conteneurisation et orchestration

  • Docker : Plateforme de conteneurisation
  • Kubernetes : Orchestrateur de conteneurs

Packaging et déploiement

  • Helm : Gestionnaire de packages templatisé pour Kubernetes
  • Kustomize : Outil de personnalisation pour Kubernetes
  • ArgoCD, FluxCD : Déploiement GitOps

Exposition et routage

  • Load Balancers : Répartition de charge (ALB, NLB, etc.)
  • Reverse Proxy : Traefik, NGINX, Envoy
  • API Gateways : Kong, Ambassador, Istio

Sécurité dans le Cloud

Modèle de responsabilité partagée

  • Fournisseur Cloud : Sécurité de l’infrastructure physique
  • Client : Sécurité des données et des applications

Industrialisation et bonnes pratiques

  • Chiffrement : Données au repos et en transit
  • Gestion des identités : IAM, RBAC
  • Surveillance : Monitoring et logging des accès
  • Sauvegarde : Stratégies de disaster recovery

Une approche cloud-native permet de déployer et gérer efficacement des applications modernes comme notre VotingApp dans un environnement scalable et résilient.

Mise en pratique

Créez votre compte sur Exoscale, celui-ci vous permettra de déployer votre cluster Kubernetes dans la section suivante.


votingapp