Microservices, Web Services
et API: l’état de l’art

Les standards, l’architecture, la réalité des offres commerciales, la mise en œuvre pratique
Sommaire

LE MOT DE L’INTERVENANT

Avec ce séminaire, je vais vous aider à comprendre les techniques...

Avec ce séminaire, je vais vous aider à comprendre les techniques les plus modernes de conception, développement, déploiement et exploitation de SI à base de Web Services, Microservices et de Web API. J’aborde en détail les principes et pratiques d’Architectures techniques et fonctionnelles ainsi que leur sécurisation. A l’issue de la formation, vous serez en mesure de comprendre parfaitement la différence entre Service, Web Service, Microservice, API et Web API. Mais aussi de dessiner et critiquer en totale autonomie des Architectures de SI entiers basés sur ces concepts. Mon discours s’adresse aux Architectes et Développeurs mais aussi aux Chefs de projet et Urbanistes. Mon approche pédagogique est basée sur deux principes. Le premier étant ma capacité à aborder tous les sujets du séminaire de manière progressive, depuis les enjeux métiers jusqu’aux aspects techniques les plus pointus, illustrés par du code source en cas de besoin. Le second étant l’hyperinteractivité qui consiste à permettre aux participants de poser des questions à tout moment du séminaire, d’en débattre et en faire profiter l’ensemble des participants. --------

Habib Guergachi
Vingt-cinq ans d’expérience en Delivery d’Architectures logicielles complexes auprès de multinationales, de géants du Web et de startups. Douze ans d’expérience en conseil auprès des DG, DSI, DRH et Directions Métiers. Fondateur de Zengularity SA. Angel Investor dans Play framework, Libredemat et prismic.io. Aujourd’hui, CTO du Groupe Fabernovel, Administrateur de Foyer SA (LU) et conférencier exclusivement chez Capgemini Institut depuis 1998.
Lire la suite Cacher le texte

 

Très pratique et illustré par de nombreux exemples, ce séminaire apporte des réponses pragmatiques et directement opérationnelles pour concevoir, développer, tester, déployer et exploiter une architecture de SI fondé sur les Web Services, les Microservices et les API.

  • Définitions et exemples métiers concrets de Service, Web Service, Microservice et Web API.
  • Comment mettre en œuvre des Web Services et des API interopérables, performants, scalables et sécurisés "By Design" ?
  • Impact des Web Services sur l’existant. Quelles pratiques pour rénover le SI Legacy de manière progressive ?
  • Comment concevoir, développer, tester, déployer, exploiter, sécuriser et documenter une architecture à base de web services, de microservices et d’API.
  • Retours expériences en construction de plusieurs plateformes mondialement reconnues et fondées sur des architectures microservices et publiant des APIs privées et publiques : zones de conforts et limites des Web services, des Microservices et des API.


Web Services


Web Services

  • Quelle différence entre un composant et un service ?
  • Les Web Services vus par l’utilisateur final.
  • Quelles différences entre un Web Service et une application Web ?
  • Fonctionnement d’une interaction Web Services.

Microservices

  • Les limites des Web Services en architectures complexes.
  • Quelle différence entre un Web Service et un Microservice ?
  • Critères formels d’éligibilité au Microservice.
  • Quelle granularité optimale pour un microservice ?
  • Les nouveaux problèmes créées par les microservices.
  • Les idées reçues sur l’orchestration de microservice.

Web API

  • Définition d’une API et d’une Web API.
  • Quelle différences entre un Web Service et une API ?
  • Les types d’API : P/R, R/R, Stream, etc. ?

Design d’API

  • Construire une API à scalabilité infinie.
  • La problématique de versioning d’API.
  • Comment tester et déployer une API ?

API Management et découverte de services

  • Quelle topologie pour une architecture de Web Services et Web API ?
  • Les bonnes pratiques de référencement et de documentation ?
  • Les différents modèles de découverte dynamique des services.
  • API Manager, API Gateway, Annuaire d’API : avantages et limites.

