TRANSFORM'IT
MENU

Le cloud est désormais rentré dans une phase d’hybridation mêlant cloud public, cloud privé et Datacenter. La question de l’interopérabilité et la portabilité des applications devient un enjeu majeur pour garantir la qualité des services dans le cloud. Dans ce contexte certaines technologies comme les conteneurs bénéficient d’un intérêt grandissant. De nombreux fournisseurs informatiques s’intéressent à ce phénomène, et Dell Technologies en fait partie.

Un intérêt grandissant pour les conteneurs

Cette technologie suscite beaucoup d’intérêt ces dernières années si l’on en croit les requêtes faites sur internet.  Je me suis amusé à comparer les requêtes Google faites sur quelques mots clé comme Openstack, Docker, VMware vSphere et Red Hat Enterprise Linux. On dit qu’une image vaut mille mots, alors…

conteneurs-trend
Recherches Google de 2011 à début 2017 pour les mots clés associés

Vous constaterez un intérêt pour Docker qui ne cesse de croitre depuis 2014. La technologie des conteneurs a été remise au goût du jour par le franco-américain Solomon Hykes qui a mis en avant le concept Docker en référence aux conteneurs utilisés pour faciliter le transport de marchandises. En 2013 il a ouvert les sources de sa technologie de conteneur à la communauté Open Source assurant ainsi une plus forte adoption et contribution autour de la technologie. Le principe n’est cependant pas récent puisque des solutions équivalentes existaient déjà depuis un petit moment. Pour ceux d’entre vous qui s’en rappellent, mais sans pour autant remonter à la préhistoire,  des technologies comme Jails (BSD), Zones + Projects (Solaris) et WPAR (AIX) utilisaient déjà ce type d’isolation entre applications. Concernant le monde Linux, son Kernel proposait déjà une isolation avec la para-virtualisation OpenVZ (2005) et a intégré la fonctionnalité d’isolation cgroups dans sa version 2.6.24 dès 2008.

Alors pourquoi cet intérêt soudain pour les conteneurs ?…

Une solution est adoptée si elle répond à un « Job to be Done »

Le concept du “Job to be Done” est expliqué plus largement dans le livre Competing Against Luck: The Story of Innovation and Customer Choice. Pour l’illustrer dans un contexte technologique, prenons l’exemple de la virtualisation : pendant longtemps les équipes systèmes ont peiné à utiliser toutes les capacités des datacenters et on pouvait fréquemment constater des serveurs avec des taux d’utilisation inférieurs à 15%. Un véritable gâchis qui devenait intolérable avec la pression budgétaire subie par les directions informatiques.  La virtualisation des serveurs avait devant elle une voie toute tracée quand VMware en fit son cheval de bataille en 1998 (VMware a été racheté en 2004 par EMC). Là encore le principe de la virtualisation n’était pas nouveau (IBM l’utilisait pour les systèmes d’exploitation MVS et VM de ses mainframes) mais la prolifération des serveurs X86 et l’informatique distribuée appelaient à une nécessaire rationalisation. Aussi belle que soit une technologie, son adoption rapide ne se fait que si elle répond à un besoin (Job to be Done). Dans ce cas-ci, la virtualisation a permis d’améliorer le taux d’utilisation des ressources et avoir plus d’agilité sur la mise à disposition de ces ressources auprès des équipes techniques et des développeurs, résultat : « L’essayer c’était l’adopter » 🙂

La virtualisation de serveurs a préparé l’arrivée du Cloud

En 2008 Gartner annonce l’intérêt du Cloud avec un modèle financier à l’usage (As A Service) où les sociétés n’auraient plus besoin d’acheter du matériel pour faire tourner ses applications. Vers cette même période des différentes offres de Cloud Publique commencent à apparaitre et le Cloud Computing est mentionné dans le hype cycle comme une des tendances à suivre pour les prochaines années.

cloud-hype-cycle

Ce modèle plus flexible a démocratisé la mise à disposition des ressources informatiques à tous les départements internes des entreprises en mode privé. En offre publique il permet désormais à n’importe qui de lancer sa startup en quelques clics et offre l’agilité pour absorber une pointe d’activité saisonnière et réduire le coût de certaines applications (Ex : E-Commerce Black Friday). Mais avec la prolifération des offres de cloud publiques et la démocratisation du cloud privé, certaines entreprises ont poussé le modèle jusqu’à ses limites ! Aujourd’hui il est fréquent que ces entreprises consomment des ressources informatiques localisées dans leur datacenter (cloud privé) et utilisent les services d’un ou plusieurs cloud publics. Les utilisateurs se trouvent alors confrontés à des problématiques nouvelles liées au modèle de Cloud hybride (ou Multi-Cloud).

Le multi-cloud freiné par l’interopérabilité et la portabilité des applications

On a très longtemps stigmatisé les silos dans les datacenters, alors on ne pouvait pas en toute conscience reproduire le même schéma avec le Multi-Cloud 🙂 . Pour que ce nouveau modèle hybride soit réellement efficace il fallait une vraie interopérabilité permettant de placer ou déplacer seulement les applications. La virtualisation a bénéficié à de nombreux datacenters mais dans un contexte Multi-Cloud on peut se trouver face à différents hyperviseurs dont les formats ne sont pas compatibles, ce qui peut brouiller la portabilité entre les cloud (publics et privés). Contrairement à la virtualisation, les outils de conteneurisation sont capables d’isoler les applications les unes des autres en les empaquetant avec leurs dépendances dans une même boule sans avoir à embarquer l’OS.  Installées dans leur conteneur, les applications peuvent ainsi être isolées et déployées facilement.

containers-schema

