Pourquoi le cloud doit-il être ouvert ?

Le cloud computing représente aux dires des analystes le nouveau paradigme des TIC. Combien de fois avons nous déjà lu ces termes ? Et la dernière fois, n'était ce pas au sujet de l'open source ? Le cloud chasse t il l'open source sur l'écran des radars ?

Avec un marché évalué à 35 milliards d'euros en Europe pour 2014, le cloud computing représente un enjeu majeur pour l'industrie des TIC ainsi que pour les nations. Lorsque la Commission Européenne décrit les conditions nécessaires pour que les citoyens et les entreprises bénéficient au mieux de ce nouveau paradigme, elle liste l'ouverture, l'interopérabilité, la conformité aux standards et l'innovation partagée qui sont autant de propriétés ayant fait la renommée et le succès de l'open source.

Le cloud computing : le premier utilisateur d'open source

En observant deux acteurs de taille du cloud computing que sont Amazon et Google, nous constatons que dans les deux cas, leurs opérations dépendent lourdement de Linux et d'autres logiciels open source. L'utilisation de l'open source leur permet de diminuer leurs coûts d'exploitation en éliminant le coût des licences logicielles et d'adapter ces logiciels à leurs besoins en terme de performances, de sécurité ou de facilité d'exploitation. Ainsi Google a entre autres, sa propre version de Linux optimisée pour ses data centers. En retour, Google s'efforce par diverses initiatives, de maintenir d'étroites relations avec la communauté des développeurs.

De nombreux projets open source pour le cloud

La myriade de composants open source disponibles pour le cloud (cf. tableau 1) démontre la vigueur et la créativité de cette communauté sur le sujet. Etant donné l'opportunité économique que représente ce marché, nombre de ces développeurs se sont transformés en entrepreneurs et leurs projets servent au développement de leur start-up en leur permettant d'atteindre une notoriété mondiale et de pénétrer rapidement le marché.

Des acteurs de l'industrie du cloud à l'instar de Google avec Androïd ou Chrome, sont aussi à l'origine de projets open source. Ces projets leur permettent de soutenir leur stratégie de conquête du marché. L'un des exemples les plus significatifs est celui d'OpenStack qui vise à créer un IaaS (Infrastructure as a Service) open source et qui est né de la volonté de deux organisations aux profils très différents : RackSpace et la NASA. Les feuilles de route des deux co-fondateurs sont claires : l'un veut conquérir des parts de marché en proposant une offre gratuite de cloud privé complémentaire à son offre d'hébergement et l'autre veut avoir un libre accès à une technologie nécessaire à son domaine d'activité. Annoncé en 2010, OpenStack évolue rapidement et attire des contributeurs tels que Dell, HP, Cisco, Vmware ou Canonical. Comme pour tout projet open source, le succès et l'avenir d'OpenStack dépendront de la capacité dont disposera chaque contributeur de créer de la valeur à la fois pour lui-même et pour la communauté en toute indépendance i.e. sans favoriser l'un des acteurs en particulier.

D'autres projets comme OpenNebula ou SlapOS adressent le même domaine technologique et permettent de miser sur l'avenir open source de l'infrastructure du cloud. La pérennité de ce dernier repose en effet sur la multiplicité des choix pour les développeurs et les utilisateurs.

L'open source est-il compatible avec le cloud computing ?

L'open source fait parti de l'ADN du cloud computing. Cependant le cloud computing représentant un réel changement de paradigme, se pose la question de son positionnement vis à vis de l'open source et en particulier de son modèle de distribution du logiciel.

L'utilisateur de logiciel open source a la liberté de l'utiliser ainsi que la liberté de le redistribuer, d' en examiner et d'en modifier le code source, un faible nombre d'utilisateurs étant intéressé par ces 3 derniers points. En environnement cloud, l'utilisateur a le choix entre divers logiciels accessibles à la demande sous forme de service (SaaS : Software as a Service) sans avoir à se soucier de leur installation ou de leur mise à jour, le tout lui étant garanti pour un coût modique par le fournisseur du service. Qu'il perde les libertés offertes par l'open source ne lui paraît pas critique et pour des raison de commodité, il est prêt à oublier ce détail qui lui a pourtant déjà coûté cher par le passé.

Le cloud computing et les services du cloud sont donc des concurrents des logiciels open source. Et alors que l'open source est bon pour le cloud computing, nous pouvons nous demander si le cloud computing est bon pour l'open source.

Le cloud peut-il être fermé ?

