Views
7 months ago

ICTjournal février 2019

  • Text
  • Banques
  • Native
  • Technologies
  • Faire
  • Suisses
  • Solutions
  • Netzmedien
  • Applications
  • Entreprises
  • Suisse

24 cloud native Andreas

24 cloud native Andreas Grütter, Head IT Architect, la Mobilière « Nous avons gagné en flexibilité, nous sommes aussi plus libres et plus rapides dans l’introduction de nouvelles technologies, ce qui améliore notre capacité d’innovation.» Andreas Grütter, la Mobilière treprises cherchent à moderniser leurs applications maison. «Dans le cadre de leur transformation, les entreprises cherchent à développer et maîtriser les applications qu’elles considèrent comme différenciatrices, qu’il s’agisse d’outils internes ou de portails destinés aux clients finaux, explique Séverin Voisin, Responsable des services et opérations SaaS chez ELCA. Lorsque ces solutions doivent vivre et être mises à jour en permanence, employer des microservices et des containers fait beaucoup de sens.» Les architectures modulaires reposant sur des microservices chargés de processus uniques et communiquant au sein de containers, apportent plusieurs bénéfices: d’abord, l’application monolithique peut être transformée par étape en extrayant peu à peu des microservices. Une fois mis en place, les microservices peuvent être mis à jour, étendus et déployés indépendamment et en parallèle par des équipes dédiées avec davantage de vitesse et sans mettre en péril l’ensemble de l’applicatif. A cela s’ajoute que les architectures microservices augmentent la résilience des applications, en termes de sécurité et de disponibilité. «Les défis des entreprises n’ont jamais changé aussi vite qu’aujourd’hui, commente Brian Gracely, Directeur de la stratégie produit chez Red Hat¹. Parfois, il vous faut davantage de données. Parfois, il vous faut intégrer un service tiers très populaire. Et parfois, il vous faut monter en charge à des niveaux inattendus. Les microservices donnent au business la flexibilité de gérer rapidement ce type d’événements.» Une nouvelle manière de gérer les applications Pionnière en la matière la Mobilière a opté pour cette approche cloud native dès 2013 pour moderniser ses applications du domaine non-vie, la plus grosse activité de l’assureur. «Nous ne voulions pas nous contenter de moderniser la façade, mais toute la pile applicative», explique Andreas Grütter, Chef architecte de la Mobilière. L’entreprise a ainsi développé quelque 400 microservices, qui sont orchestrés depuis 2016 au sein d’un cluster Kubernetes sur site. «Nous avions choisi cette technologie à l’époque parce qu’elle avait le potentiel de devenir la technologie standard pour l’orchestration de containers. Heureusement, c’est ce qui s’est produit», commente le responsable. Des équipes DevOps d’une dizaine de personnes, intégrant des profils tant techniques que business, se chargent de développer, d’intégrer et de déployer les services en continu. «Nous avons gagné en flexibilité, nous sommes aussi plus libres et plus rapides dans l’introduction de nouvelles technologies, ce qui améliore notre capacité d’innovation», se réjouit Andreas Grütter. Outre les fonctionnalités intégrées dans Kubernetes, la Mobilière a développé ses propres outils d’automatisation, de monitoring et de test pour le nouvel environnement. «Les équipes ont besoin de transparence sur comment et par qui leurs microservices sont employés, et sur leur rôle dans la logique business. Les tests consumer-driven sont un élément central garantissant Février 2019 www.ictjournal.ch © netzmedien ag

cloud native 25 le bon fonctionnement d’un microservice du point de vue des autres services y faisant appel», explique l’architecte. Selon une étude réalisée par la société spécialisée OverOps², ce recours à des outils d’automatisation s’avère indispensable pour gérer les environnements cloud native et une grande part des équipes DevOps emploient de telles solutions pour les tests, l’analyse des logs et événements et le monitoring de l’infrastructure. Défis techniques et nouvelles responsabilités Outre le besoin d’automatisation et d’outillage, les environnements cloud native présentent certains nouveaux défis techniques. «Il y a davantage de communication réseau à l’intérieur du cluster, ce qui nécessite une certaine maturité dans la gestion de l’infrastructure», explique notamment Andreas Grütter de la Mobilière. Selon le chef architecte, la résolution d’incidents (debugging) est aussi un défi, d’où l’importance de pouvoir monitorer les microservices techniques qui participent à un service business rencontrant un problème. «Les applications sont plus complexes et intégrées, renchérit Séverin Voisin d’ELCA. Il faut des équipes qui se responsabilisent et qui connaissent bien leur produit.». Les solutions cloud native augmentent aussi le travail des développeurs qui, s’ils dépendent moins de l’IT, doivent en revanche davantage spécifier et gérer les besoins de leurs applications. «Avant, la mise à jour d’un middleware ou le déploiement d’un patch OS étaient essentiellement du ressort de l’IT. Avec les containers, la responsabilité du suivi des versions passe au DevOps, ce qui fait sens puisque c’est lui qui sait quel en sera l’impact, mais demande une gouvernance et un contrôle adéquat», avance Séverin Voisin. Un changement de culture qui n’est toutefois pas toujours aisé, comme l’explique le responsable IT d’une chaîne de restaurants américaine, cité dans une étude de Capgemini³: «Au fur et à mesure que vous évoluez vers une architecture cloud native, les développeurs applicatifs doivent davantage tenir compte de la qualité de service au sein de l’application en termes de performance, d’évolutivité et de transparence de la localisation. Ces caractéristiques ne sont pas nécessairement inhérentes à l’état d’esprit des développeurs.» Les solutions cloud native augmentent le travail des développeurs qui doivent davantage spécifier et gérer les besoins de leurs applications. La voie tracée vers le cloud Les atouts d’agilité et d’évolutivité ne sont pas les seuls à expliquer l’intérêt actuel pour les pratiques, architectures et technologies cloud native. Ces dernières sont aussi un chemin tout tracé pour déployer les applications directement ou ultérieurement dans le cloud – en général un PaaS - avec des possibilités que n’offre pas la simple migration d’une application existante dans un IaaS (lift & shift). Ainsi, selon Gartner 4 , les entreprises cherchent désormais à se défaire de leurs applications basées sur des VM hébergées dans le cloud. Soit en les remplaçant par des alternatives SaaS, soit en les réécrivant en mode cloud native. «La principale raison de ce changement DEVELOPPEMENT APPLICATIF TRADITIONNEL VS CLOUD-NATIVE Traditionnel Cloud-Native Focus longévité et stabilité vitesse de livraison Méthodologie de développement développement Waterfall, semi-agile développement Agile, DevOps Equipes équipes développement, opérations et QA isolées équipes DevOps collaboratives Cycles de livraison longs courts et en continu étroitement couplée faiblement couplée Architecture applicative monolithique basée sur des services communication basée sur des API centrée sur des serveurs centrée sur des containers conçue pour on-premise conçue pour on-premise et cloud Infrastructure dépendant de l’infrastructure portable entre infrastructures scaling vertical scaling horizontal préprovisionnée pour les pics de capacité capacité à la demande Source: «The Path to Cloud-native Applications», Red Hat 2018 www.ictjournal.ch © netzmedien ag Février 2019