Comment la conteneurisation peut-elle contribuer à la rapidité et à l'efficacité du projet?

Auteur: Roger Morrison
Date De Création: 28 Septembre 2021
Date De Mise À Jour: 11 Peut 2024
Anonim
Comment la conteneurisation peut-elle contribuer à la rapidité et à l'efficacité du projet? - La Technologie
Comment la conteneurisation peut-elle contribuer à la rapidité et à l'efficacité du projet? - La Technologie

Contenu


Source: Sashazamarasha / Dreamstime.com

À emporter:

Les conteneurs permettent aux développeurs de travailler plus rapidement et plus efficacement qu'avec des machines virtuelles.

Si vous avez entendu parler de la virtualisation de réseau, de la pratique consistant à extraire les réseaux du système «bare metal» et à les approvisionner en ressources virtuelles, vous avez probablement entendu parler des conteneurs. Si vous avez suffisamment lu pour comprendre en quoi les conteneurs informatiques diffèrent des conteneurs d’expédition, par exemple, vous en saurez un peu plus sur leur structure et leur composition.

Un conteneur est une ressource de virtualisation qui partage le noyau d'un système d'exploitation cloné avec d'autres conteneurs. Sa configuration nécessite moins d’efforts qu’une machine virtuelle en général et présente également d’autres avantages essentiels. Les systèmes, notamment les conteneurs Docker et Kubernetes, permettent aux entreprises de se construire et de s’adapter de manière nouvelle et intéressante.


Pourquoi les conteneurs sont-ils si populaires et comment contribuent-ils à l'efficacité et à l'amélioration des opérations? Voici quelques idées de pionniers de la conteneurisation qui ont mis cette philosophie au service de leurs entreprises et organisations. (Pour plus d'informations sur les conteneurs, voir Comment les conteneurs aident les applications d'entreprise.)

Encapsulation, microservices et artefacts

L’un des arguments les plus fréquemment évoqués par les ingénieurs qui utilisent avec enthousiasme les configurations de conteneurs est que les conteneurs eux-mêmes peuvent héberger une base de code complète avec toutes ses dépendances, prête à être déployée.

À l'aide d'un fichier statique appelé image de conteneur, les ingénieurs peuvent combiner des bibliothèques système et d'autres ressources avec tout ou partie d'une application. Cela conduit à la création et à la fourniture de microservices, dans lesquels différents conteneurs hébergent différentes fonctions pouvant être combinées pour créer un écosystème agile.


"Nous pensons que le conteneur, ou plutôt l'image du conteneur, est le nouvel artefact de livraison de logiciel", déclare Chris Ciborowski, PDG de NebulaWorks, qui travaille avec les conteneurs depuis leurs débuts dans les années 2000. «Qu'est-ce que je veux dire par là et pourquoi? Un artefact de remise est la version exécutable d’une application de développeur prête à être déployée. Auparavant, il s'agissait uniquement du code exécutable lui-même, ce qui laissait la résolution des dépendances d'exécution aux opérations. En exploitant l'image du conteneur, les développeurs peuvent inclure toutes leurs dépendances, ce qui réduit considérablement les risques d'échec de l'exécution dus à une erreur humaine lors du déploiement de l'application. ”

«Les conteneurs, qui permettent aux organisations de migrer facilement les applications et leurs dépendances entre ordinateurs, sont tout à fait judicieux pour les organisations développant des logiciels en interne», déclare Peter Tsai, analyste principal de la technologie chez SpiceWorks, soulignant que les conteneurs sont toujours une technologie relativement nouvelle. «Les solutions tierces pour les conteneurs ne sont pas aussi robustes que dans l’environnement de virtualisation. Selon les données de Spiceworks, en 2018, seulement 19% des organisations utilisaient des conteneurs, bien que ce nombre devrait atteindre 35% d'ici 2020. "

Scott Buchanan, vice-président du marketing chez Heptio, explique cela sous la forme d'une analogie logistique utile.

Pas de bugs, pas de stress - Votre guide étape par étape pour créer un logiciel qui change la vie sans vous détruire

Vous ne pouvez pas améliorer vos compétences en programmation lorsque personne ne se soucie de la qualité des logiciels.

«Pensez à déménager», dit Buchanan. «Vous allez avoir besoin de beaucoup de cartons. Ainsi, vous en déployez un grand nombre dans toute votre maison, puis vous les remplissez avec tout ce qui compte pour vous: les applications. Au lieu de les fermer et de ne plus avoir accès à vos biens, ils restent ouverts afin que vous puissiez réorganiser vos documents entre les boîtes si nécessaire. Et, lorsque vous devez déplacer ces boîtes, c’est beaucoup plus simple que de mettre votre maison sur roulettes. Ces boîtes en carton sont des conteneurs, et elles vous offrent la possibilité de déplacer vos documents entre différents sites, y compris les clouds publics et privés. ”

La philosophie de DevOps

