This article is a solution idea. If you'd like us to expand the content with more information, such as potential use cases, alternative services, implementation considerations, or pricing guidance, let us know by providing GitHub feedback.
Containers make it easy for you to continuously build and deploy applications. By orchestrating the deployment of those containers using Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.
By setting up a continuous build to produce your container images and orchestration, you can increase the speed and reliability of your deployment.
Jenkins can be deployed on an Azure Virtual Machine. Alternately, Jenkins X can be deployed on Azure Kubernetes Service. Jenkins X is Jenkins sub project that can be deployed directly to cloud native platforms.
Dynamic build agents for Jenkins can be provisioned on Azure Kubernetes Service. The Jenkins agent connects to the Jenkins controller. The Jenkins controller can provision tasks to run on Jenkins agents.
Potential use cases
- Modernize application development practices to a microservice, container-based approach.
- Speeding up application development and deployment lifecycles.
- Automating deployments to test or acceptance environments for validation.
Download a Visio file of this architecture.
- Developer makes changes to the application source code.
- Developer commits the code changes to GitHub.
- Continuous integration triggers Jenkins.
- Jenkins launches the build job using Azure Kubernetes Service (AKS) for a dynamic build agent.
- Jenkins builds and pushes Docker container to Azure Container Registry.
- Jenkins deploys your new containerized app to Kubernetes on Azure.
- The app connects to Azure Cosmos DB.
- Grafana displays visualization of infrastructure and application metrics via Azure Monitor.
- Azure Kubernetes Service (AKS): Simplify the deployment, management, and operations of Kubernetes.
- Container Registry: Store and manage container images across all types of Azure deployments.
- Azure Cosmos DB: Globally distributed, multi-model database for any scale.
- Azure Monitor: Highly granular and real-time monitoring data for any Azure resource.
- Visual Studio Code: Build and deploy multi-platform apps to get the most from Azure services.