L'interopérabilité (également désignée par portabilité ou réversibilité) figure à la seconde place des attentes des utilisateurs1  du cloud computing. L'interopérabilité consiste à permettre à deux systèmes hétérogènes de communiquer entre eux, d'échanger des données et de partager des processus, ce qui est loin d'être facilité dans un environnement cloud computing. Une telle opérabilité n'est aujourd'hui possible qu'avec l'adoption de part et d'autre de logiciels et de services identiques i.e. de même origine. Ce qui est compréhensible pour l'opérateur, l'est moins pour l'utilisateur qui, dans l'interopérabilité, voit la possibilité de changer de fournisseur quand il le souhaite tout en minimisant ses coûts de sortie. En d'autres termes, l'interopérabilité est pour l'utilisateur un enjeu de souveraineté et pour les fournisseurs un enjeu commercial.

La réponse de ces derniers tient en trois lettres : API (Application Programming Interface). Une API correspond à une couche d'abstraction destinée à simplifier l'accès à des systèmes plus complexes. Or cette complexité sous jacente est fortement déterminante car elle repose sur un modèle, une architecture et/ou une technologie qui ne facilitent pas forcément l'ouverture. L' API EC2 d' Amazon ne fonctionnera pas sur Google et si Google voulait fournir des services équivalents à Amazon, il devrait non seulement adopter le même type d'API mais aussi cloner les services d'Amazon avec le risque d'être toujours en retard d'au moins une version par rapport à l'originale.

Les fournisseurs de services cloud en conviennent : le cloud se doit d'être ouvert. Ils savent que la satisfaction de leur clientèle passe par l'ouverture et la transparence. C'est ainsi que l'open source et le cloud computing s'enrichiront mutuellement en favorisant le développement de logiciels open source nécessaires à établir la confiance dans les services mis à la disposition des utilisateurs. Dans des domaines comme l'audit, la sécurité, l'interopérabilité qui représentent autant de verrous technologiques pour les fournisseurs que de freins à l'adoption pour les utilisateurs, l'open source permettra de relever ces défis de manière rapide et innovante tout en facilitant le développement d'écosystèmes durables.

Vers l'open cloud

