DevOps Solutions

Discover tools and technology to deliver software faster and more reliably

DevOps tools on Azure

With end-to-end solutions on Azure, teams can implement DevOps practices in each of the application lifecycle phases: plan, develop, deliver, and operate. These DevOps technologies, combined with people and processes, enable teams to continually provide value to customers.

Plan

Empower teams to manage their work with agility and full visibility across products and projects. Define, track, and lay out work with Kanban boards, backlogs custom dashboards and reporting capabilities using Azure Boards. Keep development efforts transparent and on schedule with GitHub. Explore analytics with visuals and turn data into insights with Power BI.

Develop

Code faster and smarter with Visual Studio and Visual Studio Code. Share code and collaborate with like-minded developers with GitHub. Automate testing and practice continuous integration in the cloud with Azure Pipelines, create automatic workflows from idea to production with GitHub Actions, and even bring your Jenkins workloads to the Azure. Provision environments for developers in minutes with Azure DevTest Labs.

Deliver

Deploy your application to any Azure service automatically and with full control to continuously deliver value to customers. Define and spin up multiple cloud environments with Azure Resource Manager or HashiCorp Terraform, then create continuous delivery pipelines into these environments using Azure Pipelines or tools such as Jenkins and Spinnaker.

Operate

Implement full stack monitoring, get actionable alerts, and gain insights from logs and telemetry with Azure Monitor. Manage your cloud environment with Azure Automation and tools such as Ansible, Chef, or Puppet.

Keep provisioned infrastructure and applications in compliance with Azure Blueprints or Chef Automate. Used with Azure Security Center, you’ll limit threat exposure as well as find and remediate vulnerabilities quickly.

DevOps with GitHub

Find new ways to improve DevOps processes and practices in the cloud with lightweight tools and features from GitHub that integrate with Azure.

Build your DevOps workflow on GitHub and Azure

Facilitate better code reviews and keep development teams coordinated using the deep integration between GitHub with Azure Boards and Azure Pipelines. Manage identities and permissions for smoother collaboration with GitHub and Azure Active Directory. Get quicker access to any additional Azure solutions by logging into Azure and Azure DevOps with your existing GitHub credentials.

Combine open-source advantages with enterprise-grade security

Build your organization’s proprietary software using best practices from large-scale open source projects—such as open collaboration, sharing and reusing code, and increasing transparency—in a development methodology called innersource.

Implementing innersource through GitHub can increase teamwork, participation, and productivity—while addressing enterprise-level security and compliance needs that arise as processes become more open.

Solutions for DevOps practices

DevOps solution that meets your needs with built-in Azure services such as Azure DevOps. Likewise, put together a combination open-source DevOps tools to match your unique workflow, then seamlessly integrate them on Azure. Whether your app uses virtual machines, web apps, or Kubernetes, implement DevOps practices like continuous integration and continuous delivery (CI/CD), infrastructure as code, and continuous monitoring with Azure and the DevOps toolchain of your choice.

From code to cloud, automate each part of the DevOps process with continuous integration and continuous delivery and your choice of tooling:

  • Define a CI/CD pipeline and manage releases with multiple environments using Azure Pipelines.
  • Target any service on Azure including Azure Kubernetes Service (AKS), Azure Virtual Machines, or Azure Functions.
  • Automate workflows with GitHub Actions.
  • Host Jenkins workloads, extend existing configuration, or simplify CI/CD with Jenkins plug-ins for Azure.
  • Create fast and repeatable deployments into Azure with Spinnaker.

Adopt Agile software development methods with planning, tracking, and reporting for shorter release cycles and full visibility into your software development process. Manage projects with GitHub. And, use Azure Boards to:

  • Define, assign, and track work items.
  • Manage backlogs.
  • Create custom dashboards to track progress.
  • Get advanced analytics and reporting.

Manage git repositories, share, and collaborate with GitHub. Create a reliable code workflow for your team with:

Define cloud resources in a descriptive way so that environments are versioned and committed together with application code into repositories. Treating infrastructure as code lets you deploy cloud resources in repeatable and reliable fashion, ensuring cloud environments are fully governed.

Manage resource configuration across your entire system to enforce desired states, roll out configuration updates, and automate resolution of unexpected changes and issues. Azure offers multiple DevOps tools for configuration management including Ansible, Chef, Puppet, and Azure Automation.

Monitor infrastructure health and integrate into existing dashboards in Grafana, Kibana, or the Azure portal with Azure Monitor.

  • Practice full stack continuous monitoring.
  • Configure actionable alerts across Azure services.
  • Collect, query, and analyze logs to gain insights and mitigate issues.
  • Use built in container monitoring for Azure Kubernetes Service (AKS).

DevOps solution architectures

See how to bring multiple tools and technologies together with Azure in these common DevOps scenarios.

CI/CD for ContainersContainers make it very easy for you to continuously build and deploy your applications. By orchestrating deployment of those containers using Kubernetes in Azure Kubernetes Service (AKS), you can achieve replicable, manageable clusters of containers.12345678910
  1. Overview
  2. Flow

CI/CD for Containers

Overview

Containers make it very easy for you to continuously build and deploy your applications. By orchestrating deployment of those containers using Kubernetes in 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, Azure DevOps increases the speed and reliability of your deployment.

Flow

  1. 1 Change application source code
  2. 2 Commit Application Code
  3. 3 Continuous integration triggers application build, container image build and unit tests
  4. 4 Container image pushed to Azure Container Registry
  5. 5 Continuous deployment trigger orchestrates deployment of application artefacts with environment specific parameters
  6. 6 Deployment to Azure Kubernetes Service (AKS)
  7. 7 Container is launched using Container Image from Azure Container Registry
  8. 8 Application Insights collects and analyses health, performance and usage data
  9. 9 Review health, performance and usage information
  10. 10 Update backlog item
