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. This blog enlists 5 steps you should know about building cloud solution architecture on Azure.
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
- The first step is to choose the architecture style based on the application & system context, current requirements, business expectations & industry domain, and current organizational context.
- Architecture style establishes the guardrails and boundaries to operate for system or application architecture.
- Architecture design principles outline key design principles to consider when designing Azure applications. Click here for more details.
|Architecture Style||Applicability Scenarios|
|Layered architecture||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) provides better scalability, fault tolerance, scalability, etc.|
|Space-based architecture||Pattern for building distributed computing systems (used by Hyperscalers like Google, Microsoft) where the various components interact with each other by exchanging tuples or entries via one or more shared spaces.|
|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 to 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 dependent on application & organizational context, system under consideration, and functional & non-functional requirements.
- While it is contextual to make any technology choice, here are illustrative steps to make the technology choices in a typical cloud architecture:
- Choose a compute service (aligned with elasticity, compute requirements, and other parameters)
- Choose a storage solution (aligned with compute and needs of the data storage requirements)
- Choose a message solution (based on the needs of communication, ingestion patterns, etc.)
- Choose a Kubernetes solution option (if you are using Kubernetes as a PaaS solution)
- Choose analytics, IoT, Analytics, AI or ML related managed services (based on your application architecture)
- Azure architecture center provides tools such as a decision tree as depicted below to make the selection process easier:
Step 3 – Build Application Architecture
- The next step is to build cloud application architecture for the system under consideration. In conjunction 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 a 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 architecture 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 landscapes 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 the Azure Architecture GitHub repository.
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 a 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 provides Azure Score to measure the effectiveness as a metric.
These are the 5 steps you should know about building cloud solution architecture on Azure. Hopefully, 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.