Xylos brands

Comment utiliser un conteneur ?

Dans l’univers informatique actuel, la virtualisation joue un rôle décisif. L’installation de systèmes d’exploitation et d’applications sur des serveurs physiques cède la place aux machines virtuelles. Des solutions telles que Microsoft Hyper-V, VMware vSphere ou KVM facilitent nettement cette transition, tant dans votre propre centre de données que dans le cloud.

La technologie est en constante évolution. Bien que les machines virtuelles facilitent la virtualisation d’un système d’exploitation complet (par exemple Linux), elles emballent des applications. Une machine virtuelle contient un système d’exploitation complet et donc beaucoup de temps système. Si votre application se compose de plusieurs petits composants (« micro-services »), la situation ne fera donc qu’empirer...

Les conteneurs constituent une solution mieux adaptée à l’emballage et au déploiement des applications. Même quand il s’agit de micro-services.

Les experts de Xylos utilisent des conteneurs à la fois pour des applications internes et pour des applications disponibles en externe telles qu’ OASE.

1. Qu’entend-on par un conteneur ?

Un conteneur est un moyen efficace d’emballer un logiciel dans un format standard. En plus de votre propre code d’application, un conteneur contient tous les outils, bibliothèques système, environnements d’exécution et paramètres nécessaires au fonctionnement de votre application. Ni plus ni moins. C’est le développeur qui tire les ficelles pour que le conteneur ne contienne que l’essentiel. Résultat : un conteneur est généralement beaucoup plus petit qu’une machine virtuelle, peut être démarré plus rapidement et peut être remplacé par une nouvelle version plus rapidement.

Le marché des conteneurs enregistre une croissance rapide qui devrait peser, selon les estimations, 2,7 milliards de dollars à l’horizon 2020, soit 3,5 fois plus qu’en 2016.

Bien que la technologie des conteneurs existe depuis longtemps, elle n’est devenue vraiment populaire qu’en 2013 avec l’introduction du moteur Docker. Les distributeurs Linux et les fournisseurs de cloud public ont choisi Docker. Bien que le moteur Docker ne tournât initialement que sous Linux, la collaboration avec Microsoft a rapidement abouti à la prise en charge de Windows. Docker est un « container runtime ». Aujourd’hui, il existe de nombreuses autres solutions, mais Docker reste le plus populaire.

2. Comment utiliser un conteneur Docker?

Passons au volet pratique et à l’utilisation d’un conteneur Docker. Dans un prochain billet de blog, nous découvrirons comment construire ce conteneur. Supposons qu’un développeur ait créé une application qui permet aux utilisateurs de reconnaître des images. C’est une application web avec une fonction de téléchargement. Après avoir téléchargé une photo, l’utilisateur peut voir le résultat :

docker_container_Egyptian_cat

L’application a été construite avec Go et utilise TensorFlow, un framework d’apprentissage machine open source de Google. Puisque l’application a été emballée dans un conteneur, cela n’est pas vraiment si pertinent puisque le conteneur peut être démarré sur n’importe quel système qui supporte les conteneurs Docker. Ceci est même possible sur votre propre machine Windows si vous installez, par exemple, Docker Desktop. Avec Docker Desktop sur votre machine, vous pouvez utiliser cette commande :

docker run -p 9090:9090 -d gbaeke/nasnet

La commande ci-dessus rend l’application web disponible sur le port 9090 (http://localhost:9090). Le conteneur tourne en arrière-plan (-d) et utilise l’image du conteneur nommée gbaeke/nasnet. Veuillez remarquer que cette image de conteneur est stockée dans un registre de conteneurs, un endroit où vous pouvez stocker vos propres images. Le registre des conteneurs utilisés dans ce cas est Docker Hub et l’image est accessible au public.

3. Comment faire tourner un conteneur dans le cloud ?

Chaque fournisseur de cloud public offre la possibilité de faire tourner des conteneurs Docker. Microsoft Azure propose, entre autres, les possibilités suivantes :

  • Azure Container Instances (ACI) : le moyen le plus rapide et le plus simple de faire tourner un conteneur dans Azure ;
  • Azure Kubernetes Service (AKS) : possibilités d’orchestration étendues de conteneurs pour des applications plus complexes (par ex., micro-services).

Notre application web est très facile à démarrer dans ACI via le portail Azure :

L’application est maintenant immédiatement disponible via un nom public.

4. Conclusion

Les conteneurs facilitent l’emballage d’une application dans un format standard. Dans ce billet de blog, nous avons utilisé une image du conteneur Docker existante. Cette image est facile à utiliser sur n’importe quel système qui prend en charge Docker, comme votre propre ordinateur ou le cloud Azure. Dans un prochain billet, nous découvrions comment construire une image de conteneur.

Partager cet article de blog

Laissez une réponse

Votre adresse email ne sera pas publiée. Les champs requis sont indiqués.