Java CI/CD using Jenkins and Azure Web AppsAzure App Service is a fast and simple way to create web apps using Java, Node, PHP or ASP.NET, as well as supporting custom language runtimes using Docker. A continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Azure app services allows you to deliver value to your customers faster.JenkinsAzure ContainerInstancesAzureFilesAzure WebAppsAzure Databasefor MySQLGitHubIntelliJEngineerApplicationInsights182345677
  1. Overview
  2. Flow

Java CI/CD using Jenkins and Azure Web Apps

Overview

Azure App Service is a fast and simple way to create web apps using Java, Node, PHP or ASP.NET, as well as support for custom language runtimes using Docker. A continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Azure app services allows you to deliver value faster to your customers.

Flow

  1. 1 Change application source code
  2. 2 Commit code to GitHub
  3. 3 Continuous Integration Trigger to Jenkins
  4. 4 Jenkins triggers a build job using Azure Container Instances for a dynamic build agent
  5. 5 Jenkins builds and stores artifact in Azure Storage
  6. 6 Jenkins deploys Java application to Azure Web Apps backed by Azure Database for MySQL
  7. 7 Azure App Insights provides metrics on application performance
  8. 8 Monitor application and make improvements
Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)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.123456778
  1. Overview
  2. Flow

Container CI/CD using Jenkins and Kubernetes on Azure Kubernetes Service (AKS)

Overview

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.

Flow

  1. 1 Change application source code.
  2. 2 Commit code to GitHub.
  3. 3 Continuous Integration Trigger to Jenkins.
  4. 4 Jenkins triggers a build job using Azure Kubernetes Service (AKS) for a dynamic build agent.
  5. 5 Jenkins builds and pushes Docker container to Azure Container Registry.
  6. 6 Jenkins deploys your new containerized app to Kubernetes on Azure.
  7. 7 Container Service (AKS), backed by Azure Cosmos DB.
  8. 8 Grafana displays visualization of infrastructure and application metrics via Azure Monitor.
  9. 9 Monitor application and make improvements.
Immutable Infrastructure CI/CD using Jenkins and Terraform on Azure Virtual Architecture overviewAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use Java, Node.js, Go or PHP to develop your applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.JenkinsAzure Virtual MachineScale SetsTerraformAzure Managed Disks(VM Image)PackerGitHubEngineerAzure Log Analytics1765554423Visual Studio Code
  1. Overview
  2. Flow

Immutable Infrastructure CI/CD using Jenkins and Terraform on Azure Virtual Architecture overview

Overview

Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use Java, Node.js, Go, or PHP to develop your applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.

Flow

  1. 1 Change application source code.
  2. 2 Commit code to GitHub.
  3. 3 Continuous Integration Trigger to Jenkins.
  4. 4 Jenkins triggers a Packer image build to create a VM and stores it as a VM image using Azure Managed Disks.
  5. 5 Jenkins triggers Terraform to provision a new Virtual Machine Scale Set using the Azure Managed Disks VM image.
  6. 6 Azure Log Analytics collects and analyzes logs.
  7. 7 Monitor application and make improvements.
CI/CD for Azure VMsAzure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use ASP.NET, Java, Node.js or PHP to develop applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.1234567888910
  1. Overview
  2. Flow

CI/CD for Azure VMs

Overview

Azure is a world-class cloud for hosting virtual machines running Windows or Linux. Whether you use ASP.NET, Java, Node.js, or PHP to develop applications, you’ll need a continuous integration and continuous deployment (CI/CD) pipeline to push changes to these virtual machines automatically.

Azure DevOps provides the CI/CD pipeline, starting with a Git repository for managing your application source code and infrastructure code (ARM templates), a Build system for producing packages and other build artifacts, and a Release Management system for setting up a pipeline to deploy your changes through dev, test, and production environments. The pipeline uses ARM templates to provision or update your infrastructure as necessary in each environment, and then deploys the updated build. You can also use Azure Dev/Test labs to automatically tear down test resources that are not in use.

Flow

  1. 1 Change application source code
  2. 2 Commit Application Code and Azure Resource Manager (ARM) Template
  3. 3 Continuous integration triggers application build and unit tests
  4. 4 Continuous deployment trigger orchestrates deployment of application artifacts with environment specific parameters
  5. 5 Deployment to QA environment
  6. 6 Deployment to staging environment
  7. 7 Deployment to production environment
  8. 8 Application Insights collects and analyses health, performance and usage data
  9. 9 Review health, performance and usage information
  10. 10 Update backlog item
CI/CD for Azure Web AppsAzure Web Apps is a fast and simple way to create web apps using ASP.NET, Java, Node.js or PHP. Deliver value faster to your customers with a continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Web Apps.12345678
  1. Overview
  2. Flow

CI/CD for Azure Web Apps

Overview

Azure Web Apps is a fast and simple way to create web apps using ASP.NET, Java, Node.js, or PHP. Deliver value faster to your customers with a continuous integration and continuous deployment (CI/CD) pipeline that pushes each of your changes automatically to Web Apps.

Flow

  1. 1 Change application source code.
  2. 2 Commit application code and Web Apps web.config file.
  3. 3 Continuous integration triggers application build and unit tests.
  4. 4 Continuous deployment trigger orchestrates deployment of application artifacts with environment-specific parameters.
  5. 5 Deployment to Web Apps.
  6. 6 Azure Application Insights collects and analyzes health, performance, and usage data.
  7. 7 Review health, performance, and usage information.
  8. 8 Update backlog item.
DevTest image factoryCreate, maintain and distribute custom images with the DevTest Image Factory, an automated image development and management solution from Azure Dev Test Labs.