Web Services, Microservices et API dans le SI de l’entreprise

  • Quelle place pour les Web Services et API en interne à l’entreprise.
  • Les coûts de conception, de développement, de tests et d’exploitation.
  • Les limites de la prolifération d’API dans l’entreprise.
  • Quels risques à ouvrir l’accès au Legacy derrière une API ?

Standards de base


HTTP

  • Rappel des principes du protocole HTTP.
  • Quel intérêt à utiliser HTTP comme un protocole applicatif ?
  • La place de HTTP dans les Web Services et les API.
  • HTTP et les microservices : intérêt et alternatives

XML

  • Quelle est la place de XML dans les Web Services ?
  • Quels sont les avantages et les limites de XML ?
  • Quelles alternatives à XML ?

JSON

  • JSON vis-à-vis de XML.
  • Les limites de JSON en langage de configuration.
  • Que penser des alternatives TOML, YAML, HOCON, HJSON, etc. ?

SOAP

  • Principes de fonctionnement de SOAP.
  • Les middleware qui supportent SOAP ?
  • Quels avenir pour SOAP ?

WSDL

  • Présentation du langage WSDL. État des lieux et perspectives de WSDL ?
  • Les alternatives à WSDL pour décrire des Web Services.
  • Quel lien avec SOAP ? Quelle pérennité ?
  • Que faire de l’existant SOAP/WSDL

WOA, ROA et REST


SOA

  • Rappels de la SOA concrètement.
  • Les 3 dimensions du découplage en architecture.
  • Les 4 générations de mise en œuvre d’architecture SOA.

WOA (Web Oriented Architecture)

  • Introduction à la WOA (Web Oriented Architecture) ?
  • Rôle des Web Services dans les architectures WOA.
  • Les limites des architectures WOA et la réponse des microservices.

HYPERMEDIA

  • Introduction au concept hypermedia.
  • Introduction au concept d’hyperlien sémantique.
  • Comprendre la rupture profonde apportée par l’hypermedia.

ROA (Rest Oriented Architecture)

  • Principes de l’architecture REST.
  • Les 4 niveaux d’architectures REST selon Richardson.
  • Quelle standard de description de Services pour REST ?

API REST

  • Utilisation de REST pour construire une API
  • Utilisation de HYPERMEDIA pour construire une API HATEOAS.
  • Service MESH vs API Gateway v/s "Méta API" : quel choix ?

Exercices d’architectures :

  • Exemple d’une Architecture SOA avec un EAI et un ESB.
  • Exercice pratique 1 : Comment moderniser un existant par une SOA/ESB ?
  • Exercice pratique 2 : Comment moderniser un existant par une couche de Web Services ?
  • Exercice pratique 3 : Est-il réaliste de moderniser un SI Existant par des microservices et API REST ?

Conception, développement et tests


Conception et développement de Microservices

  • Comment maîtriser la granularité des Microservices ?
  • Quels sont les anti-patterns et les pièges à éviter ?
  • Pourquoi le langage de développement devient secondaire en microservice ?
  • Introduction au concept du dictionnaire sémantique et protocoles métiers.

La fin des transaction ACID

  • Rappel des transactions ACID.
  • Introduction au théorème CAP.
  • Les limites de la complexité des architectures microservices.

Transactions Web Services et API

  • Comment gérer une transaction longue entre plusieurs acteurs ?
  • Introduction aux principes de relaxation transactionnelle.
  • Principes des transactions de compensation fonctionnelle
  • Exercice : comment reprendre une transaction systématiquement là où elle a scratché ?
  • Exercice : Une architecture microservices est robuste "By Design". Vous avez 3 minutes.

Orchestration Microservices et d’APIs

  • Orchestration vs règles métiers vs workflow
  • Quelle différence entre Règles d’Orchestration et règles métiers ?
  • Comment la conception fonctionnelle influence le choix de l’orchestration ?
  • Exercice : décrire 4 manières de coordonner un appel entre 4 microservices.

