NetApp Tech OnTap NetApp Logo
NetApp Tech OnTap
     
Accélérer la fourniture d'applications grâce à la technologie de containers de Docker
Melissa Palmer
ingénieur système, NetApp

En tant qu'ingénieur système NetApp, je suis en permanence à l'affût des nouvelles technologies susceptibles de bénéficier à mes clients et à la bonne santé de leurs activités. Dans ses prévisions 2015 sur les technologies , ], Jay Kidd, directeur technique de NetApp, mentionne une nouvelle technologie en plein essor : Docker. « Docker remplace les hyper-viseurs en tant que container de choix pour les applications évolutives », affirme-t-il. Je suis entièrement d'accord avec lui.

J'ai une expérience certaine dans le domaine de la virtualisation et je suis active dans la communauté de la virtualisation. Je suis vExpert depuis deux ans et cela fait quelque temps que j'ai Docker à l'œil. En novembre dernier, j'ai participé à un défi pour blogueurs, 30 articles de blog en 30 jours, lancé au sein de Virtual Design Master, la communauté en ligne dédiée à la virtualisation que j'aide à gérer. J'ai rédigé plusieurs articles sur Docker pendant ce défi, et depuis je continue à écrire sur le sujet, c'est pourquoi j'ai été heureusement surprise lorsque Tech OnTap m'a demandé de faire part de mon avis.

Qu'est-ce que Docker?

De nombreuses tendances technologiques actuelles visent à abstraire l'infrastructure du matériel. Docker est une plateforme open source qui va plus loin et abstrait les applications qui s'exécutent sur les systèmes d'exploitation des serveurs. Au lieu d'avoir à créer une machine virtuelle pour chaque application, Docker exécute les applications dans des containers sur une seule instance du système d'exploitation.

Containers

Des containers légers peuvent être exécutés sur n'importe quelle plateforme compatible avec Docker Engine,le cerveau de Docker. Docker Engine peut être exécuté pratiquement sur n'importe quel système, par exemple aussi bien sur un serveur Linux d'un data center que sur un ordinateur portable Windows ou dans un environnement cloud. De même, les containers Docker s'exécutent sur n'importe quelle infrastructure. La capacité de Docker à s'exécuter sur pratiquement n'importe quel système offre un nouveau niveau d'abstraction pour les applications. Docker se révèle ainsi être une méthode plus simple pour développer, transférer et exécuter des applications distribuées, ce qui permet à une organisation d'être plus agile, de faire évoluer une application plus rapidement et plus facilement, et de pénétrer le marché plus vite.

Docker Hub

Un autre composant clé de l'écosystème de Docker est Docker Hub, un référentiel centralisé dans lequel les images de Docker sont stockées pour être réutilisées et partagées au sein de la communauté Docker. Il existe de nombreux référentiels Docker officiels, par exemple Ubuntu, mongoDB et Java, dans Docker Hub. Grâce à ceux-ci, les développeurs peuvent facilement se lancer dans l'aventure Docker en récupérant une image officielle depuis Docker Hub, en la modifiant selon leurs besoins, puis en téléchargeant à nouveau cette image dans Docker Hub pour que leurs collègues ou la communauté Docker puissent y accéder aisément.

De nombreux développeurs ont créé des serveurs Web préconditionnés avec les environnements NoSQL et de base de données dans un seul container ou dans un groupe de containers, et qui peuvent être exploités par d'autres équipes de développement de leur organisation ou d'une autre organisation. À mesure que Docker gagne en popularité, il est possible que les fournisseurs de logiciels se mettent à proposer leurs produits sous forme de containers.

Il existe par ailleurs une version d'entreprise de Docker Hub pour ceux qui ont besoin de protéger toutes leurs activités Docker avec un pare-feu.

Une machine virtuelle, c'est un peu comme un container, non ?

Plus ou moins. Docker Engine n'est pas un hyper-viseur comme VMware ESXi. Il peut être exécuté sur un équipement physique, dans une machine virtuelle sur un hyper-viseur, ou sur une plateforme de cloud. Une machine virtuelle possède une configuration qui lui est propre, laquelle inclut un système d'exploitation ainsi que les divers composants requis par l'application qui s'exécute sur cette machine virtuelle.

