Dev-Test deployment for testing microservice 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 microservices-based system.

This solution is built on the Azure managed services: Azure DevOps, Service Fabric and Azure SQL Database. 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

ARM Infrastructure andService Fabric Code Deployment S1 S2 S3 S1 S2 S3 S1 S2 S1 S2 S1 S2 S1 S2 S3 Visual StudioTeam Services Build andRelease Agent Development Resource Group QA Resource Group Prod Resource Group DevelopmentDatabase QADatabase ProductionDatabase Development Host 1 QA Host 1 QA Host 2 QA Host 2 QA Host 3 Production Host 1

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.
  • Service Fabric orchestrates all of the microservices used in the solution. In development, code is deployed directly from the development tools, while in test and production environments the code is deployed through the build and release agent using Resource Manager templates.
  • Azure SQL Database maintains data for the website. Copies are deployed in the dev, test, and production environments.

Next Steps