Ce projet démontre le développement, la conteneurisation et le déploiement infonuagique d’une application basée sur une architecture de microservices en .NET 9, en utilisant Azure et Kubernetes.
- .NET 9 – Architecture microservices (API, MVC, Workers)
- Docker – Conteneurisation des services
- Azure DevOps – Pipelines CI/CD
- AKS (Azure Kubernetes Service) – Plateforme d’orchestration
- KEDA – Autoscaling basé sur des déclencheurs externes
- Azure Key Vault – Gestion sécurisée des secrets
- CosmosDB – Base de données NoSQL scalable
- Azure Event Hub / Service Bus – Architecture orientée événements
- Azure Container Registry (ACR) – Hébergement sécurisé des images Docker
- Azure Monitor – Supervision et journalisation
- Azure App Configuration – Gestion centralisée de la configuration
L’application se compose de :
- Une API Gateway pour l’accès externe
- Un Frontend MVC pour l’interaction utilisateur
- Plusieurs services Worker pour le traitement en arrière-plan
- Tous les services communiquent via HTTP et des messages asynchrones (Event Hub / Service Bus)
Chaque composant est conteneurisé et déployé sur AKS. KEDA ajuste dynamiquement le nombre de workers en fonction du volume d’événements.
À l’aide des pipelines Azure DevOps :
- Construction des images Docker pour chaque microservice
- Publication des images dans Azure Container Registry (ACR)
- Déploiement sur AKS à l’aide de manifestes Kubernetes et de charts Helm
- Application des politiques d’autoscaling avec KEDA
- Les secrets (chaînes de connexion, clés API) sont stockés et récupérés de manière sécurisée via Azure Key Vault
- Les paramètres de configuration sont centralisés à l’aide de Azure App Configuration
- Les journaux et métriques sont collectés via Azure Monitor
- Des tests de charge sont effectués avec des outils comme Apache JMeter ou k6 afin de valider les performances et la montée en charge



