Il est
important de souligner avant tout que le terme « cloud
computing » est difficile à expliquer, ou généralement à
définir. Au niveau académique, les définitions proposées se
multiplient et se compliquent d'avantage, au point que certaines
études se limitent à dessiner un certain aspect général ou à
proposer des caractéristiques simples pour identifier le cloud
computing.
Voici une
bonne définition : « Cloud est un système informatique
parallèle et distribué qui consiste en une collection d'ordinateurs
virtualisés et interconnectés qui sont provisionnés dynamiquement
et présentés comme une ou plusieurs ressources informatiques
unifiées, basées en des "accords au niveau service" (SLA
: Service-Level Agreements) établis par des négociations
entre le fournisseur du service et les consommateurs. »1
Pour
expliquer davantage ce concept, on se propose de modéliser un
système informatique comme un système de trois couches logiques. Le
tableau suivant détaille ces trois couches pour un système
informatique simple (ordinateur) et un système Cloud :
Couches
\ Système
|
Ordinateur
|
Cloud Computing
|
Software
|
Logiciels
de productivité
|
SaaS
|
Plate-forme
|
Système
d'exploitation
|
PaaS
|
Infrastructure
|
Matériel
& périphériques
|
IaaS
|
SaaS : Software As A Service
L'exemple
le plus concret d'un SaaS est le client e-mail en sa version web,
comme Gmail ou Hotmail. Les nouvelles technologies web comme AJAX et
le progrès considérable des navigateurs internet a permis de créer
des fonctionnalités sophistiqués avec les technologies web
(exemple : HTML5). On trouve parmi les composants existants
comme SaaS des clients e-mails, des applications bureautiques, des
outils de planning, de collaboration et de gestion de projets et même
des outils avancées comme les CRM (Customer
Relationships Management), et les outils de vidéo-conférences
et des messages instantanés.
PaaS :
Platform As A Service
Pour
créer des applications Cloud, il nous faut une plate-forme de
développement et d'exécution. Des fournisseurs spécialisés des
plate-formes Cloud existent sur le Net, qui offrent un environnement
de développement, accessibles depuis le navigateur internet
ordinaire, qui permet diverses tâches de développement
d'applications, de bases de données. Cet environnement comporte
aussi des interfaces prêtes à l'utilisation pour garantir les
performances et la sécurité, des outils pour l'intégration avec
d'autres applications de la même plate-forme, d'autres pour se
connecter avec d'autres applications étrangères à la plate-forme
utilisée, et des outils pour le design des formulaires web, etc.
IaaS :
Infrastructure As A Service
L'un
des plus importantes caractéristiques du Cloud Computing est la
possibilité d'administrer, à travers une interface web, les
ressources fondamentales du serveur distant tel que l'énergie, le
stockage et le réseau. Avec la notion de virtualisation, il
est possible aux fournisseurs du Cloud de proposer des solutions
indépendantes de leurs serveurs. Ainsi on pourra avoir :
- Le choix entre des machines virtuelles prêtes à l'emploi avec des systèmes pré-installés notamment Linux, Solaris et Windows, et surtout avec un ensemble de logiciels pré-installés.
- Pour le traitement d'une large quantité de données, des outils basés sur le concept des grilles de données (Data Grids) ; Pour le calcul complexe, des outils basés sur les grilles de calcul (Grid Computing). Ceci par l'intermédiaire d'un ensemble très large de serveurs dédiés qui travaillent en parallèle sur le même problème.
- L'automatisation de la modification des ressources informatiques pour répondre aux changements de la variation de l'utilisation.
- La possibilité de modifier les paramètres et les ressources informatiques avec une interface web puissante.
→ Avec
cette architecture à trois couches logiques, l'accès au système
(que ce soit pour le développeur, l'administrateur ou
l'utilisateur/client) se fait par un terminal logique (Navigateur
internet sur PC/Mac). Pour mieux subvenir aux besoins commerciaux,
les fournisseurs des solutions Cloud ont proposé quatre modèles de
déploiement qui seront détaillés dans ce qui suit.
Modèles
de déploiement2
Public
cloud (cloud publique)
Cloud pur :
service offert au grand public et les ressources sont partagées
entre tous les utilisateurs.
Community
cloud (cloud de communauté)
Cloud
utilisé dans le cadre d'un groupe d'organisations qui font partie
d'une communauté, le cloud peut être réalisé en interne ou fourni
par une fournisseur tierce-partie. Même potentiel que le cloud
public et pas de souci de sécurité particulier.
Private
cloud (cloud privé)
Cloud
réalisé dans un réseau privé (local ou étendu) d'une
organisation et derrière un pare-feu. Utile dans le cas de données
sensibles, commerciales ou confidentielles. Nécessite que
l'infrastructure, la plateforme et le « Software » soient
implémentés et gardés à l'intérieur, donc les services externes
« grand public » ne sont pas envisageables. Ce type de
cloud nécessite un budget énorme pour la réalisation, la
maintenance, le matériel et l'expertise.
Hybrid
cloud (cloud hybride)
C'est une
forme plus flexible de cloud, qui est utilisées par de nombreuses
entreprises : utiliser un cloud public pour les tâches
informatiques usuelles, alors que les données des clients sont
stockées dans un cloud de communauté, privé ou même avec une
solution plus traditionnelle. Cette solution est plus logique et
attirante pour des entreprises qui ne veulent pas migrer totalement
une architecture IT existante vers le cloud computing pour des
raisons économiques ou de protection de données.
N
Ceci n'est pas un cloud :
- Louer un serveur pour une tâche unique, comme l'hébergement d'un site
- La virtualisation d'un ou de plusieurs systèmes d'exploitation sur un seul serveur n'est pas en elle-même du cloud computing
- Utiliser les technologies « bureau distant » (Remote Desktop) ou « réseau virtuel privé » (VPN) pour se connecter sur un autre PC.
Illustration
1: Architecture Cloud (Source : Introduction to Cloud Computing
Architecture, Sun Microsystems whitepaper, Juin 2009)
1“Cloud
is a parallel and distributed computing system consisting of a
collection of inter-connected and virtualised computers that are
dynamically provisioned and presented as one or more unified
computing resources based on service-level agreements (SLA)
established through negotiation between the service provider and
consumers.” [R. BUYYA, J. BROBERG, A. GOSCINSKY : CLOUD COMPUTING
PRINCIPLES & PARADIGMS, Wiley (2011)]
2M.
WILLIAMS : A QUICK START GUIDE TO CLOUD COMPUTING, KoganPage (2010)
Commentaires