☀️ C'est l'été chez ITTA ! Profitez de 10% de réduction jusqu'au 31 juillet sur une sélection de formations 🌴

Formation : Réaliser une architecture de micro-services

Durée :
3
 jours
Examen :
Non certifiant
Niveau :
Intermédiaire
Financement :
Eligible

Formation pour réaliser une architecture de micro-services

Les entreprises recherchent aujourd’hui des solutions agiles et durables. Les microservices répondent à ces attentes en permettant de concevoir des applications indépendantes, évolutives et adaptées aux environnements complexes. La formation offre un regard concret sur les problématiques liées aux anciens modèles monolithiques et montre en quoi les microservices apportent des solutions pertinentes. Cette compréhension permet aux participants d’évaluer quand et comment adopter ce type d’architecture.

Comprendre les enjeux des architectures modernes

En plus de la théorie, les apprenants expérimenteront différentes méthodes pour concevoir, déployer et tester leurs propres microservices. Ils verront comment intégrer des outils modernes, mettre en place des pipelines CI/CD et comprendre le rôle d’un service mesh. Grâce à ces connaissances, ils seront capables de structurer efficacement une architecture distribuée, mais aussi d’identifier les situations où ce modèle ne doit pas être utilisé. Ce cours constitue une base solide pour toute personne souhaitant renforcer ses compétences en architecture logicielle et évoluer vers des projets techniques ambitieux.

Profils des Participants

  • Développeurs logiciels
  • Architectes logiciels
  • Chefs de projets techniques
  • Ingénieurs DevOps

Objectifs

  • Comprendre l’architecture de microservices et ses usages
  • Identifier les limites des architectures monolithiques et SOA
  • Concevoir des microservices robustes et fiables
  • Appliquer les meilleures pratiques de sécurité
  • Mettre en place un service mesh adapté
  • Déployer et tester efficacement des microservices
  • Automatiser avec CI/CD et Jenkins
  • Éviter les erreurs courantes et anti-patterns

Connaissances Préalables

  • Connaissances de base en développement logiciel
  • Notions sur les architectures orientées services
  • Expérience pratique dans un langage de programmation

Contenu du Cours

Module 1 : Histoire des micro-services

  • Monolithe
  • Architecture orientée services

Module 2 : Problème avec SOA

  • Plateforme technologique Unique
  • Déploiement inflexible
  • Ressources de calcul inefficaces
  • Grand et complexe
  • ESB compliqué et coûteux
  • Manque d’outillage

Module 3 : Architecture de micro-service

  • Histoire des micro-services
  • Les 9 attributs des micro-services
  • Composantisation
  • Organisé autour des capacités de l’entreprise (Produits pas projets)
  • Points de terminaison intelligents et canaux muets
  • Gouvernance décentralisée
  • Automatisation des infrastructures
  • Conception pour l’échec
  • Conception evolutive

Module 4: Meilleures pratiques pour la sécurité des microservices

  • Mécanisme de défense en profondeur
  • Jetons
  • Passerelles d’API

Module 5 : Problèmes résolus par les micro-services

  • Plate-forme technologique unique
  • Déploiement inflexible
  • Ressources de calcul inefficaces
  • Grand et complexe
  • ESB compliqué et coûteux
  • Manque d’outillage

Module 6 : Concevoir une architecture micro-services

  • Cartographier les composants
  • Définir des modèles de communication
  • Sélection de la pile technologique
  • Concevoir l’architecture

Module 7 : Tester les micro-services

  • Introduction
  • Défis liés aux tests de micro-services
  • Tests unitaires
  • Essais d’intégration
  • Essais de bout en bout

Module 8 : Maillage de services

  • Introduction
  • Problèmes résolus par le maillage de Service (Mesh)
  • Architecture de maillage de services
  • Types de maillage de services
  • Produits et implémentations
  • Devriez-vous utiliser Service Mesh ?