La différence fondamentale réside dans le fait qu'un système d'exploitation doit être installé pour chaque machine virtuelle. Cela signifie des coûts supplémentaires liés, par exemple, aux licences, aux configurations propres au système d'exploitation ou aux dépendances architecturales.

Le container Docker contient une ou plusieurs applications, ainsi que les ressources partagées telles que les fichiers binaires et les bibliothèques, dont les applications ont besoin pour fonctionner. Imaginez le niveau d'efficacité que vous pouvez atteindre lorsque chaque composant d'une application s'exécute dans un container sur le même système d'exploitation.

En regroupant tous les composants d'une application dans un container, celui-ci sert de construction logique et assure la séparation des applications et des charges de travail. Vous pouvez ainsi exécuter un environnement mutualisé avec plusieurs applications, sans avoir à vous soucier d'éventuels conflits.

Figure 1)Comparaison des machines virtuelles et des containers.

Source: NetApp, 2015

Docker et le cloud

Que votre cloud soit privé, public ou hybride, Docker s'intègre, de par sa conception, à votre stratégie cloud. De nombreux fournisseurs de cloud hyper-évolutif tels qu'Amazon Web Services (AWS) sont compatibles avec Docker. Cela représente un avantage majeur pour le processus de développement, puisque vous pouvez démarrer de nouveaux environnements très simplement, en quelques minutes, à des fins de test. Les containers Docker s'exécutent exactement comme ils le feraient sur un poste de travail ou dans un data center. Un service tel qu'AWS peut s'avérer extrêmement puissant pour les développeurs Docker.

Prise en charge des opérations de développement

Docker se révèle également utile pour les équipes chargées des opérations. L'environnement applicatif est pris en charge de la même manière, qu'il soit exécuté sur place ou dans le cloud, ce qui simplifie la gestion des applications dynamiques.

De nombreuses organisations ont commencé à mettre en place une méthodologie d'opérations de développement pour rationaliser davantage leur pénétration du marché. Docker est compatible avec les outils d'opérations de développement classiques puissants tels qu Ansible, un moteur d'automatisation. Vous pouvez ainsi intégrer des processus de développement existants ou nouveaux et créer une infrastructure automatisée en profondeur et capable de s'exécuter sur n'importe quel système.

Les projets de la communauté engendrent le développement d'outils de déploiement et d'orchestration pour l'écosystème Docker. De plus, Docker, Inc. a développé les produits de création et d'orchestration Machine, Swarm et Compose pour la mise en cluster et la composition. Une telle innovation n'est que le début pour une communauté Docker active, dévouée à la pérennité de Docker.

Provisionnement du stockage pour Docker

Les containers Docker peuvent exploiter divers types de stockage dans un environnement facile à gérer. Il existe deux méthodes principales pour fournir des services de stockage à votre environnement Docker:

  • Provisionnement des volumes à l'intérieur d'un container Docker. Les nouveaux volumes peuvent être créés et montés depuis un container Docker. Ils peuvent aussi être montés sur le container Docker depuis le système d'exploitation hôte sur lequel Engine s'exécute.
  • Création d'un container de volume de données. Des containers de volume de données distincts sont habituellement utilisés parallèlement à des containers Docker non permanents. Par exemple, une application évolutive peut utiliser un container de volume de données pour stocker des données persistantes afin de pouvoir faire évoluer plusieurs containers Docker en fonction des besoins, sans perte de données.

Docker et NetApp clustered Data ONTAP

Vous avez peut-être déjà noté que Docker et NetApp® clustered Data ONTAP® fonctionnent de manière similaire. Clustered Data ONTAP agit comme une couche d'abstraction pour le matériel de stockage, y compris le CPU, la mémoire et les lecteurs, qu'il s'agisse de lecteurs SATA, SAS ou SSD. Les serveurs virtuels de stockage s'exécutent sur Data ONTAP, comme les containers Docker s'exécutent sur Docker Engine. Chaque SVM peut posséder son propre espace de noms, ce qui facilite la prise en charge d'un environnement évolutif tel que Docker.

Data Fabric étend les avantages au cloud

NetApp étend les avantages de l'abstraction clustered Data ONTAP au cloud grâce à son approche du Data Fabric. La gestion simple multi-plateforme et intercloud de Docker s'intègre de manière fluide à tout Data Fabric basé sur la technologie NetApp.

