Aller au contenu principal
Nouveauté

Formation Développer des microservices avec .NET

  • 3 jours (21 heures)
  • Perfectionnement
  • Présentiel ou classe à distance

Une formation proposée par

Objectifs

A l'issue de cette formation, vous serez capable de :

  • Concevoir et développer un microservice avec ASP.NET Core
  • Gérer la persistence des données dans un contexte distribué
  • Mettre en place la communication inter-services
  • Rendre les microservices résilients et sécurisés
  • Assurer l'observabilité du système
  • Conteneuriser et déployer sur Kubernetes
  • Automatiser la livraison avec CI/CD et GitOps.
Les compétences visées par cette formation font l'objet d'une évaluation.

À qui s'adresse cette formation ?

Développeurs, Tech Leads et architectes.

Prérequis

Connaître les fondamentaux de l'architecture microservices, maîtriser C#, et avoir des notions sur le développement ASP.NET.

Programme

1 Pendant votre formation

Développer des microservices avec .NET

Jour 1 - Matin

Fondations et construction d'un microservice ASP.NET Core

  • Panorama de l'écosystème .NET pour les microservices : ASP.NET Core 8, .NET Aspire, gRPC, Minimal API
  • Structure de solution recommandée : Solution > Projects (API, Application, Domain, Infrastructure)
  • Gestion des packages avec NuGet
  • Dotnet CLI : templates, commandes essentielles
  • Introduction à .NET Aspire : orchestration locale et observabilité intégrée

Construire un microservice REST avec ASP.NET Core

  • Minimal API vs Controller-Based API : quand choisir ?
  • Validation avec FluentValidation
  • Gestion globale des erreurs : Problem Details (RFC 7807), Middleware d'exception
  • Documentation API avec Scalar / Swashbuckle (OpenAPI 3)
  • Configuration : appsettings.json, Options Pattern (IOptions<T>), variables d'environnement
  • Service Discovery côté client avec .NET Aspire ou configuration manuelle

Exemples de travaux pratiques (à titre indicatif)

  • Créer le microservice order-service avec Minimal API, FluentValidation et documentation OpenAPI

Jour 1 - Après-midi

Persistence et accès aux Données

  • Entity Framework Core 8 avec PostgreSQL (Npgsql) : Code First, Migrations, Query Optimization
  • Dapper pour les requêtes de lecture performantes (CQRS read side)
  • MongoDB.Driver pour les services orientés documents
  • StackExchange.Redis : cache distribué avec IDistributedCache
  • Migration de schéma EF Core en microservices : stratégies et pièges
  • Repository Pattern + Unit of Work avec EF Core

Exemples de travaux pratiques (à titre indicatif)

  • Ajouter la persistence à order-service avec EF Core et PostgreSQL et migrations automatisées

Tests d'un microservice

  • Tests unitaires : xUnit, Moq, FluentAssertions - tester le domain isolément
  • Tests d'intégration : WebApplicationFactory, Testcontainers for .NET (PostgreSQL, Kafka)
  • Tests de l'API REST : HttpClient et WireMock.Net pour mocker les services externes
  • Contract testing avec Pact .NET
  • Mutation testing avec Stryker.NET

Exemples de travaux pratiques (à titre indicatif)

  • Suite de tests complète pour order-service avec Testcontainers

Jour 2 - Matin

Communication synchrone

  • HttpClientFactory : gestion du cycle de vie, named/typed clients, éviter le socket exhaustion
  • Refit : clients REST déclaratifs typés (équivalent Feign en Java)
  • gRPC avec ASP.NET Core : définition de .proto, services unaires et streaming
  • YARP (Yet Another Reverse Proxy) : API Gateway natif .NET - routage, load balancing, transformations
  • Ocelot : alternative légère pour l'API Gateway
  • Consul ou .NET Aspire Service Discovery : registration et discovery

Exemples de travaux pratiques (à titre indicatif)

  • Configurer YARP comme API Gateway, order-service et product-service communicants via Refit avec service discovery

Résilience avec Polly

  • Polly v8 avec Microsoft.Extensions.Http.Resilience : intégration native .NET 8
  • Circuit Breaker : configuration, états, fallbacks
  • Retry avec backoff exponentiel et jitter (éviter le thundering herd)
  • Hedging : requêtes parallèles pour réduire la latence P99
  • Rate Limiter natif .NET 7+ (System.Threading.RateLimiting)
  • Timeout et combinaison de policies avec ResiliencePipeline

Exemples de travaux pratiques (à titre indicatif)

  • Pipeline de résilience complet entre order-service et inventory-service avec simulation de pannes

Jour 2 - Après-midi