Module 9 : Journalisation et surveillance

  • Introduction
  • Journalisation vs surveillance
  • Implémentation de la journalisation
  • Mise en œuvre de la surveillance

Module 10 : Quand ne pas utiliser les micro-services

  • Petits systèmes
  • Fonctionnalité ou données entremêlées
  • Systèmes sensibles aux performances
  • Systèmes rapides et sales
  • Aucune mise à jour planifiée

Modules 11 : Micro-services et l’organisation

  • Loi de Conway
  • Le problème avec l’équipe traditionnelle
  • L’équipe idéale
  • Changer de mentalité

Modules 12 : Anti-patterns et erreur courantes

  • Introduction
  • Aucun service bien défini
  • Aucune API bien définie
  • Mise en œuvre du dernier transversal
  • Étendre les limites des services

Modules 13 : Déployer des micro-services

  • Introduction à CI/CD
  • Conteneurs
  • Présentation de Docker
  • Gestion des conteneurs
  • Présentation de Kubernetes

Modules 14 : Introduction à CI/CD

  • Introduction à DevOps
  • Qu’est-ce que CI/CD Pipeline ?
  • Qu’est-ce que Jenkins ?

Modules 15 : Création d’un pipeline CI/CD à l’aide de Jenkins

  • Création d’un pipeline CICD à l’aide de Jenkins

Modules 16 : Livraison continue vs déploiement continu

  • Livraison continue vs déploiement continu

Documentation

  • Support de cours inclus

Lab / Exercices

  • This course provides you with exclusive access to the official Microsoft lab, enabling you to practice your skills in a professional environment.

Cours complémentaires

Financement Eligible

ITTA est partenaire d’un fonds de formation continue destiné aux travailleurs temporaires. Ce fonds peut subventionner cette formation, sous réserve que vous soyez assujetti(e) à la convention collective de travail (CCT) « Location de services » et que vous remplissiez certaines conditions, notamment avoir travaillé au moins 88 heures au cours des 12 derniers mois.

Informations Additionnelles

Les fondements d’une architecture de microservices

L’architecture de microservices est devenue une réponse incontournable aux limites des applications monolithiques. Elle repose sur la séparation des fonctionnalités en services indépendants. Chaque microservice peut être développé, testé et déployé de manière autonome. Cette approche favorise l’agilité des équipes et permet d’accélérer les cycles de mise en production. Elle constitue un atout majeur dans un contexte où les entreprises doivent s’adapter rapidement aux évolutions du marché et aux attentes des utilisateurs.

Une réponse aux limites des systèmes monolithiques

Les applications monolithiques posent de nombreux problèmes au fil du temps. Leur complexité croît avec l’ajout de nouvelles fonctionnalités. Les mises à jour deviennent risquées et coûteuses. Les équipes peinent à maintenir la cohérence du code et à gérer les dépendances. En découpant les applications en microservices, il devient possible d’isoler les changements. Chaque service peut évoluer indépendamment, ce qui réduit considérablement les risques d’incident lors des déploiements.

Les bénéfices opérationnels des microservices

Au-delà des aspects techniques, les microservices apportent de réels avantages opérationnels. Les équipes de développement peuvent travailler en parallèle sur différents services. Cela favorise une organisation centrée sur les produits et non plus sur les projets. La résilience des systèmes est aussi renforcée. Si un service échoue, les autres continuent de fonctionner, ce qui limite l’impact pour l’utilisateur final. Enfin, les microservices s’intègrent parfaitement dans des environnements DevOps où l’automatisation et la rapidité de livraison sont essentielles.

Les enjeux de la sécurité dans une architecture distribuée

La sécurité reste une priorité lorsqu’on déploie des microservices. Contrairement aux applications monolithiques, les architectures distribuées multiplient les points d’entrée. Cela impose de nouvelles stratégies. L’utilisation de passerelles d’API, de jetons d’authentification et de mécanismes de défense en profondeur est essentielle. La supervision et la traçabilité deviennent également indispensables pour détecter rapidement les anomalies et répondre aux incidents.