Orchestration

  • Qu’est-ce qu’un langage d’orchestration ?
  • XPDL, BPML, BPMN, etc. : comment choisir ?
  • Quelle alternative à BPEL pour l’orchestration ?
  • Exercice : Pourquoi REST gère l’orchestration "By Design" ?

Concepts avancés et tendances

  • Les contrainte d’orchestration dans le Cloud
  • Introduction à AWS Lambda Functions
  • Introduction à Google Cloud Functions
  • Quel lien avec le concept de serverless ?
  • Les pré-requis pour en tirer profit.
  • Quelle portabilité, interopérabilité ?

Déploiement et exploitation


Cycle de vie des Microservices

  • Environnements de développement, de certification et de supervision.
  • Technique de conception de services testables.
  • Comment tester des centaines de microservices tous indépendants ?
  • Comment faire évoluer et gérer les versions des Microservices ?

CI et CD

  • Rôle du CI (Continuous Integration) et CD (Continuous déployment).
  • Pourquoi CI/CD est nécessaire dans une architecture microservices
  • Les limites d’une plateforme CI/CD et comment les repousser.

Déploiement

  • Introduction au concept de PaaS Deploy
  • Peut-on déployer une architecture microservices sans PaaS ?
  • Qu’est le PaaS Deploy ?
  • Comment la mise en production devient un non évènement ?

Exploitation

  • Introduction au concept de PaaS Run et Operate
  • Comment faire du crash d’un microservice un non évènement ?
  • Introduction au concept de "Chaos Monkey"

Sécurité et performances


Sécurité des échanges de messages

  • Mise en œuvre d’interactions sécurisées.
  • Concevoir, développer et déployer une API publique sécurisée.
  • Concepts avancés en conception de services sécurisés.

Robustesse

  • Design d’architectures robustes.
  • Diagnostic de robustesse d’architecture distribuée.
  • Introduction à " chaos Kong".

Sécurité des Web Services

  • La sécurité des Web Services et des Web API.
  • Comment simplifier la gestion de la sécurité. ?
  • Comment contrôler finement les autorisations ?
  • Les pratiques en déploiements sécurisés.

Sécurité des Web API

  • Comment concilier ouvertures de SI et sécurité.
  • Introduction à la sécurité applicative.
  • Pratique de détection de fraudes
  • Introduction aux techniques de durcissement fonctionnel.

La sécurité WS-*

  • Quelle pérennité des standards WS-Security ?
  • La gestion des droits sur des services distribués.
  • Intérêts et limites des firewalls et autres reverse proxies.

Performances des interactions Web Services

  • Les facteurs majeurs de la performance applicative.
  • Comment mesurer les performances et la montée en charge ?
  • Comment concevoir des services à scalabilité infinie.

Gouvernance


Organisation projets

  • Modèle d’organisation projet.
  • Introduction au modèle Squad.
  • Les limites de l’approche MOA/MOE
  • Comment assurer la cohérence entre des dizaines de Squads ?

Méthodes projets

  • Approche Produit vs approche Projet
  • Pourquoi une méthode agile est nécessaire ?
  • Quelles démarche de transformation culturelle ?

Devops

  • Qu’est-ce que le Devops ?
  • DevOps organisationnels vs DevOps technologique.
  • Les pratiques Devops prioritaires à mettre en place.
  • Exercice : les risques à déployer une architecture microservices sans Devops.

Panorama du marché des outils Web Services, Microservices et Web API


Ce chapitre dresse un panorama critique de l’offre du marché : typologie des acteurs et de l’offre de standards, de normes et de produits, caractéristiques des principaux produits dans chaque catégorie, évolutions fonctionnelles et techniques attendues, points forts et limites, domaines d’application privilégiés et principales contre-indications respectives, etc.