Recherche avancée
Par formation
Par date
Par ville
logo HUB Formation
Organisme de Formation
aux Technologies et métiers de L'informatique
La pédagogie au service de la technologie
Accueil > Domaines > Développement > Web Services, Microservices et Web API : l'état de l'art

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

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

Très pratique, illustré par de nombreux exemples, ce séminaire apporte des réponses pragmatiques et directement opérationnelles pour concevoir et déployer un SI fondé sur les Web Services, les Microservices et ouvert sous la forme de Web API interopérables.

  • 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 ?
  • Impact des Web Services sur l’existant. Quelles pratiques pour rénover le SI Legacy de manière progressive.
  • Retours expériences en construction d’une plateforme mondialement reconnue : zones de conforts et limites des Web services, des Microservices et des API.

Objectifs

  • Comprendre l’architecture technique et fonctionnelle des Web Services, Microservices et API.
  • Devenir capable de concevoir, construire, organiser et délivrer un SI digital fondé sur les Microservices et les APIs : architecture technique, méthode de conception, choix de langages de développement, déploiement des pratiques d’administration et d’exploitation, ouverture des API aux partenaires et aux développeurs, maîtrise de la sécurité, déploiement sur le Cloud, etc.
  • Identifier et analyser les secrets des géants du Web qui conçoivent et développent des centaines de Microservices par mois et les ouvrent par API aux clients et aux développeurs, tout en maîtrisant les risques.

Public

  • Décideurs informatiques, urbanistes et architectes, consultants, ingénieurs et chefs de projets, maîtrises d’ouvrage.

Prérequis

  • Connaissances de base en systèmes d'information.

Programme de la formation

1 – Introduction aux concepts

Les Microservices

  • Définition formelle et non interprétable de la notion de Microservice.
  • Quelle différence entre un Web Service et un Microservice ?
  • Critères formels d’éligibilité au Microservice.
  • Qu’est-ce que la granularité d’un Microservice ?
  • Qu’est-ce que l’empreinte technique d’un Microservice ?
  • Spécificités Cloud pour un Microservice.

Webservices

  • Définition de la notion de Service en architecture technique.
  • Quelle différence entre un Web Service et un composant ?
  • Quelles différences entre un Web Service et une application Web ?
  • Quelle place pour les Web Services en interne à l’entreprise.
  • Les surcoûts spécifiques aux Web Services.
  • Les limites de la prolifération des Web Services dans l’entreprise.

API

  • Définition formelle et non interprétable d’une API.
  • Quel rapport entre Microservice et API ?
  • Définition de l’écosystème d’une API.
  • Définition de API Gateway.
  • Qu’est-ce que l’API Management ?
  • Introduction aux architectures Service mesh.

2 – Microservices et Serverless

Architectures de Microservices

  • Les 4 principaux modèles d’Architectures Microservices.
  • Introduction aux principes de l’architecture événementielle.
  • Introduction au pattern d’architectures Event Driven.
  • Quelles sont les spécificités des approches d’architectures Message Driven ?
  • Les principaux pièges dans les pratiques de Command Sourcing.
  • Domaine d’application du pattern CQRS (Command, Query Responsibility Segregation).
  • Les principaux pièges dans le choix du pattern d’Architecture Microservice et comment les éviter.

Architectures Serverless

  • Introduction au concept Serverless.
  • Les domaines d’application privilégiés pour le Serverless.
  • Serverless et Microservices : les principaux pièges et comment les éviter.
  • Les pré-requis pour tirer profit des architectures Serverless.
  • La problématique de la portabilité entre fournisseurs de Serverless Backends.
  • Les précautions essentielles pour assurer la portabilité d’une architecture serverless.

3 – Données et Microservices

Transactionnel en Microservices

  • Rappel des principes transactionnels ACID.
  • Principes des transactions de compensation fonctionnelle.
  • Introduction à la conjecture CAP (Consistency, Availability, Partitioning).
  • Comment gérer une transaction longue entre plusieurs Microservices ?
  • Exemples de réalisations opérationnelles grâce au théorème CAP.
  • Exemples de reprise fonctionnelle d’une transaction.
  • Étude de cas d’une AMS robuste “By Design”.

