Dev-Test deployment for testing IaaS solutions

Solution Idea

If you'd like to see us expand this article with more information (implementation details, pricing guidance, code examples, etc), let us know with GitHub Feedback!

This architecture represents how to configure your infrastructure for development and testing of a standard IaaS-based SaaS system.

This solution is built on the Azure managed services: Azure DevOps, Azure DevTest Labs, Virtual Machines and Application Insights. These services run in a high-availability environment, patched and supported, allowing you to focus on your solution instead of the environment they run in.

Architecture

Architecture Diagram Download an SVG of this architecture.

Components

  • Azure DevOps manages the development process.
  • The Microsoft Release Management build and release agents deploy the Azure Resource Manager template and associated code to the various environments.
  • Azure DevOps resource groups are used to define all the services required to deploy the solution into a dev-test or production environment.
  • Azure DevTest Labs: Azure Dev-Test Labs manages all of the virtual machines used in the development and test environments.
  • Virtual Machines: Virtual machines are used to deploy all of the products used in the solution. Staging slots swap pre-production and production versions.
  • Application Insights: Application Insights monitors the web application during development and test runs, and then monitors the full production system when it’s released.

Next steps