CoreOS mêle virtualisation et conteneurs au sein des clouds d’entreprise

CoreOS

Léger et aisé à maintenir, CoreOS est un système d’exploitation qui s’appuie massivement sur les conteneurs Linux pour les applications et qui pourra être déployé en mode physique ou virtuel.

CoreOS est un système d’exploitation Linux conçu spécifiquement pour les infrastructures serveur massives. Il se veut idéal pour les offres cloud. L’éditeur se trouvant derrière ce projet s’est appuyé sur les stratégies et techniques appliquées par les grandes sociétés du web (Google, Facebook ou encore Twitter) pour mettre au point cette solution.

Cette offre est tout d’abord conçue pour être administrée depuis un point unique, quel que soit le nombre d’instances. L’OS se veut minimal et aisé à maintenir. Ainsi, lors de l’application d’une mise à jour, c’est l’ensemble du système qui est modifié.

Le principe appliqué ici est simple : deux partitions sont proposées pour CoreOS. Lors de l’arrivée d’une mise à jour, l’OS patché est installé sur la partition inutilisée. Lors du prochain redémarrage de la machine (ou l’utilisation d’un reboot à chaud, via kexec) c’est cette dernière qui sera employée. La partition de démarrage utilisée précédemment sert alors de système de secours, permettant un retour aisé vers l’ancienne version de l’OS.

Le système n’a donc plus à gérer une foule de petites mises à jour. Il se met à niveau dans son ensemble. Les partitions système ne sont accessibles qu’en lecture, permettant ainsi de renforcer le niveau de sécurité de l’ensemble.

Technologie clé : les conteneurs

Tout ceci est rendu possible par la présence d’un OS simplifié au maximum, afin de ne pas ralentir l’infrastructure IT par des mises à jour qui présenteraient une taille trop imposante. Ses besoins de base en mémoire vive restent mesurés (114 Mo) et son temps démarrage se compte en secondes.

En contrepartie, CoreOS ne saura pas jongler avec des dépendances spécifiques. Mais il n’en a pas besoin. En effet, toutes les applications doivent être packagées au sein de conteneurs Linux, via Docker. Les dépendances seront donc prises en compte par les conteneurs et non par CoreOS.

Les paramètres système sont centralisés par un outil qui se charge de découvrir et configurer les nœuds CoreOS au sein d’un ensemble de machines. Une technologie prête pour les clusters… et le cloud. Les mises à jour sont assurées par l’outil CoreUpdate, qui propose tableaux de bord et rapports pour suivre le fonctionnement d’une infrastructure de serveurs. Des outils spécifiques au monde des clusters sont également en cours de test.

Les serveurs CoreOS pourront être physiques ou virtuels. Il est ainsi possible de déployer et gérer des instances sur les clouds d’Amazon (EC2), de Google (Compute Engine) ou encore de Rackspace. CoreUpdate gèrera sans distinction les instances physiques ou virtuelles du système.

CoreOS pourra donc à la fois servir à déployer des conteneurs sur des serveurs physiques ou virtuels. C’est bien évidemment dans la configuration « virtualisation + conteneurs » que cette solution donnera les résultats les plus probants, en alliant les bénéfices des deux mondes.

Au cœur de l’offre bare metal de Rackspace

Les mises à jour de base de CoreOS sont gratuites. CoreOS Inc. propose des offres de support « à la Red Hat » autour de sa solution. « Managed Linux » (de 1,25 à 10 dollars par serveur et par mois) permet de disposer des mises à jour de l’OS et d’outils offrant de disposer de plus de contrôle sur la phase d’update des serveurs. « Premium Managed Linux » (de 2,10 à 84 dollars par serveur et par mois) ajoute à ceci un support étendu (téléphone, chat et e-mail).

Le cas d’utilisation de cette technologie le plus marquant à ce jour est Rackspace, qui emploie CoreOS pour animer les machines de sa plate-forme OnMetal. DEIS l’utilise également au sein de son PaaS open source. Enfin, MemSQL Inc. a mis en place un cluster de 107 machines pilotées par CoreOS, qui sont exploitées pour des opérations de tests sur la base de données de l’éditeur.

Sur le même thème

OSv, un système d’exploitation cloud dédié aux machines virtuelles
Ansible : JSON et SSH au service du cloud
OVH invite Docker et Power8 dans ses offres cloud