Les conteneurs aident également les entreprises à poursuivre une tâche appelée «DevOps», qui est en quelque sorte un saint graal dans la technologie d'entreprise. L’idée est de lier les départements du développement et des opérations, d’aider les équipes à mieux collaborer, ce qui améliore le pipeline et crée un système de libération plus agile. (Vous souhaitez en savoir plus sur DevOps? Consultez les explications fournies par les responsables de DevOps.)

«Les développeurs ont non seulement un avantage, mais également les opérations», explique Ciborowski, en décrivant certaines des fonctionnalités de DevOps. «L’image de conteneur étant portable, les équipes d’exploitation peuvent exécuter celle-ci sur TOUT hôte disposant d’un environnement de conteneur conforme - comme Docker - et, à mesure que l’adoption évolue, tirer parti des outils d’orchestration tels que Kubernetes pour presque toute pile d’applications, pour TOUS les types d’infrastructures, exemple, sur site et dans le cloud. "

Le PDG Ali Golshan de StackRox explique plus en détail certaines des principes de DevOps inhérents à la conception de conteneurs, en expliquant comment la conteneurisation peut aider à améliorer un pipeline.

«La conteneurisation permet aux organisations de libérer des applications et d’apporter de nouvelles fonctionnalités aux clients beaucoup plus rapidement», déclare Golshan. «Les conteneurs isolant le code en unités plus petites, les développeurs peuvent travailler de manière plus indépendante pour améliorer les fonctionnalités. La technologie des conteneurs réduit également la charge de test, ce qui accélère l’introduction de logiciels, car les développeurs ne peuvent tester que le nouveau code, en étant sûrs qu’ils n’ont pas «cassé» une autre partie de l’application. ”

Dan Bartow de ConDati décrit comment la conteneurisation Kubernetes a aidé son entreprise à évoluer.

«Avant Kubernetes, nous devions configurer manuellement chaque environnement et effectuer des mises à niveau en extrayant de nouveaux conteneurs, en arrêtant les anciens, en démarrant de nouveaux et répétant cela manuellement pour chaque client», explique Bartow. «Kubernetes a transformé les heures et les heures de travail des jours de libération en quelques minutes seulement. En quelques clics, nous pouvons effectuer une mise à niveau progressive par redémarrage de chaque conteneur dans tous les environnements. Cela se passe sans problème.

Lorsque ces types d’opérations aident les développeurs à travailler plus étroitement avec les équipes d’exploitation et à éliminer les barrières entre les départements, ils peuvent améliorer le modèle DevOps et rendre la société plus compétitive dans son secteur.

Sécurité

En plus de tout ce que les conteneurs promettent en termes de fonctionnalité, ils offrent également d'importants avantages en matière de sécurité. Golshan a beaucoup à dire sur la manière dont une «surface d'attaque mince» dans le déploiement de conteneurs réduit les risques.

«La surface d'attaque avec les conteneurs devient à la fois simplifiée et compliquée», explique Golshan. «D'une part, chaque« morceau »de code est plus petit, ce qui réduit la surface d'attaque. De plus, les conteneurs contiennent de nombreuses informations déclaratives sur la manière dont ils doivent être configurés, étiquetés et utilisés, ce qui peut améliorer la sécurité. "

Et, ajoute-t-il, ce n’est pas tout.

«D'autre part, les conteneurs introduisent de nouvelles surfaces d'attaque de deux manières. L'éphémère est un élément. Etant donné que les conteneurs vont et viennent, il est normal de prendre des mesures de sécurité drastiques, telles que de tuer un conteneur s'il agit "de manière incorrecte". Mais cette éphémère signifie également que les attaquants peuvent se dissimuler plus facilement et contrecarrer la criminalistique en lançant une attaque, en extrayant des données, et puis tuer le conteneur quand ils ont terminé. Le deuxième élément de la surface d’attaque plus large comprend d’autres éléments de l’écosystème, notamment l’orchestrateur. Les orchestrateurs offrent aux entreprises un moyen de redimensionner la création, le déploiement et la gestion de conteneurs, mais le secteur a été témoin de multiples attaques et vulnérabilités liées à l'orchestrateur. Tesla a vu son infrastructure Kubernetes compromise de manière à permettre aux attaquants d’exploiter la crypto-monnaie, et un rapport décrivant comment un attaquant aurait pu compromettre les clusters Kubernetes de Shopify. "

Dans le cas de Bartow, un audit de sécurité effectué par une tierce partie a confirmé que la plus petite surface d’attaque des conteneurs était un avantage pour ConDati.

"Nous venons juste de terminer un test de pénétration par une tierce partie ... le premier que nous avons fait. Ils nous ont dit mot pour mot que nous avions une" petite surface d'attaque ", explique Bartow. "Kubernetes est une grande partie de pourquoi c'est vrai."

Tout ce qui précède laisse entrevoir un grand potentiel pour les conteneurs dans le monde informatique professionnel de demain. Réfléchissez à toutes les manières dont ces avantages essentiels peuvent s’appliquer à tout modèle commercial de pointe.