Le rôle central du service mesh

Le service mesh représente un outil clé pour gérer la communication entre microservices. Il offre des fonctionnalités de routage intelligent, de gestion des certificats et de surveillance. Cette couche d’abstraction simplifie la mise en place de mécanismes avancés comme l’équilibrage de charge, la tolérance aux pannes et la gestion des politiques de sécurité. Toutefois, son adoption doit être réfléchie. Elle se justifie surtout dans des environnements complexes où les microservices sont nombreux et interconnectés.

Les bonnes pratiques pour concevoir des microservices efficaces

La réussite d’un projet de microservices repose sur plusieurs bonnes pratiques. Il est crucial de définir des services bien délimités, chacun associé à une capacité métier précise. La communication entre services doit être conçue avec soin afin d’éviter les dépendances excessives. L’automatisation, notamment à travers l’intégration continue et le déploiement continu, joue un rôle central. Enfin, la mise en place de stratégies de tests complètes garantit la qualité et la stabilité des applications dans la durée.

Défis et limites des microservices

Malgré leurs nombreux avantages, les microservices ne conviennent pas à tous les projets. Les petites applications, sans perspectives d’évolution majeure, n’ont pas besoin d’une telle complexité. De plus, la gestion des environnements distribués peut générer des coûts supplémentaires et exiger des compétences avancées. Savoir identifier les contextes où l’architecture de microservices n’est pas adaptée est donc une compétence essentielle pour tout architecte logiciel.

FAQ

Quelles sont les différences entre microservices et SOA ?
Les architectures orientées services utilisent souvent un bus de communication centralisé. Les microservices, eux, privilégient une gouvernance décentralisée et des services autonomes.

Faut-il toujours utiliser un service mesh ?
Non, son usage est recommandé uniquement lorsque le nombre de services et leurs interactions rendent la communication complexe à gérer.

Comment tester efficacement des microservices ?
Il est conseillé de combiner plusieurs types de tests : unitaires, d’intégration et de bout en bout. Cela permet de vérifier la fiabilité de chaque service et la cohérence globale.

Quels sont les principaux risques liés aux microservices ?
Les principaux risques concernent la sécurité, la complexité accrue de l’infrastructure et la difficulté de maintenir une supervision centralisée. Ces risques peuvent être réduits par une conception soignée et des outils adaptés.

Les microservices sont-ils adaptés à tous les projets ?
Non, ils sont particulièrement utiles pour des systèmes complexes et évolutifs. Pour des applications simples, une architecture monolithique reste souvent plus efficace.

Prix de l'inscription
CHF 2'150.-
Inclus dans ce cours
  • Formation dispensée par un expert du domaine
  • Documentation et supports digitaux
  • Badge de réussite
Mois actuel

mer17Sep(Sep 17)09:00ven19(Sep 19)17:00VirtuelVirtuel Etiquettes de sessionRAMS

mer17Sep(Sep 17)09:00ven19(Sep 19)17:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionRAMS

mer22Oct(Oct 22)09:00ven24(Oct 24)17:00VirtuelVirtuel Etiquettes de sessionRAMS

mer22Oct(Oct 22)09:00ven24(Oct 24)17:00Genève, Route des Jeunes 35, 1227 Carouge Etiquettes de sessionRAMS

mer26Nov(Nov 26)09:00ven28(Nov 28)17:00VirtuelVirtuel Etiquettes de sessionRAMS

mer26Nov(Nov 26)09:00ven28(Nov 28)17:00Lausanne, Avenue Mon repos 24, 1005 Lausanne Etiquettes de sessionRAMS

Contact

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Horaires d’ouverture

Du lundi au vendredi

de 8h30 à 18h00

Tél. 058 307 73 00

Contactez-Nous

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Faire une demande

Opening hours

Monday to Friday
8:30 AM to 6:00 PM
Tel. 058 307 73 00

Contact-us

ITTA
Route des jeunes 35
1227 Carouge, Suisse

Make a request