Microsoft Azure is one of the fastest-rising cloud solution providers and with their enriched history of building products, Microsoft has created a knowledge hub to help build cloud solution architecture. Azure Architecture Center provides a centralized place for architecting solutions on Azure using established patterns and practices. The below diagram depicts the five-step process to follow when building cloud architecture on Azure:

Azure Architecture Process
Figure A – Azure Cloud Architecture Creation Process

Step 1 – Choose Architecture Style

  • First step is to choose the architecture style based on the application & system context, current requreiemtns, business expectations & industry domain, and current organizational context.
  • Architecture style establishes the guardails and boundaries to operate for system or application architecture.
  • Architecture design principles outlines key design principles to consider when designing Azure applications. Click here for more details
Architecture StyleApplicability Scenarios
N-tier (multi-tier)The traditional style evolved over the decade for web applications
Web-Queue-WorkerSimple domain with resource-intensive applications to decouple backend & frontend using async messaging
MicroservicesModern-day architecture style for complex domain systems for building loosely coupled systems providing better flexibility, scalability, isolated deployments, etc.
Event-driven architectureModern-day architecture style for loosely coupled real-time systems (e.g. streaming applications, IoT apps) providing better scalability, fault tolerance, scalability, etc.
Big DataModern-day architecture style for building data-intensive applications (batch or real-time) for data analytics, data platform, or data lake solution
Big ComputeModern-day architecture style for building heavy compute data-intensive applications

Step 2 – Make Technology Choices

  • The second step & third step is not sequential and related with each other as application architecture and technology choices are dependent.
  • As cloud managed services open up many possibilities, there are many options to choose from. With more options, making the technology choice in the area of compute, storage, and networking, is the next big step. It is also depdendent on application & organizational context, system under consideration, and functional & non-functional requirements.
Choose technology
Figure B – Make Technology Choices in different areas (compute, network, storage)
  • Azure architecture center provides tools such as decision tree in below areas to guide through this process (see example below for making the compute choice)
Flowchart to make choice for Compute Service in Azure
Figure B – Flowchart to make choice for Compute Service in Azure (image credit – Azure documentation)

Step 3 – Build Application Architecture

  • The next step is to build cloud application architecture for system under consideration. In conjuction with technology choice, application architecture will be built in parallel.
  • There is no silver bullet in building and firming up application architecture as it is dependent on industry domain, business problem & requirements, application context, and most importantly organizational context.
  • Azure architecture center provides catalog of industry solution reference architecture for many industries with capabilities such as Microsoft Cloud for Retail, Microsoft Cloud for Finance, Microsoft Cloud for Healthcare, Microsoft Trusted Cloud for Manufacturing, Intelligent Media and Entertainment, etc.
  • At the end of this step, an application architecture (like a sample below) will be ready to get development started.
Azure Reference Application Architecture
Figure C – Sample application architecture for a financial services portal with on-premises connectivity

Step 4 – Apply Cloud Design Patterns

  • During the iterative design & development cycle, you are implementing the future state cloud solution following guidelines and best practices by Azure.
  • Apply Cloud design patterns from the catalog on Azure architectue center. Click here to access cloud design patterns such as Anti-Corruption Layer, Bulkhead, Cache-aside, CQRS, Circuit Breaker, Strangler Fig, etc.
  • Azure architecture center provides solution ideas for different technology landscape organized into categories such as AI & Machine Learning, Blockchain, Internet of Things, DevOps, Hybrid and Multicloud, etc.
  • There are also code examples and artifacts available in Azure Architecture GitHub repository.
  • A sample solution idea for remote patient monitoring using IoT & Machine Learning has been shown below.
A sample solution idea on Microsoft Azure Document
Figure D – A sample solution idea on Microsoft Azure Document (Image Source: Microsoft Azure)

Step 5 – Follow Azure well-architected framework

  • Finally, continuously follow the Azure well-architected framework, which provides guiding principles across architecture pillars such as Cost Optimization, Operational Excellence, Performance Efficiency, Reliability, and Security.
  • There is also an online tool to examine the workload from Azure best practices perspective – Azure Well-Architected Review.
  • Azure also has a complete Azure Cloud Migration Framework, which has collection of documentation, best practices, implementation guidance, best practices, and proven tools to accelerate your cloud adoption journey.
  • Additionally, you can use Azure Advisor (personalized guide for best practices), which also provide Azure Score to measure the effecitveness as a metric.

The above process helps to build cloud solution architecture with Microsoft Azure as a cloud provider following proven best practices and guidelines. Additionally, the outlined approach can also be applied to build cloud solution architecture in any other cloud. Keep building highly scalable, available, fault-tolerant, reliable, and secure solutions in the cloud.

Related Articles


All the image credits to the Azure website.
All data and information provided on this site are for informational purposes only. This site makes no representations as to the accuracy, completeness, correctness, suitability, or validity of any information on this site and will not be liable for any errors, omissions, or delays in this information or any losses, injuries, or damages arising from its display or use. All information is provided on an as-is basis. This is a personal weblog presented by the author and all images used are from Redis Labs. The opinions expressed here represent my own and not those of my employer or any other organization.

Leave a Comment