Au cours de ces dernières années, Docker est devenu la référence incontournable dans le domaine de la technologie de conteneurisation – une nouvelle façon de conditionner et de déployer des logiciels, souvent créés par l’utilisateur lui-même. Ainsi, vous n’êtes plus obligé de tenir compte du matériel et des paramètres de configuration spécifiques. De plus, vous pouvez exploiter la puissance informatique physiquement disponible de manière beaucoup plus efficace. Cette solution vous semble intéressante ? Notez bien qu’elle exige une méthode de travail complètement différente.
Grâce à l’approche DevOps nous considérons de plus en plus le développement de logiciels et la gestion des infrastructures comme une seule et même activité. Les paramètres de sécurité, de disponibilité et de performance sont réunis avec votre logiciel dans une seule et même boîte : le conteneur Docker. Le déploiement du logiciel devient ainsi très simple – un peu comme lorsque l’on sert un repas préparé au lieu de devoir à chaque fois cuisiner tous les différents ingrédients ensemble.
Lorsque vous créez un logiciel vous-même, vous ne partez jamais vraiment de zéro. Vous vous basez en effet sur des éléments existants, comme le système d’exploitation, les bibliothèques, les pilotes, les plugins, les environnements d’exécution, etc. Sans quoi, il serait impossible de faire fonctionner votre application.
Dans le cadre d’une approche conventionnelle, vous devez d’abord procéder à l’installation – sur votre propre ordinateur, serveur ou serveur virtuel – de toutes les couches au-dessus du système d’exploitation lui-même. Votre application est-elle enfin prête après toutes ces heures de réflexion, de programmation, de tests et d’optimisation ? Dans ce cas, vous pouvez recommencer tout le processus dans l’environnement de production. En résumé, la méthode traditionnelle présente de nombreux inconvénient:
L’installation de votre infrastructure et tout ce qui va avec est un travail répétitif, que vous, en tant que développeur de logiciels, préférez ne pas avoir à effectuer. De plus, si vous souhaitez un deuxième ou un troisième serveur, pour des raisons de performances ou de fiabilité, vous devez recommencer tout le travail.
De petites différences de versions entre les environnements de développement, de test et de production peuvent avoir un impact majeur. Ce qui semble toujours fonctionner à la perfection peut donc soudainement poser des problèmes au moment de la mise en ligne.
Dans une approche informatique traditionnelle, c’est le matériel qui détermine la rapidité ou la lenteur de votre système. Si vous voulez plus de puissance de calcul, vous devez ajouter des ressources. Vous avez trop de ressources à votre disposition ? Dans ce cas, elles resteront inutilisées. Faites-vous appel à la virtualisation pour regrouper plusieurs serveurs virtuels sur une même infrastructure matérielle ? Dans ce cas, le nombre de systèmes d’exploitation, de bibliothèques et autres sera multiplié, et vous consommerez ainsi toute votre puissance de calcul.