Finis les soucis de portabilité et d’exécution d’une application dans un datacenter (cloud privé) ou dans un cloud public ! C’est pour ça que les conteneurs ont bénéficié d’un tel engouement. Suite à ce constat, le marché s’est rapidement organisé et des acteurs comme Cloud Foundry (Pivotal), Docker, CoreOS, Kubernetes (Google), Yarn, DCOS (Mesosphere) et Apache Mesos se partagent aujourd’hui le marché pour proposer une gestion simplifiée des applications dans un contexte Multi-Cloud.

Dell technologies impliqué dans la conteneurisation et l’hybridation

La virtualisation avec hyperviseur n’est pas morte pour autant. De nombreuses entreprises l’utilisent dans leurs Datacenter et ont à leur disposition des logiciels éprouvés pour l’exploiter. Virtualisation et conteneurs vont certainement cohabiter pour un bon moment. D’ailleurs plutôt que de se confronter aux conteneurs, VMware s’est adapté. Il a rejoint le projet Kubernetes mené par Google et a développé la plateforme VMware Photon (Controller + OS). Photon permet d’exécuter des conteneurs et des machines virtuelles sur une seule et même plate-forme et permet  d’exécuter simplement des applications Cloud natives à grande échelle. Pivotal Cloud Foundry n’est pas en reste puisque ce service de PaaS utilise des containers Linux depuis 2011, supporte le format de conteneurs Docker et collabore étroitement avec VMware sur la plateforme Photon. Dell EMC a également des atouts avec plusieurs projets Open Source disponibles sur le site www.codedellemc.com. Ces projets sont disponibles sur Github, donc il vous suffit de réaliser un fork sur Github et nous proposer vos PR (Pull Request) 🙂 . Deux problématiques sont souvent remontées par les clients lors de discussions autours de conteneurs et d’applications nouvelle génération : la première est de savoir comment réaffecter du stockage aux conteneurs persistants. La seconde est de savoir comment simplifier l’interface entre les applications et les éléments d’infrastructure avec une orchestration pilotée par des API. Si vous êtes aussi confronté à ces défis, n’hésitez pas à regarder plus en détail les projets ici : RexRay, RackHD et CoprHD.

EMC-Code-Open-Source

Plusieurs toolkits sont également mis à disposition pour réaliser un déploiement rapide et tester les outils en quelques minutes sur son PC. Pour les clients moins DIY (Do It Yourself), d’autres solutions sont également disponibles dans l’univers Dell EMC, comme par exemple NHC (Native Hybrid Cloud) qui permet de mettre à disposition en quelques minutes une infrastructure Cloud Native adaptée aux enjeux d’une application hybride de 3ème génération (multi-cloud), avec sa métrologie, son reporting sur la consommation de ressources et son état de santé.

Et demain ?

Reprenons depuis le début : En réglant les problèmes des taux d’utilisation des ressources et d’agilité de provisionnement, la virtualisation a ouvert la voie au Cloud. La technologie Cloud s’est ensuite démocratisée et aujourd’hui nous sommes dans un contexte Multi-Cloud qui a fait émerger de nouveaux problèmes d’interopérabilité et de portabilité des applications… Face à ce challenge, la conteneurisation, encore relativement inexploitée jusque-là, revient sur le devant la scène et aujourd’hui de plus en plus d’organisations utilisent les containers pour empaqueter et déployer leurs applications. La question à un million de dollars qui brûle les lèvres de tout le monde : Et après, quelle sera la prochaine innovation ? En repensant au concept du « job to be done » je me suis rendu compte que je ne me posais peut-être pas la bonne question… La vraie question à un million de dollars c’est plutôt : quelle est la nouvelle barrière à lever ? En ce début d’année 2017, même avec l’approche microservices, on a toujours besoin de faire tourner des serveurs pour écouter les appels entrants et traiter les requêtes clients… C’est pour répondre à cette nouvelle problématique que certaines entreprises commencent à proposer des nouvelles architectures appelées ServerLess ou Function As A Service.

function-as-a-service

Dans ces architectures, la partie responsable de recevoir les requêtes et rediriger vers le morceau de code responsable pour la traiter est fournie par la plateforme d’hébergement au travers des APIs Gateway et l’application elle-même n’est plus qu’une fonction déployée et exécutée à la demande pour traiter le contenu de la requête !!! Ces nouvelles architectures s’accompagneront aussi d’un nouveau mode de facturation où le client payera uniquement le temps d’exécution de sa fonction. Cette approche est (à mon avis) parfaitement adaptée aux besoins liés à l’IoT, aux chatbots et Mobile Backend (MBaaS – Mobile Backend As A Service) où les capteurs émettent des données pour un traitement centralisé et des traitements asynchrones (dans un premier temps)… mais on ouvre ici un tout nouveau sujet. Gardons un peu d’énergie pour boire un café et terminer la journée… jusqu’au prochain blogpost 🙂



Victor da Costa

Technophile de nature, la passion pour le monde Open Source et communautaire de Victor a commencé dans les salles IRC Freenode/Efnet au début des années 2000, alors qu’il était utilisateur et développeur de systèmes basés sur Linux.
Pendant les 10 prochaines années il développera son expertise en systèmes et infrastructures de Data Center en évoluant comme Avant-vente et Expert Technique au sein de sociétés comme Equinix, Petrobras, Cisco et Unisys.
Après un passage au sein de l’équipe Software Defined de Dell EMC France, Victor fait aujourd’hui partie de l’équipe spécialiste Core Technologies.
Sur son temps libre, il contribue aux projets Opensource chez Dell EMC (DellEMCCODE/DellEMCDOJO) et publie le fruit de son travail sur https://github.com/victorock.

COMMENTAIRES