Modèle IaaS :
Installer et configurer les composants techniques
nécessaires aux applications Web (monolithique, multi-tiers, voire encore
clusterisée) sans se préoccuper des contraintes sous-jacentes IT (ressources
et/ou services relatifs au(x) serveur(s), au(x) stockage(s) et au(x) réseau(s)).
A ce stade, on dispose à la demande des
ressources et des services IT nécessaires au prérequis technique des applications. On s’affranchit
(abstraction) alors du volet administration système (dite hardware), mais pas
encore de celui de l’administration système (dite software), mais cela sera le
cas pour le mode PaaS. En effet, il suffit depuis une console Web de management
(IaaS), voire aussi d’API Web Services en mode CLI de disposer à la demande
(sous facturation, bien videmment) de ressources (serveur, stockage, réseau) et de services IT
(gestion des règles de filtrage réseau, gestion de la répartition de charge,
etc.) pour constituer le socle d’accueil applicatif selon les contraintes de
services associées.
Afin de faciliter la vie des administrateurs systèmes
(software), il existe généralement dans l’environnement IaaS, un référentiel
d’images de plusieurs OS (Linux,
Windows, voire autres) en version 32 et/ou 64 bits. Ces images sont
relatives à des OS fraichement installés, mais aussi avec l’installation et la
configuration de base des composants techniques nécessaires aux applications
(ex : Ubuntu 10.4 Server 64bits + Oracle 11i, Ubuntu 10.4 Server 64 bits +
Apache2, etc.). En conséquence, le choix des images OS par serveur selon la
richesse du référentiel sera un gain
d’activité pour l’administrateur système
(software). Selon le niveau de services requis, il restera d’autres actions plus
ou moins complexes à réaliser et orientées IT (ex : mise en œuvre d’une
répartition de charge, de montée en charge dynamique (élasticité), etc.). Ces services IT ne sont pas systématiquement
disponibles dans tous les environnements IaaS. De plus, pour un niveau de
services élevé (ex : l’environnement pour un PRA (Plan de Reprise sur
Activité après sinistre)), il est nécessaire de connaître en détail l’offre IaaS
sur la portée des ressources et des services entre Data Center.
Bref, mettre en place des applications de production depuis
un environnement IaaS est possible, mais nécessite toutefois, une bonne
maîtrise de l’aspect virtuel des ressources et des services IT. Un
administrateur système (software) reste requis.
Le transfert
d’applications Web existantes vers le Cloud est possible. Il y a plusieurs
solutions pour y parvenir :
1. Constituer les ressources et les services IT dans le contexte IaaS à l’identique de l’environnement IT d’origine. Ensuite installer et configurer les composants techniques nécessaires à l’application. Puis exporter les données de l’application d’origine pour les importer dans le Cloud. En final, après qualification préalable, ouvrir le service. Selon la complexité de l’application cela peut prendre en 1 journée à une semaine, voire plus selon le niveau de services requis, sans oublier la prise en charge des actions d’exploitation vis-à-vis des sauvegardes, de la rotation des logs applicatifs, etc.
2. Migrer les images OS des serveurs physiques ou virtuels hébergeant l’application, ainsi que les espaces de données associés vers des images compatibles avec l’environnement IaaS. Cette solution à l’avantage de ne pas réinstaller et reconfigurer les composants techniques nécessaires à l’application. Elle nécessite toutefois, la disposition d’outils type convertisseur qui ne peuvent malheureusement couvrir tous les cas de figure possible. En conséquence, cette solution de migration ne pourra être vraie dans tous les cas. De plus, le processus est moins indissociable, ce qui signifie que la durée du processus de migration a un impact sur le niveau de services requis, en comparaison uniquement de l’export / import des données dans le cas de la réinstallation et la reconfiguration des ressources et des services dans le Cloud. Logiquement, si l’application d’origine est virtualisée au format OVF, la migration sera alors fortement facilitée. En raison de la volumétrie de données relative au(x) OS, voire aux partitions (File System) associées, d'autres procédés de déport de celles-i sont possibles, comme le fait Amazon à l'aide de processus bien rodés.
Des onglets complémentaires apparaîtront probablement pour couvrir, entre autres, les besoins d'exploitation relatifs aux sauvegardes/restaurations et aux journaux techniques, voire fonctionnels.
Ceci étant, l’environnement IaaS sert dans d’autres contextes que le monde applicatif en production (développement, qualification, calcul, etc.).
Ceci étant, l’environnement IaaS sert dans d’autres contextes que le monde applicatif en production (développement, qualification, calcul, etc.).
Modèle PaaS :
C’est l’environnement idéal pour accueillir les applications
Web de production. Depuis, une console Web de gestion, on donne le nombre
d’instances par tiers, ainsi que les services requis par tiers, et le tour
est joué grâce à la richesse du
framework PaaS. A ce stade, il n’y a plus besoin d’administration système
(software), un responsable MOA doit être en mesure d’ouvrir le service. Toutes
les contraintes IT (exploitation, scalabilité, disponibilité, élasticité, etc.)
sont prises en compte dans les 2 couches (PaaS & IaaS) de l’environnement.
La console de management fournit, entre autres, les indicateurs de qualité (SLA
orienté fonctionnel), d’utilisation, de performance, les logs
fonctionnels, etc. Le déploiement de l’application (bundle MO) avec des
services (ex : persistance) du BO, voire
du FO. Pas à se soucier de la
configuration pour la répartition de charge, pour l’élasticité, etc. tout est
pris en charge de façon automatisée. Les offres PaaS sont assez importantes avec pour les
propriétaires (Azure de Microsoft qui tend à offrir maintenant des
environnements IaaS avec des images Linux, Google App Engine, mais aussi
CloudSwing).
Côté Open Source, il y a Cloud Foundry créé par VMWare courant 2011, en licence Apache2. A vrai dire,
il semble qu’il s’agisse, en tout cas pour la partie client (package: cloudfoundry-client (release 0.3.10)sous le repository Ubuntu 11.10 Server (Oneiric)) d'un l’outillage en Ruby avec essentiellement la commande CLI "vmc" via le framework Rubygem. Les détails de l'installation et d'utilisation de la partie cliente sous un hébergement PaaS offert par VMWare sous donnés (ici). La partie la plus intéressante étant évidemment la partie serveur qui a été porté par Canonical & VMWare sur Ubuntu 11.10 (Oneiric) avec le package: cloudfoundry-server (release 0.3.10). Les détails d'installation de la partie serveur sont donnés (ici). Sur ce point, VMWare s’appuie
sur son environnement vCloud avec sa suite vSphere. J’ai utilisé l’utilitaire « vmc »
en mode CLI pour poster et gérer les ressources et services associés pour une
application Java, c’est très facile de mise en œuvre et de suivi. Pour terminer sur ce volet, l'installation de la partie serveur, c'est-à-dire cloudfoundry-server sur un environnement IaaS (EC2, voire plutôt OpenStack) se fait facilement avec Juju, voire une vidéo qui trace les détails (ici). Pour information, la release up-to-date de Cloud Foundry en tout début 2012 est la 0.3.15 qui offre, entre autres, la fonctionnalité de tunnel (accès) vers les services.
Modèle SaaS :
C’est du PaaS avec l’application gérée en multi-tenants (c'est-à-dire, entre autre, un contexte applicatif permettant la configuration propre de l'application pour chaque tenant) et cette fois, ce sont uniquement les fonctionnels qui interviennent pour créer
les personnalisations adéquates, voire les groupes de profils applicatifs. Bien
évidemment, cette couche d’abstraction s’appuie sur les 2 autres déjà cité. Elle ne nécessite pas de console de management spécifique de gestion, mais, à minima, un portail de services relatifs à la facturation. Les autres consoles de gestion PaaS et IaaS peuvent être fournies, le cas échéant.
Aucun commentaire:
Enregistrer un commentaire