Mesosphere lève 73,5 M$ avec le soutien d'HPE et Microsoft
L'éditeur de DCOS, un système d'exploitation de datacenter qui s'appuie sur la technologie de gestion de cluster Apache Mesos, vient de lever 73,5 M$ additionnels, notamment auprès d'HPE et Microsoft. Il en profite pour annoncer la version 1.0 de Marathon, son outil d'orchestration de conteneurs.
Hier, Mesosphere a annoncé une troisième levée de fond d’un montant de 73,5 millions de dollars menée notamment par Hewlett Packard Enterprise (HPE) et Microsoft. Cette opération porte à près de 126 M$ le montant des fonds levés par la jeune société depuis ses débuts.
Mesosphere est l’un des principaux sponsors du projet Apache Mesos que la firme utilise au sein de son OS pour son Datacenter Operating System. DCOS est une plate-forme qui permet de déployer et d’orchestrer des applications à grande échelle sur des clusters de serveurs virtualisés ou non. DCOS a récemment été sélectionné par Equinix pour bâtir un service d’über cloud et la technologie .La technologie est aussi déployée par de grands clients comme Verizon, Samsung, Autodesk, Disney, Bloomberg…
HPE et Microsoft principaux contributeurs de la dernière levée de fonds
Hewlett Packard Enterprise a selon Mesosphere mené le dernier tour de financement de la firme. HPE a récemment multiplié les investissements dans les technologies Cloud, via ses développements dans Helion mais aussi son rachat du PaaS Stackato dérivé de Cloud Foundry en août 2015. La firme pourrait logiquement intégrer Mesosphere à son offre pour permettre à ses clients de déployer facilement et à grande échelle des services de big data et d’applications conteneurisées sur leurs cloud privés ou en cloud hybride.
Le rôle de Microsoft est aussi intéressant. Mesosphere et l’éditeur de Redmond ont commencé à collaborer en 2015 avec l’annonce du portage de DCOS sur Azure. La technologie permet de gérer des déploiements massifs de conteneurs Docker en production sur la plate-forme Azure. Elle est en fait au cœur de l’Azure Container Service annoncé par l’éditeur de Redmond en Octobre dernier lors de l'AzureCon. Dans sa bataille contre Google et Amazon, Microsoft voit sans doute dans Mesosphere un allié précieux du fait de son expertise dans le déploiement à grande échelle d’applications distribuées. La collaboration s’est étendue au portage de Mesos sur Windows, un développement intéressant si l’on considère la sortie prochaine d’Azure Stack (pour l'instant disponible en mode Technical Preview), la déclinaison pour cloud privés d’Azure que concocte actuellement Microsoft sur base Windows Server 2016. DCOS pourrait être déployé dans les cloud privés des entreprises de la même façon qu’il l’est sur Azure.
Apache Mesos : au cœur de la technologie de Mesosphere
Le cœur de DCOS est Apache Mesos, un outil de gestion de cluster qui reprend certains des concepts historiquement utilisés par les outils de gestion de cluster du monde HPC et permet d’allouer aux applications les ressources (CPU, mémoire, réseau…) dont elles ont besoins sur le cluster. Mesos est notamment conçu pour piloter le déploiement à grande échelle d’applications distribuées telles que Hadoop, Spark, Kafka, Elastic Search, mais aussi toute forme d’application distribuée interfacée avec l’un des gestionnaires de ressources supportés.
Mesos est une technologie open source née à l’Université de Berkeley qui a notamment été « durcie » chez Twitter et AirBnB qui sont toujours d’importants contributeurs. Mesos se déploie sur des clusters de machines (physiques ou virtualisées) faisant tourner Linux ou Mac OS X (et bientôt Windows). Le but de la technologie est d’abstraire les ressources offertes par les différents nœuds du cluster et de les exposer via un mécanisme de contrat à des scheduler supportés (Scheduler Hadoop, Scheduler MPI, Scheduler batch Chronos ou Marathon de Mesosphere). Les contrats sont utilisés par les schedulers pour accepter ou non les offres de ressources faites par Mesos. Le mécanisme permet d’allouer de façon fine les ressources disponibles sur le cluster aux différentes applications..
Mesos met en œuvre un concept de contrôleur maître et d’esclaves. Le maître agit comme un broker chargé de distribuer les ressources à l’échelle du cluster et il instancie à la volée des esclaves qui sont chargés d’exécuter les différentes tâches requises par les applications. Le maitre s’interface via un jeu d’API avec les schedulers des frameworks applicatifs afin de jouer son rôle de broker. Le maitre décide de l’allocation des ressources aux différents framework en fonction des politiques définies par l’entreprise.
Selon Mesosphere, Mesos permet de gérer plusieurs dizaines de milliers de nœuds au sein d’un même cluster et offre une tolérance élevée aux pannes via des mécanismes de réplication du maitre et des esclaves (le tout étant coordonné via Zookeeper). Les tâches sont typiquement exécutées au sein de conteneurs (Docker ou Linux cgroups). Notons qu’en l’état, Mesos supporte les environnements Linux et Mac OS X mais que les travaux menés avec Microsoft permettront le support des environnements Windows et Azure.
DCOS : une plate-forme de gestion complète d’applications à l’échelle du datacenter
DCOS ne se limite toutefois pas seulement à Mesos. Mesosphere a compris très tôt que l’adoption de sa technologie de gestion de cluster dépendait de son aptitude à accueillir des applications. Pour cela, Mesosphere a développé plusieurs composants complémentaires à Mesos.
Le premier est Marathon, un mécanisme d’orchestration de conteneurs applicatifs qui permet à des développeurs de déployer et d’opérer à grande échelle des applications conteneurisées. À l’occasion de l’entrée d’HPE et de Microsoft à son capital, Mesosphere a aussi officialisé la disponibilité de Velocity, une plate-forme d’intégration continue et de livraison continue basée sur Jenkins, la plate-forme de CI/CD née chez Oracle et aujourd’hui soutenue par CloudBees.
Mesosphere a enfin développé Infinity, une plate-forme pour le déploiement de services analytiques en temps réel qui s’appuie notamment sur des composants comme Spark, Cassandra et Kafka.
Mesosphere Marathon 1.0 disponible en version finale
L’annonce de la levée de fonds s’accompagne du lancement de la version 1.0 de l’outil d’orchestration de conteneurs Marathon, l’un des éléments clés de DCOS. Selon Mesosphere, le développement de Marathon a progressé à un rythme rapide au cours des douze derniers mois. L’outil s’est ainsi enrichi de plusieurs fonctions telles que :
- Les groupes d’applications : les développeurs peuvent organiser leurs conteneurs en « pods » groupant des composants adjacents. Par exemple, il est possible de créer des pods réunissant des microservices avec les bases de données associées et de gérer leur cycle de vie et leur déploiement de façon coordonnée.
- La gestion des dépendances applicatives : les développeurs peuvent explicitement exprimer les dépendances entre composants et Marathon s’assurera que les composants sont démarrés dans l’ordre approprié.
- Le support des mises à jour roulantes : les utilisateurs de la plate-forme peuvent coordonner de façon précise le déploiement de leurs applications et services et choisissant par exemple d’effectuer des déploiements progressifs des dernières mises à jour. La technologie permet de vérifier le bon fonctionnement du déploiement et de procéder à des « rollbacks » en cas de problème de façon à préserver la haute disponibilité des applications.
- La gestion des adresses IP par conteneur : Marathon permet d’éviter de gérer des mécanismes de forwarding de ports à grande échelle en assignant à chaque conteneur sa propre adresse IP.
- La gestion fine du réseau via des groupes d’isolation réseau : Marathon permet de garantir que seuls les services autorisés peuvent communiquer entre eux sur le réseau. Les mécanismes d’isolation mis en œuvre garantissent aussi qu’une erreur de configuration au sein d’un groupe n’affecte pas les autres groupes.
- Une API extensible : Marathon est extensible via une API de plug-ins. Cela permet à des utilisateurs d’enrichir les capacités du système en développant leurs propres extensions.
Selon la firme la version 1.0 apporte de nouvelles fonctionnalités comme la gestion des autorisations et du multitenant. Cela permet à une unique instance de Marathon d’être utilisée par des groupes de développeurs différents qui ne verront que leurs propres applications. Une autre nouveauté est le support de services conservant leur état. Marathon peut par exemple lier des volumes de stockage de façon statique à des applications ce qui est nécessaire pour l’exécution de bases de données comme MySQL et Postgres. Enfin, la version 1.0 apporte le support des adresses IP virtuelles. Chaque application peut désormais avoir une adresse IP virtuelle unique ce qui permet par exemple de répartir la charge entre composants ou de rerouter les requêtes en cas de défaillance d’un nœud.
Mesosphere affiche une roadmap ambitieuse pour Marathon et explique que les mois prochains devraient voir arriver le support de nouvelles fonctions dont l’auto-scaling.