Table des matières
Infrastructures
- Le développement d’une application peut être « influencé » par le choix d’infrastructures d’exécution.
- Ces infrastructures ont évoluées au cours du temps et sont maintenant « disparates ».
- On peut « grossièrement » les diviser en trois catégories :
- Les machines physiques
- Les machines virtuelles
- Les environnements conteneurisés
Les machines physiques ont été les premiers environnements offerts pour développer des applications.
Elles ont évolué depuis les mainframe Unix avec la mise à à disposition de nouveaux types de processeurs.
Maintenant les environnement x86 prédominent.
Une machine physique consiste en un ensemble de ressources matérielles fourni au système et finalement aux applications.
Ajuster les ressources aux applications devant s’y exécuter est primordial.
Les ressources exédentaires sont « perdues » car mobilisées mais non utilisées.
Virtualisation
On virtualise les infrastructures « physiques » Afin d’optimiser l’usage des ressources « allouées ».
La virtualisation consiste à créer plusieurs machines virtuelles (VM)
- à partir d’une machine physique
- à l’aide d’un logiciel appelé hyperviseur.
Chacune de ces machines est autonomes en terme de système d’exploitation et d’exécution.
La virtualisation permet :
- D’optimiser les ressources matérielles
- De permettre de la « surallocation » en instanciant plus de ressources virtuelles que de ressources physiques existantes.
- De faciliter la création et la gestion du cycle de vie des environnements
- D’augmenter la résilience des infrastructures et par conséquent des applications.
IBM
IBM sur ses environnements Power fourni nativement une solution de virtualisation. Celle-ci combinée avec les solutions d’activation des ressources à distance permet d’optimiser les couts de possession des infrastructures IBM.
Aujourd’hui les infrastructures x86 se sont généralisées de part leurs coûts et leurs facilités d’administration.
Elles peuvent se combiner avec les différentes solutions de virtualisation proposées telles que :
- KVM
- Qemu
- VMWare
VMware
Conteneurisation
Si la virtualisation machine « émule » un système, la conteneurisation s’attache à « virtualiser » le contexte d’exécution d’une application.
Ainsi, l’isolation entre les conteneurs est portée par le système sous-jacent.
Il est donc nécessaire d’installer un moteur de conteneurisation sur le système hôte pour utiliser cette solution telle que :
- Docker
- Cri-o
Contrairement à la virtualisation ou l’on instancie un système et donc une licence par machine virtuelle, le conteneur partage les éléments OS. Cela permet :
- De manipuler des éléments plus léger car ne contenant que les spécificités de l’application
- De densifier le nombre de conteneurs sur un système physique
- D’optimiser la gestion des ressources et de faciliter l’élasticité globale du système.
Selon wikipedia : Le cloud computing1 /klaʊd kəmˈpjuːtɪŋ/2,
en français l'informatique en nuage3 (ou nuagique3 ou encore infonuagique3 au Québec),
consiste à utiliser des serveurs informatiques distants par l'intermédiaire d'un réseau, généralement Internet, pour stocker des données ou les exploiter.
On peut donc considérer le « cloud » comme des ressources informatiques mobilisables à la demande.
On peut distinguer plusieurs types de « cloud » :
- Le cloud privé externes ou les ressources fournies sont dédiées à un « client » mais hébergées chez un fournisseur
- Le cloud privé on Premise ou les ressources fournies sont managées par un fournisseur mais hébergées chez un client
- Le cloud public ou les ressources fournies sont partagées avec d’autres « clients ».
Ces solutions peuvent se mixer pour fournir les ressources nécessaires à une entreprise.



