Formation à distance training nexworld

Des formations en ligne et des retours d'expérience animés par des experts

ARCHITECTURE MICROSERVICES

Concepts, retours d’expérience et bonnes pratiques

REF S011

Introduction

Le Système d’Information doit sans cesse se transformer pour répondre aux exigences concurrentielles de l’entreprise. Une idée novatrice doit pouvoir se concrétiser dans un délai de quelques jours, et non plus de quelques mois.

Des Microservices pour rendre les applications plus flexibles et réactives, de la conteneurisation pour optimiser les ressources physiques, une démarche DevOps pour automatiser les actions et organiser les équipes techniques plus efficacement. C’est toute l’Architecture et l’organisation du SI qui se retrouvent bouleversées face aux attentes des équipes « Métiers ».

  • Les conteneurs Docker, l’Architecture conteneurisée et les points d’attention associés
  • Les concepts du PaaS et sa déclinaison en CaaS
  • Les usages de ces plateformes en fonction des enjeux DSI et Métiers
  • Les principales solutions CaaS/PaaS déployables On-premise et/ou en Cloud

Ce séminaire s’appuie sur des retours d’expérience projets et la mise en place d’une démarche complète.

De la SOA aux Microservices

Tour d’horizon des problématiques d’Architecture soulevées par le concept de Microservices : bonnes pratiques SOA sur lesquelles capitaliser, limites induites par la SOA et comment les transcender, promesses des Architectures Microservices :

  • Agilité des développements
  • Meilleur sizing du déploiement et des ressources physiques
  • Utilisation de la technologie idéale pour chaque besoin
  • Accélération du time to market

Concepts utiles aux Microservices et les modèles de conception

Présentation détaillée des fondamentaux d’une Architecture Microservices, des concepts aux bonnes pratiques. Description des différents modèles en fonction de cas d’usage opérationnels déployés et constatés chez nos clients. Points de vigilance à ne pas négliger dans le cadre des Architectures de Microservices :

  • Granularité des services et composition : la philosophie « un domaine Métier est égal à une application » est à repenser pour identifier la granularité idéale de chaque service en évitant les excès que représentent les nano-services et les monolithes. Quelle méthode utiliser et quelles sont les bonnes pratiques à mettre en œuvre dans la définition de la granularité des Microservices ?
  • Chorégraphie : la multiplication des services amène à imaginer différemment les interactions inter-application :
    . La communication point à point n’apporte pas la souplesse et la robustesse attendue. L’orchestration centralisée à la manière d’un ESB ne répond pas aux exigences d’Agilité et d’évolutivité.
    . La chorégraphie des services vise à répondre à l’ensemble de ces problématiques, nous explicitons ce qui est du ressort de la chorégraphie et ce qui est du ressort des Microservices.
  • Event-Driven Architecture : l’Architecture orientée événement vise à apporter une solution aux besoins de communication inter-applications en donnant la responsabilité aux consommateurs de réagir en fonction du contenu et de la typologie d’un événement. Quelles sont les solutions et les bonnes pratiques à mettre en œuvre en fonction d’usages précis et opérationnels ?
  • Isolation des données et synchronisation : chaque Microservice est responsable de ses données. Comment gère-t-on les multiples instances des bases de données associées lorsque les conteneurs sont instanciés plusieurs fois ? La synchronisation des données introduit-elle un problème de performance ? Quelles bonnes pratiques appliquer en fonction de cas d’usage précis ?
  • Annuaire de services et versioning : l’annuaire de services est une exigence répondant aux problématiques suivantes :

. Multitude des services proposés
. Disponibilité de versions concurrentes

Quels sont les différents types d’annuaires et leurs modes d’utilisation ?

  • API Management : la mise à disposition des services Métiers réalisés sur la base d’une Architecture Microservices doit reposer sur une brique d’API Management pour répondre aux exigences de sécurité et de disponibilité. Cette brique du SI permet la maîtrise des SLA et ouvre la porte à la monétisation des services.

Accélérateurs techniques de mise en œuvre

Les concepts d’Architectures ne suffisent pas pour réaliser une Architecture Microservices. Nous présenterons une vision d’ensemble des frameworks, produits et plateformes facilitant la mise en place de Microservices : exposition des APIs, communication inter processus, conteneur applicatif, middleware.

Détail, catégorisation et démonstration des solutions.

Solutions adressées :

  • RxJava,
  • Netty
  • RxJS
  • Undertow
  • Spring Boot
  • Spring Reactor,
  • Apache Camel
  • Openshift
  • API Management, etc…

Microservices et DevOps

Nous vous présenterons la complémentarité entre Conteneur/Microservices et DevOps. Nous vous détaillerons la Gouvernance pour le déploiement des Microservices ainsi que la manière dont il s’intègre dans une démarche Agile.

Démarche de migration de ses applications monolithiques

Comment passer de nos systèmes applicatifs existants à des Architectures Microservices ? Présentation au travers d’un exemple concret issu de nos retours d’expérience de la démarche de migration d’une Architecture traditionnelle à une Architecture Microservices.

  • Travaux préparatoires : une application doit respecter un certain nombre de bonnes pratiques pour pouvoir évoluer vers une Architecture Microservices, à savoir : chantiers d’analyse, refactoring de l’existant
  • Stratégie de migration : les différentes options applicables lors de la définition du plan de migration
  • Description des impacts sur les interfaces graphiques : une application monolithique présente traditionnellement un ensemble unique d’interfaces graphiques. Comment les adapter pour créer des applications graphiques souples et évolutives ?
  • Gestion de données : au cœur de la problématique des Microservices, nous détaillerons les différentes options à votre disposition pour gérer vos données : mutualisation et isolation, isolation et intégration. Quels en sont les avantages et les impacts ?