This project demonstrates the development, containerization, and cloud deployment of a .NET 9 microservices-based application using Azure and Kubernetes.
- .NET 9 – Microservices architecture (API, MVC, Workers)
- Docker – Containerization of services
- Azure DevOps – CI/CD pipelines
- AKS (Azure Kubernetes Service) – Orchestration platform
- KEDA – Autoscaling based on external triggers
- Azure Key Vault – Secure secret management
- CosmosDB – Scalable NoSQL database
- Azure Event Hub / Service Bus – Event-driven architecture
- Azure Container Registry (ACR) – Secure Docker image hosting
- Azure Monitor – Monitoring and logging
- Azure App Configuration – Centralized config management
The application consists of:
- An API Gateway for external access
- A MVC Frontend for user interaction
- Several Worker services for background processing
- All services communicate via HTTP and asynchronous messages (Event Hub / Service Bus)
Each component is containerized and deployed to AKS. KEDA dynamically scales the workers based on event volume.
Using Azure DevOps Pipelines:
- Build Docker images for each microservice
- Push images to Azure Container Registry (ACR)
- Deploy to AKS using Kubernetes manifests and Helm charts
- Apply autoscaling policies with KEDA
- Secrets (DB strings, API keys) are stored and retrieved securely from Azure Key Vault
- Configuration settings are centralized using Azure App Configuration
- Logs and metrics collected via Azure Monitor
- Load testing conducted using tools like Apache JMeter or k6 to validate scaling performance



