Dans cet article, retrouvez le point de vue de Brad Shimin, Service Director chez Global Data IT Technology and Services sur les liens entre conteneurs et cloud, exposé sur son blog.
En résumé :
- De nos jours, tout le monde fait de la conteneurisation dans une course effrénée vers ce qui semble être une véritable compatibilité cross-cloud.
- Cependant, les entreprises doivent savoir qu’en termes de containeurisation et de microservices, il existe une énorme différence entre compatibilité et capacité.
En 1964, le spécialiste des médias Marshall McLuhan expose son idée maîtresse, quelque peu déroutante mais maintes fois reprises depuis : "le media est le message," pour tenter de souligner l’importance du « où et comment » du récit. Pour M. McLuhan, un film, un roman ou une bande dessinée peuvent tous raconter la même histoire, mais ce qui est important, c’est que chacun le fasse avec un traitement très différent du déroulement de l’histoire. Ces différences façonnent à leur tour notre compréhension de l’histoire de manière unique.
Aujourd’hui parmi les fournisseurs de technologie, en particulier ceux qui cherchent à faire un saut architectural du on-premise vers le cloud, la notion vieille de 55 ans de M. Macluhan semble étrangement applicable, pour ne pas dire purement prophétique. Voici ce qu’explique Brad Shimmin sur son blog : en tant que tendance du marché, l’idée de l’abstraction via des technologies de conteneurisation comme Docker a entièrement remodelé le paysage logiciel mondial, modifiant à tout jamais la façon dont les développeurs créent des logiciels.
En résumé, les abstractions permettent aux développeurs d’écrire une fois et d’exécuter "quasi" n’importe où en transformant les applications monolithiques en une série de micro-services hautement standardisés mais extrêmement malléables.
Mais il y a beaucoup plus à gagner que la simple portabilité. Une application micro-services correctement conteneurisée permet aux développeurs de logiciels d'innover beaucoup plus rapidement, car des fonctionnalités peuvent être isolées du reste de l'application via des d’API indépendantes. Si elles sont bien faites (comme dans tous les micro-services), ces API permettent également aux fonctions individuelles d’être recomposées (ou réutilisées) à la fois par le développeur initial et par tout développeur tiers autorisé. Tout fournisseur de technologie promettant des fonctionnalités PaaS (Platform-as-a-Service) exploite probablement les micro-services de cette manière.
En fait, qu’il s’agisse de construire un PaaS complet ou simplement de créer une application autonome, la plupart des développeurs de logiciels indépendants (ISV) choisissent actuellement de ré-architecturer leurs logiciels en utilisant les micro-services. Très récemment, Sisense, expert en solutions de Business Intelligence et de Data Analytics, a publié un communiqué de presse pour annoncer qu’il avait entièrement ré-architecturé son logiciel, citant des gains massifs en termes de livraison, de fiabilité et d'évolutivité. C’est logique pour un fournisseur spécialisé dans l'analyse intégrée, dont les partenaires et clients utilisent les fonctionnalités et les intègrent à leurs propres solutions.
L’opération n’a pas été une mince affaire pour Sisense, car le fournisseur avait construit sa solution originale directement à partir d’une version essentiellement locale de Microsoft Windows. Clairement, pour Sisense (et pour de nombreux éditeurs de logiciels), le coût de la ré-architecture du logiciel via micro-services semble pourtant intéressant.
Ce qui nous ramène à Marshall McLuhan. À première vue, les micro-services semblent constituer la solution idéale au problème de la portabilité des plates-formes, en particulier sur des plates-formes cloud disparates (par exemple, Amazon Web Services et Google Cloud Platform). Tant que Docker / Kubernetes sont en jeu, les entreprises clientes peuvent exécuter les applications conteneurisées qu’elles veulent sur la plate-forme conteneurisée de leur choix. Ce qui met a priori M. McLuhan hors-jeu, le media (c’est-à-dire la plate-forme) n’étant plus le message : c’est le logiciel qui est le message. La plate-forme, malheureusement, n’a plus d’importance - du moins pour ce qui est de définir la forme des histoires racontées sur cette plate-forme.
Pas tout à fait pourtant : comme dans la plupart des projets complexes, la conteneurisation peut certes rendre les logiciels réellement portables, mais la plate-forme importe toujours, de même que la manière dont les éditeurs de logiciels conteneurisent leurs logiciels. Par exemple, si une application a été convertie en un ensemble de micro-services et écrite dans un langage de programmation monolithique tel que Java, ce qui suppose de gérer des tonnes de complexités d'allocation de mémoire pour une application volumineuse, l'ensemble de conteneurs résultant risque de fonctionner moins efficacement qu'avant.
De même, si l'application nouvellement conteneurisée n'a aucune visibilité sur les services sous-jacents de la plate-forme, ce logiciel fonctionnera essentiellement à l'aveugle. Sur AWS, les développeurs peuvent créer leurs propres services de conteneur, mais s’ils n’utilisent pas Amazon Elastic Container Service (Amazon ECS), leur logiciel n’aura alors pas accès à tous les services sous-jacents intéressants. Ces fonctionnalités incluent la possibilité de provisionner des conteneurs sans avoir d'abord à provisionner des instances de serveur, l’accès direct à des services précieux tels que la modélisation de Machine Learning (ML), les capacités de calcul, le stockage de données global (ou régional), la surveillance système globale spécifique aux environnements conteneurisés, la sécurité au niveau des micro-services et même des coûts d’exécution extrêmement réduits grâce à l’allocation automatique des ressources.
Cette même histoire se répète sur toutes les grandes plateformes de cloud hyper-scale du marché. C'est pourquoi les grands éditeurs ancrent généralement leurs logiciels sur une plate-forme donnée, car cela leur permet d'accéder à ses avantages substantiels et de les transmettre à leurs clients. Les entreprises doivent donc demander à leurs éditeurs de préciser soigneusement et complètement comment leur logiciel conteneurisé a été construit et dans quelle mesure il s’intègre aux services sous-jacents sur une plate-forme cloud donnée. En bref, la portabilité n’est pas synonyme de capacité. Le media est toujours le message. Et le cloud compte vraiment.
Kubernetes et Claranet : Automatiser, déployer, scaler et manager des applications conteneurisées
Source : https://itcblogs.currentanalysis.com/author/bradshimmin/