Données et Microservices

  • Quels types de relations entre bases de données et Microservices ?
  • Comment délimiter la responsabilité technique des données ?
  • Les bons et mauvais arguments pour partager les données entre microservices.
  • Introduction aux bases de données NoSQL.
  • Les 4 principaux types de bases de données NoSQL.
  • Étude de cas d’une architecture avec 5 types de bases de données.

4 – Invocation et composition de Microservices

Standards Techniques des Microservices

  • HTTP : rappel des principes du protocole.
  • Quel intérêt à utiliser HTTP comme un protocole applicatif ?
  • HTTP et les microservices : intérêt et alternatives.
  • JSON : rappel des principes.
  • Les limites de JSON en langage de configuration.
  • Que penser des langages alternatifs : TOML, YAML, HOCON, HJSON, etc. ?

Patterns d’invocation de Microservices

  • Rappel des principes d’invocation RPC (Remote Procedure Call)
  • Avantages et inconvénients de l’Invocation REST HYPERMEDIA.
  • Comment invoque un microservice en mode Message ?
  • Introduction aux techniques d’invocation réactive de Microservice.
  • Rappel des principes fondamentaux du style d’architecture REST.
  • Comprendre la rupture profonde apportée par l’Hypermédia.
  • GraphQL : les principaux pièges et comment les éviter.

Workflow, Orchestration et Chorégraphie

  • Les 3 approches techniques pour coordonner les appels de Microservices.
  • Workflow, Orchestration et Choregraphie : avantages et inconvénients respectifs.
  • Comment la conception fonctionnelle influence l’option WOC ?
  • Les principaux langages WOC et comment choisir ?
  • Étude de cas de coordination d’appels entre 10 Microservices.
  • Etude de cas : orchestration “By Design” ?

5 – Conception des Microservices

Conception de Microservices

  • Démarche de conception d’une application à base de Microservices.
  • Introduction aux concepts de “protocole métier” et “espace sémantique”..
  • Introduction aux pratiques de Checkpoints.
  • Que penser de l’approche fondée sur le “Event Storming” ?
  • Les difficultés à bien connaître pour réussir une session “Event Storming” ?
  • Comment définir les indicateurs de mesure qualitative et quantitative ?
  • Études de cas qui illustrent le réalisme et l’enlisement de la phase conception.

Domain Driven Design (DDD)

  • Définition du concept DDD (Domain Driven Design)
  • Les points forts des Aggregates.
  • Comment bien délimiter les Bounded Context ?
  • Introduction à la notion de ’”Ubiquitous Language”.
  • Les points sensibles lors du Mapping entre Bounded Context et Microservices.
  • Que penser du Principe de l’Unité de Cohésion dans DDD.
  • Domaine de sens vs Domaine d’intérêt : intérêts et limites.

UX et Microservices

  • Quel impact des microservices sur l’UX et l’UI.
  • Etude de cas d’une UI dynamique.
  • Que penser de l’approche de Micro UI ?
  • Les pratiques modernes de construction fonctionnelle l’UI par les microservices ?
  • Intérêt à générer l’UI dynamiquement.
  • Etude de cas du cas UX/UI et Microservices de Netflix, Google Maps et Amazon.

6 – Cycle de vie des Microservices

Développement de Microservices

  • Comment organiser les équipes de développement ?
  • Comment distribuer les responsabilités des développeurs sur les microservices ?
  • Comment gérer la scalabilité des équipes de développement ?
  • Les principaux ratios entre profils expert par microservice.
  • Pourquoi le langage de développement est mineure dans une architecture de microservices ?
  • Introduction au CI (Continuous Integration) et CD (Continuous deployment).
  • Les limites d’une plateforme CI (Continuous Integration) et CD (Continuous deployment) et comment les repousser.

Tests de Microservices

  • Comment tester des centaines de microservices tous indépendants ?
  • Comment faire évoluer et gérer les versions des Microservices ?
  • Introduction aux tests de Chaos ?
  • Les idées reçues sur les tests de performance et de montée en charge ?
  • Les précautions essentielles pour réussir les tests de sécurité et cybersécurité ?
  • Introduction aux architectures de Microservices “Secured By Design”, “Scalable By Design”.