Par « open cloud », nous désignons la construction de cloud basée sur des logiciels open source et des interfaces, des standards et des formats de données ouverts2 . Les organisations de standardisation (cf. http://cloud-standards.org/) promulguant des standards ouverts encouragent d'ailleurs leur implémentation en open source afin d'en favoriser l'adoption grâce à l'élimination de toute barrière d'entrée. L'open cloud est donc le résultat de l'addition de standards ouverts et de logiciels open source

Parmi les standards ouverts du cloud, nous retiendrons les principaux en cours d'implémentation : Open Virtualization Format (OVF) du Distributed Management Task Force (DMTF) qui décrit un format ouvert pour le packaging et la distribution de logiciel exécutable dans des machines virtuelles, Cloud Data Management Interface (CDMI) de Storage Networking Industry Association (SNIA) qui fournit des interfaces permettant de gérer les aspects stockage du cloud et Open Cloud Computing Interface (OCCI) de l'Open Grid Forum (OGF) qui fournit un protocole et des API pour la gestion d'un cloud.

Du côté open source, outre les exemples déjà cités, il faut signaler diverses initiatives. Certains projets de la communauté des développeurs dont ceux de la fondation Apache aux USA (Hadoop, DeltaCloud,...) poussent à l'établissement de standards de facto. La récente Open Cloud Initiative souhaite quant à elle être l'OSI (Open Source Initiative du cloud computing en veillant au respect des règles fondamentales du cloud ouvert. Nous soulignerons aussi l'importance de l'initiative lancée par OW2 pour définir et favoriser le développement de cloudware (middleware open source « cloud aware ») : OW2 Open Source Cloudware Initiative (OSCi). Cette initiative remarquée comme une première mondiale et un effort unique en Europe regroupe aujourd'hui plus de trente partenaires dans le monde entier.

CompatibleOne : ouverture garantie

C1archiV2.6loupe1.gif C1archiV2.6loupe2.gif C1archiV2.6loupe3.gif C1archiV2.6loupe4.gif C1archiV2.6.gif C1archiV2.6Carrier.jpg

Le nombre restreint d'opérateurs de cloud ainsi que la grande concentration des fournisseurs de technologies logicielles et matérielles, représentent un frein au développement d'un marché réellement concurrentiel. D'un point de vue technique, alors que les fondements même de l'Internet, reposent sur une architecture massivement distribuée, le cloud computing repose sur une architecture en silos qui, si elle est sans doute plus simple à administrer, offre cependant moins d'opportunités d'interconnexion. De ces réflexions se dégage la problématique de la compatibilité entre des technologies supposées ubiquistes et leur capacité limitée à inter-opérer.

CompatibleOne vise à fournir une réponse à cette problématique d'interopérabilité et s'inscrit dans la définition du cloud ouvert. CompatibleOne permet de gérer des clouds (IaaS ou PaaS) privés ou publics interopérables. CompatibleOne a pour objectif d'apporter aux utilisateurs, aux développeurs et aux opérateurs de clouds la même liberté et le même niveau de maîtrise de leurs infrastructures et de leurs applications que le permettent aujourd'hui les logiciels open source vis-à-vis des systèmes d'information classiques.

CompatibleOne est un projet open source partie intégrante de OW2 OSCi. La mise à disposition du code et de sa documentation sous licence open source rend possible l'adoption du cloudware CompatibleOne. Cette ouverture vise à encourager la participation de nouveaux contributeurs et les collaborations avec d'autres projets du domaine. Lancé grâce au soutien des pôles de compétitivité Systematic et Solutions de Communications Sécurisées, CompatibleOne compte aujourd'hui parmi ses contributeurs ActiveEon, Bull, CityPassenger, Enovance, Eureva, INRIA, Institut Télécom, Mandriva, Nexedi, Nuxeo, OW2, Prologue et Xwiki.

L'open cloud est un levier

Le cloud computing est le résultat de nombreuses années3 d'évolution des technologies logicielles, des réseaux, des applications distribuées, des services, etc. Les progrès liés à cette évolution se sont significativement accélérés depuis l'émergence de l'Internet, des logiciels open source et des principes de développement collaboratif. Cette conjonction des réseaux et des développements collaboratifs a permis de démontrer l'efficacité des principes de l'innovation ouverte. Dans un monde dont l'évolution s'accélère et pour une industrie qui se doit d'être pro active, la réalisation efficace et rapide de logiciels complexes ne peut que bénéficier de ces nouveaux modèles de développement mêlant agilité et intelligence partagée. Dans un contexte de compétition globalisée dans lequel le poids de la finance pèse lourdement dans la balance, la capacité de se mobiliser rapidement et de collaborer efficacement sur un "mode open source"est un avantage compétitif. Si le cloud computing représente une opportunité technologique, économique et sociale pour l'Europe, alors l'open cloud doit être considéré comme un levier indispensable à sa concrétisation.

Libraries / APIs: Deltacloud, jCloud, libvirt, libCloud,...
VM: Aeolus, Abiquo, Convirt, KVM, OpenVZ, Qemu, VirtualBox, Xen, ...
IaaS: ControlTier, Enomaly, Eucalyptus, Joyent SmartOS, OpenNebula, NiftyName, Nimbus, OpenStack, OpenQRM, Puppet, RabbitMQ, Reservoir,Traffic Server, Ubuntu,...
PaaS: Appscale, CloudFoundry, Gearman, WaveMaker, ...
SaaS: Coadunation, Cornelios, eyeOS, Guacamol, TioLive,...
Deployment / Admin / Monitoring / Test: Bitnami, Capistrano, CDT, Cfengine,Chef, CloudForms, collectd, Bcfg2, Etics 2, Fabric, ganeti, Juju, Maven, Piston, Puppet, Zabbix, Zenoss,...
Storage and NO/SQL: Cassandra, CouchDB, DRDB, Drizzle, Flare, Memcached, MongoDB, Neopod, XtreemFS,...
File Systems: CloudStore, GlusterFS, Gpfs, Hdfs, Pohmelfs,...
Data processing: Hadoop, MapReduce, Pig, Zookeeper,...
Green IT / Smart Grid: Nedo, ...
Billing: Jbilling, ...

Tableau 1: Exemples de projets open source dans le cloud computing

Article paru dans la revue Telecom n° 164 – Janvier 2012
Télécharger ce document.

1 ) après la sécurité et en particulier la sécurité des données, domaine dans lequel il reste un grand nombre de problèmes à résoudre sur le plan technique et juridique

2 ) « On entend par standard ouvert tout protocole de communication, d'interconnexion ou d'échange et tout format de données interopérable et dont les spécifications techniques sont publiques et sans restriction d'accès ni de mise en œuvre » Définition extraite de la loi n° 2004-575 du 21 juin 2004 pour la confiance dans l'économie numérique 

3 ) En 1961, John McCarthy envisageait déjà que : «  If computers of the kind I have advocated become the computers of the future, then computing may someday be organized as a public utility just as the telephone system is a public utility... The computer utility could become the basis of a new and important industry. »

Par Jean-Pierre Laisné, Bull

Licence Creative Commons

«Pourquoi le cloud doit-il être ouvert ?» De Jean-Pierre Laisné est mis à disposition selon les termes de la licence Creative Commons Paternité - Pas de Modification 3.0 France.


This wiki is licensed under a Creative Commons 2.0 license
XWiki Enterprise 4.5.1 - Documentation - Legal Notice

Site maintained by