Vous pouvez exécuter Docker en utilisant le stockage FAS dans votre data center, puis déplacer l'environnement complet vers le cloud à l'aide de la suite de solutions NetApp Private Storage pour le cloud (disponible pour AWS, SoftLayer et Azure) ou de Cloud ONTAP (disponible pour AWS), sans aucun changement, et gérer toutes les données à l'aide des mêmes outils depuis n'importe quel endroit.

Pour en savoir plus sur le déploiement de Docker conjointement à clustered Data ONTAP, lisez le livre blanc Utilisation de NetApp et de la technologie Docker pour améliorer et accélérer les opérations de développement dans les environnements de cloud hybride .

Embarquer sur le "porte-containers" Docker

Vous vous demandez peut-être quand embarquer sur le navire Docker. La réponse à cette question dépend des exigences de votre entreprise. Docker vous permet de perfectionner vos processus de développement et de déploiement, pour proposer plus rapidement des logiciels de meilleure qualité. De nombreuses organisations commencent à faire appel à la plateforme Docker lorsqu'elles souhaitent implémenter ou mettre à niveau une application.

Docker est étonnamment facile à déployer, aussi bien sur un ordinateur que sur AWS. La communauté open source qui soutient Docker est une vraie mine d'informations. Vous pouvez même tester Docker sur son site Web grâce à un simulateur et ainsi en découvrir les bases. Son intégration dans des composants d'infrastructure tels qu'Ansible, Azure, AWS et OpenStack témoigne de sa croissance rapide et de sa popularité.

Docker et la tendance à la conteneurisation des applications et des services constituent un véritable changement de paradigme pour certaines entreprises. L'avantage, c'est que vous n'êtes pas seul à bord de ce navire. Que votre équipe de développement recherche davantage d'agilité pour déployer et tester un code ou que votre équipe chargée des opérations cherche à garantir la cohérence entre les environnements de développement, de test et de production, Docker se révèle être une solution puissante. Il est maintenant temps de découvrir cette technologie innovante, qui s'intègre à merveille dans la vision NetApp du Data Fabric.

Melissa Palmer publie régulièrement des articles de blog sur Docker, la virtualisation, le cloud et d'autres sujets sur les dernières tendances technologiques. Son blog, vMiss.net: Secret Diary of a VM Girl, a été récemment élu meilleur nouveau vBlog pour 2015 par vSphere-land.com. Visitez le site vMiss.net pour de plus amples informations.

Tech OnTap
S'inscrire maintenant
Tech OnTap propose chaque mois des informations techniques, mais également des meilleures pratiques, des conseils et des outils, des interviews d'ingénieurs, des démonstrations, des évaluations et bien plus encore.

Pour vous inscrire dès aujourd'hui, consultez Tech OnTap dans la communauté NetApp.

Juin 2015

Explore

Prise en charge de Docker par Microsoft

En octobre 2014, Microsoft et Docker ont dévoilé leurs projets d'unification de l'écosystème Windows Server et de la communauté Docker. Pourquoi est-ce important ? La quantité d'applications qui s'exécutent sur les serveurs Windows est considérable, aussi bien dans le data center que dans le cloud et sur Azure. La récente annonce concernant l'offre de cloud tout-en-un Azure attire fortement l'attention sur la place de Docker dans l'écosystème Microsoft.

En ajoutant les fonctionnalités de Docker aux plateformes Windows, vous bénéficiez des avantages de chacun de ces deux environnements. Tous les éléments relatifs à la gestion de la configuration et des patchs de Windows restent à leur place, tout en permettant aux développeurs de profiter des avantages offerts par la flexibilité, la rapidité, la reproductibilité et la prédicabilité caractéristiques des containers. La disponibilité de ces derniers sur l'infrastructure Windows existante est un argument non négligeable pour attirer l'attention des entreprises fortement investies dans Windows. Microsoft travaille également à prendre en charge le même jeu de fonctionnalités sur Hyper-V en tant que cible hébergeant Docker.

 
TRUSTe
Nous contacter   |   Choisir un partenaire   |   Commentaires   |   Offres d'emploi  |   Abonnements   |   Déclaration de confidentialité   |   © 2015 NetApp