Communication asynchrone avec MassTransit et Kafka

  • MassTransit : abstraction des brokers - RabbitMQ, Kafka, Azure Service Bus
  • Configuration des consumers, producers et exchanges / topics
  • MassTransit Saga avec State Machine : implémentation robuste du pattern Saga (orchestration)
  • Saga Choreography avec événements de domaine et MassTransit
  • Outbox Pattern avec MassTransit : garantie de livraison exactly-once
  • Sérialisation : JSON (System.Text.Json) et Schema Registry avec Confluent .NET Client

Exemples de travaux pratiques (à titre indicatif)

  • Saga de création de commande avec MassTransit State Machine (order > inventory > payment) et Outbox Pattern

Sécurité avec ASP.NET Core Security et Keycloak

  • JWT Bearer Authentication : validation des tokens, claims, IAuthorizationHandler
  • Microsoft.Identity.Web : intégration Azure AD / Entra ID
  • Intégration Keycloak avec Keycloak.AuthServices.Authentication
  • Authorization Policies : claims-based, resource-based, custom requirements
  • Communication M2M sécurisée : Client Credentials avec IHttpClientFactory et Duende IdentityModel
  • Token propagation entre services avec TokenPropagationHandler

Exemples de travaux pratiques (à titre indicatif)

  • Sécurisation complète avec Keycloak - authentification utilisateur et communication inter-services sécurisée

Jour 3 - Matin

Observabilité avec .NET et OpenTelemetry

  • OpenTelemetry .NET : SDK, auto-instrumentation, exporters
  • Métriques : System.Diagnostics.Metrics, Prometheus exporter et Grafana
  • Distributed Tracing : ActivitySource, Activity, propagation du contexte > Jaeger / Zipkin
  • Logging structuré avec Serilog (sinks : Console JSON, Elasticsearch) > ELK Stack
  • .NET Aspire Dashboard : observabilité locale unifiée (traces, métriques, logs)
  • Health Checks : IHealthCheck / health endpoints, AspNetCore.HealthChecks packages

Exemples de travaux pratiques (à titre indicatif)

  • Stack d'observabilité complète - tracer une requête de bout en bout avec corrélation logs / traces

Conteneurisation et Kubernetes

  • Dockerfile optimisé pour ASP.NET Core : multi-stage build, image mcr.microsoft.com / dotnet / aspnet, non-root user
  • Chiseled Ubuntu images : images ultra-légères et sécurisées pour .NET 8
  • .NET Aspire : orchestration locale et génération de manifests Kubernetes / Docker Compose
  • Kubernetes : Deployment, Service, Ingress (NGINX), ConfigMap, Secret, HPA
  • Helm Charts pour .NET : templating et gestion multi-environnements
  • Health checks Kubernetes avec les endpoints ASP.NET Core Health Checks

Exemples de travaux pratiques (à titre indicatif)

  • Conteneuriser tous les services, déploiement Kubernetes avec Helm sur Kind/Minikube

Jour 3 - Après-midi

CI/CD et Bonnes Pratiques

  • Pipeline GitHub Actions / Azure DevOps : restore > build > test > SonarCloud > docker build > push ACR/GHCR > deploy
  • GitOps avec ArgoCD : déploiement déclaratif, sync automatique
  • Canary Deployment avec Argo Rollouts ou Flagger
  • Contract testing Pact .NET en CI : vérification automatique des contrats
  • Secrets management : Azure Key Vault et Azure.Extensions.AspNetCore.Configuration.Secrets ou HashiCorp Vault
  • Architecture Fitness Functions : tests automatisés de conformité architecturale avec ArchUnitNET

Exemples de travaux pratiques (à titre indicatif)

  • Pipeline CI/CD complet pour le système de commandes - de la PR au déploiement en production simulée avec rollback automatique

Financement

Plusieurs dispositifs de financement sont accessibles via les OPCO (Opérateurs de Compétences), organismes agréés par le ministère du Travail dont le rôle est d'accompagner, collecter et gérer les contributions des entreprises au titre du financement de la formation professionnelle.
Pour plus d'information, une équipe de gestionnaires SKOLAE Formation spécialisée vous accompagne dans le choix de vos formations et la gestion administrative.

Nous contacter pour en savoir plus

Points forts

Modalités pédagogiques

Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).

Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).

Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :

  • Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
  • Environnements de formation installés sur les postes de travail ou en ligne
  • Supports de cours et exercices

En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.

* nous consulter pour la faisabilité en distanciel

** ratio variable selon le cours suivi

Accessibilité aux personnes en situation de handicap

Dernière mise à jour : 20/10/2026

Sessions

Développer des microservices avec .NET

3 jours (21 heures) Réf. MICR-NET

à partir de 2 290 € HT

Repas inclus en présentiel
Du 27 avril au 29 avril 2027 Paris La Défense
Places disponibles
S'inscrire

Ces formations peuvent aussi vous intéresser