Les cookies assurent le bon fonctionnement de notre site. En utilisant ce dernier, vous acceptez l'utilisation des cookies. En savoir plus OK
Vous êtes ici : Accueil / Blog / 2015 / 07 / Se préparer aux Containers et aux Microservices

Se préparer aux Containers et aux Microservices

rouages

rouages


Avec la mise sur pied d'un service d'intégration et déploiement continus, le CIRB s'est doté d'une équipe orientée DevOps, qui lui donne les moyens de poursuivre son évolution en matière de qualité des livrables et de mise à l'échelle de l'infrastructure. L'utilisation de containers et le développement de microservices en est la suite logique.
 
Fin des années 90, notre Data Center était composé d'autant de serveurs physiques que d'applications déployées. Début 2000, nous introduisions la virtualisation des serveurs. Dans un premier temps, nous considérions qu'une machine virtuelle s'utilisait à l'identique d'une machine physique. Sur chaque machine virtuelle, nous installions l'application et toutes ses dépendances. Progressivement, les serveurs physiques ont été reliés en cluster et nous sommes passés à l'ère du premier cloud. Les machines virtuelles pouvaient se déplacer "toutes seules" d'un serveur physique à l'autre en fonction de la charge. Nous avons pu isoler les serveurs virtuels dans des réseaux devenus eux-mêmes virtuels, de sorte qu'aux alentours de 2010, notre offre de services s'est étendue : IaaS, Paas, SaaS. Chaque serveur virtuel réembarque un système d'exploitation : Linux, Windows, AIX, … et sa licence. Notre paradigme était l'isolation de chaque application et ses dépendances dans un OS complet sur son serveur.
 
Depuis plus de 4 ans, nous nous sommes lancés, au CIRB, dans la voie de l'intégration et du déploiement continus. Nous avons pu le faire grâce à ces choix judicieux posés au fil du temps en matière d'infrastructure et d'organisation. Cette automatisation nous permet de redéployer le même serveur virtuel à répétition, mais aussi de répartir l'application et ses dépendances sur plusieurs serveurs.
 
Pour accélérer les déploiements, dans une approche DevOps, nous souhaitons nous assurer que le même produit composé d'un ensemble de services soit promu à l'identique et déployé de la même manière sur les différents environnements. Voilà pourquoi depuis près d'un an, nous utilisons des containers. Un container peut être construit en superposant instantanément, par construction, plusieurs couches logicielles, sans donc devoir passer par une phase de "setup, next, next,…". Il démarre très rapidement (une, deux secondes) et consomme peu de ressources car au lieu d’instancier un nouveau serveur virtuel, il utilise le système d'exploitation sous-jacent, tout en étant isolé et en pouvant communiquer dans un réseau privé avec d'autres containers. Cette technologie est disponible sous Linux. Microsoft annonce sa disponibilité dans sa prochaine release d'OS Server et l'a déjà intégrée à Visual Studio et Azure. Le format des containers devient interchangeable sous l'égide de l'Open Container Project, dans lequel vous retrouvez tous les grands acteurs y compris Vmware, Microsoft, RedHat ou The Linux Fundation.
 
Légers et performants, les containers peuvent être déployés, mis à jour en quelques secondes sur le poste du développeur, dans nos fermes vCloud voire chez d'autres providers : Azure, S3, OVH…. On parle vraiment de mise à l'échelle automatisée de l'infrastructure en fonction de la charge. Cela était impensable avec de simples machines virtuelles.
 
L'apport des containers pousse inévitablement à un autre regard sur le développement et la gestion des configurations.  En scindant l'application non pas en web-services mais en micro-services, encore plus petits, autonomes entre eux, ceux-ci peuvent être reconstruits, arrêtés, redéployés en autant d'exemplaires que nécessaire, automatiquement au fil de l'eau selon la charge, sans interruption de service. La mise en œuvre des micro-services, de leur développement à leur déploiement pour délivrer des services, demande de nouvelles approches de programmation et une plus grande maturité des outils de déploiements que les projets monolithiques. Pour préparer cette étape, le service d’intégration et déploiement continus, en relation avec les équipes projets et opérationnelles, concentre une partie de ses efforts sur l’orchestration.

Envie de rejoindre l’équipe ? Le CIRB recrute ;-)

Ajouter un commentaire

Vous pouvez ajouter un commentaire en complétant le formulaire ci-dessous. Le format doit être plain text. Les commentaires sont modérés.

Question: Combien font 10 + 4 ?
Votre réponse:

Tous nos posts