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:
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 Style||Applicability Scenarios|
|N-tier (multi-tier)||The traditional style evolved over the decade for web applications|
|Web-Queue-Worker||Simple domain with resource-intensive applications to decouple backend & frontend using async messaging|
|Microservices||Modern-day architecture style for complex domain systems for building loosely coupled systems providing better flexibility, scalability, isolated deployments, etc.|
|Event-driven architecture||Modern-day architecture style for loosely coupled real-time systems (e.g. streaming applications, IoT apps) providing better scalability, fault tolerance, scalability, etc.|
|Big Data||Modern-day architecture style for building data-intensive applications (batch or real-time) for data analytics, data platform, or data lake solution|
|Big Compute||Modern-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.
- 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)
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.
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.
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.
- Accelerate Your Cloud Migration Journey With Cloud Assessment Technology
- Don’t Reinvent for Cloud Migration or Adoption Framework
- Essential Engineering Skills For Every Software Architect
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.