Déploiement, Exploitation et DevOps

  • Plateforme DevOps vs Pratiques DevOps.
  • Quelle place pour le IaaS, IaC, CaaS, PaaS dans une plateforme Microservices ?
  • Comment faire de la mise en production devient un non-évènement ?
  • Comment faire du crash d’un microservice un non-évènement ?
  • Les nouveaux défis dans l’administration des données des Microservices.
  • Comment industrialiser le déploiement des bases de données des microservices ?
  • Comment administrer des milliers d’instances de microservices ?
  • Introduction aux problèmes de l’Observabilité en mode Runtime.

Sécurité des microservices

  • Les principes de base en Design d’architectures de microservices robustes.
  • Comment simplifier et uniformiser la mise en œuvre de la sécurité ?
  • Étude de cas avec oAuth et OpenID.
  • Comment contrôler finement les autorisations ?
  • Comment concilier ouvertures d’API et sécurité.
  • Introduction à la sécurité applicative.
  • Introduction aux techniques de durcissement fonctionnel.

7 – Gouvernance des Microservices

Défis et faiblesse des Microservices

  • A quelle vitesse durable opérer la transformation de l’existant ?
  • Quels sont les risques post rupture culturelle ?
  • Comment gérer culturellement l’éclatement des structures de données ?
  • Comment faire face à la complexité multidimensionnelle ?
  • Que faire des salariés qui ne peuvent pas supporter la rupture technologique.
  • Comment opérer la rupture dans la culture DevOps ?
  • Quel discours face aux exigences d’hyper automatisation et industrialisation ?

Gouvernance

  • Modèles d’organisation autour d’une plateforme microservices.
  • Les limites définitives de l’organisation MOA/MOE.
  • La problématique des organisations bi-modales.
  • Mode Projet vs mode Produit
  • Comment allouer les budgets en approche Produit ?
  • Comment gérer l’échec “Fail Fast” dans une grande entreprise ?
  • Introduction à la loi Werner Vogels : “You build it, you run it”.
  • Comment tirer le meilleur parti des frameworks agiles (Scrum, Kanban, SAFe, etc.) ?
  • Les points sensibles pour catalyser une transformation culturelle.
  • Réflexions contemporaines sur l’Humain face aux architectures complexes et automatisées.

8 – Panorama

Ce chapitre dresse un panorama critique de l’offre du marché, des outils et des plateformes pour concevoir, développer, déployer, exploiter, administrer et sécuriser des architectures de Microservices, Web Services et API : 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.

Méthode pédagogique

Chaque participant travaille sur un poste informatique qui lui est dédié. Un support de cours lui est remis soit en début soit en fin de cours. La théorie est complétée par des cas pratiques ou exercices corrigés et discutés avec le formateur. Le formateur projette une présentation pour animer la formation et reste disponible pour répondre à toutes les questions.

Méthode d'évaluation

Tout au long de la formation, les exercices et mises en situation permettent de valider et contrôler les acquis du stagiaire. En fin de formation, le stagiaire complète un QCM d'auto-évaluation.

Suivre cette formation à distance

  • Un ordinateur avec webcam, micro, haut-parleur et un navigateur (de préférence Chrome ou Firefox). Un casque n'est pas nécessaire suivant l'environnement.
  • Une connexion Internet de type ADSL ou supérieure. Attention, une connexion Internet ne permettant pas, par exemple, de recevoir la télévision par Internet, ne sera pas suffisante, cela engendrera des déconnexions intempestives du stagiaire et dérangera toute la classe.
  • Privilégier une connexion filaire plutôt que le Wifi.
  • Avoir accès au poste depuis lequel vous suivrez le cours à distance au moins 2 jours avant la formation pour effectuer les tests de connexion préalables.
  • Votre numéro de téléphone portable (pour l'envoi du mot de passe d'accès aux supports de cours et pour une messagerie instantanée autre que celle intégrée à la classe virtuelle).
  • Selon la formation, une configuration spécifique de votre machine peut être attendue, merci de nous contacter.
  • Pour les formations incluant le passage d'une certification la dernière journée, un voucher vous est fourni pour passer l'examen en ligne.
  • Pour les formations logiciel (Adobe, Microsoft Office...), il est nécessaire d'avoir le logiciel installé sur votre machine, nous ne fournissons pas de licence ou de version test.
  • Horaires identiques au présentiel.