Virtualisation et Cloud

Explication, démystification

Une présentation de Gauthier C.

En 30 minutes

  1. Histoire de la virtualisation
  2. Concepts et solutions de virtualisation
  3. Le Cloud Computing
  4. Infrastructure as a Service
  5. Plateform as a Service
  6. Software as a Service

Histoires de la virtualisation

Une vieille histoire

  • Mis au point dans les années 60 pour les mainframes.
  • Le partitionnement constituait un moyen naturel de tirer pleinement parti de l’investissement matériel.
  • Abandonnée au cours des années 1980 et 1990.

Retour sur x86

  • Besoin de consolidation des serveurs x86 (utilisation 10 à 15%)
  • Coût de migration, manque de fléxibilité
  • x86 non prévu pour la virtualisation

Concepts et solutions de virtualisation

Hyperviseur de type 2

Hyperviseur de type 2

  • logiciels Microsoft (Microsoft VirtualPC, Microsoft Virtual Server)
  • logiciels Parallels (Parallels Desktop, Parallels Server)
  • logiciel Oracle VM VirtualBox (libre)
  • logiciels VMware (VMware Fusion, VMware Player, VMware Server, VMware Workstation)
  • logiciels libres (QEMU : émulateur de plateformes x86, PPC, Sparc, et bochs : émulateur de plateforme x86).

Hyperviseur de type 1

Hyperviseur de type 1

  • Citrix Xen Server (libre)
  • VMware ESXi (gratuit)
  • Microsoft Hyper-V Server
  • Parallels Server Bare Metal
  • KVM (libre)
  • Oracle VM (gratuit)

Isolateur/conteneur

Isolation simple

  • chroot (isolation changement de racine)
  • BSD Jail (isolation en espace utilisateur)

Isolation évoluée

  • Linux-VServer (isolation des processus en espace utilisateur)
  • OpenVZ (partitionnement au niveau noyau sous Linux)
  • LXC (usage des Cgroups du noyau Linux)
  • Docker (usage des Cgroups du noyau Linux)

Outils d'administration

  • Vmware Vsphere
  • oVirt / RHEV
  • Proxmox
  • ...

Le Cloud Computing

Définition

  • Service en libre service à la demande
  • Accessible sur l'ensemble du réseau
  • Mutualisation des ressources
  • Mise à l'echelle rapide
  • Service mesurable

3 modèles de services

Pour 3 populations

4 modèles de déploiement

  • Cloud privé (en interne)
  • Cloud communautaire
  • Cloud public (ouvert à tous)
  • Cloud hybride (privé-public)

Avantages

  • Mutualisation des ressources
  • Achat (Serveurs, licenses, ...) ➟ Location
  • Flexibilité (ressources à la demande)

Inconvénients

  • Perte du contrôle de nos données (utilisation et localisation)
  • Dépendance à la qualité du réseau
  • Risque d'enfermement propriétaire
  • Bilan énergétique global

Infrastructure As A Service

Les fournisseurs de solution IaaS

Solutions externes facturées à l'heure, au Giga, à la bande passante.

  • Amazon Web Services (AWS)
  • Windows Azure
  • Google Compute Engine
  • Rackspace Open Cloud
  • IBM SmartCloud Enterprise
  • HP Enterprise Converged Infrastructure
  • ...

Les solutions IaaS libres

  • OpenStack
  • Apache CloudStack
  • Eucalyptus
  • OpenNebula

Les différentes briques d'une solutions IaaS

Solutions Multi-Hyperviseur

Exemple: Le module Compute (Nova) d'Openstack permet de piloter:

  • KVM
  • XenServer
  • VMWare ESXi (via VCenter)
  • Hyper-V
  • LXC
  • Docker
  • Baremetal (serveur non virtualisé)

Plateform As A Service

Les fournisseurs de solution PaaS

Facturation par instance et durée d'utilisation.

  • Engine Yard
  • Red Hat OpenShift
  • Google App Engine
  • Heroku
  • AppFog
  • Windows Azure Cloud Services
  • Amazon Web Services (AWS)
  • Caspio
  • ...

Les solutions PaaS libres

Des solutions basées sur des architectures IaaS pour automatiser le déploiement d'applications.

  • OpenShift (RedHat)
  • Cloud Foundry (Linux Fondation)
  • Cloudify
  • Apache Stratos
  • Deis (basé sur CoreOS Docker)

OpenShift

Software As A Service

Les solutions SaaS

Le Cloud de niveau Saas représente le plus souvent un catalogue d'applications accessibles en mode service aux utilisateurs finaux.

Dans le mode SaaS, l'usage prime sur la solution: on parle de service de messagerie, de CMS, etc. L'application est déjà construite et opérationnelle. C'est juste du paramétrage, d'où le succès de ce modèle.

The Twelve Factors

L'application des 12 facteurs permet de developper une application SaaS.

  1. Codebase
  2. Dependencies
  3. Config
  4. Backing Services
  5. Build, release, run
  6. Processes
  1. Port binding
  2. Concurrency
  3. Disposability
  4. Dev/prod parity
  5. Logs
  6. Admin process

http://12factor.net

Questions ?