The evolution of cloud computing over the past few years is potentially one of the major advances in the history of computing. However, if cloud computing is to achieve its potential, there needs to be a clear understanding of how to maximise the benefits it can deliver.
This is where the Azure Well-Architected Framework comes in. This Framework offers companies using the Microsoft Azure cloud architecture a set of guiding principles to maximise the benefits by improving the quality of a workload.
The framework provides a set of best practices across five key pillars of cloud architecture: cost optimisation, operational excellence, performance efficiency, reliability, and security.
Used together, these pillars will produce a high quality, stable, and efficient cloud architecture capable of efficiently executing application workloads without any bottlenecks and faults.
Exploring the 5 pillars
The five pillars offer a consistent approach for customers and partners to evaluate architectures and implement designs that can scale over time, thus realising the full benefits that cloud computing promises.
1. Cost Optimisation - manage costs to maximise the value of your cloud
The main promise of cloud is streamlining your costs. However, you cannot manage what you cannot measures, so when you start out designing your cloud solution, focusing on managing costs and generating incremental value needs to happen early.
This pillar helps you to work out and review the cost principles for cloud tenancy. It will help you develop a cost model, create budgets and alerts, and provides a checklist to optimise your costs for the future. There are cost calculators available to help you determine both initial and operational costs of your cloud architectures.
The approach encourages cloud users to apply the principles of “Build-Measure-Learn” to accelerate time to market while avoiding capital-intensive solutions. This also means using the pay-as-you-go strategy for your architecture, and investing in scaling out, rather than delivering a large investment first version.
Particularly for companies in highly competitive industries, this pillar encourages actively noting any opportunity costs in building cloud architectures, and the balance between first mover advantage versus "fast follow".
Finally, establish policies, budgets, and controls that set cost limits for the cloud solution.
2. Operational Excellence - streamline processes that keep a system running in production.
This pillar covers the operations and processes that keep an application running in production. Deployments must be reliable and predictable. They should be automated to reduce the chance of human error. They should be a fast and routine process, so they don't slow down the release of new features or bug fixes. Equally important, consider the need for quickly rolling back or forward if an update has problems.
Monitoring and diagnostics are a crucial part of this pillar to gain insight into the system, so that you know when and where failures occur. Use a common and consistent logging schema that lets you correlate events across systems.
3. Performance Efficiency – ensure your system can adapt to changes in load
This key pillar focuses on ensuring the cloud architecture can scale to efficiently meet workload demands. This can be achieved by using scaling appropriately and implementing PaaS offerings with in-built scaling.
There are two options to design scale into applications - vertical (scaling up) or horizontal (scaling out).
Vertical scale increases the capacity of a resource, for example by using a larger VM size. Horizontal scale adds new instances of a resource, such as VMs or database replicas. There are pros and cons of each approach. Horizontal scaling offers advantages over vertical scale but needs to be designed into the system.
It’s essential to take into consideration the bottlenecks and limitations of both approaches before deciding which approach to take. Always conduct performance and load testing to find these potential bottlenecks and remember that resolving a bottleneck in one part of the system may push that bottleneck to somewhere else.
4. Reliability – ensure the system can recover from failures and continue to function
Resiliency is the ability of the system to recover from failures and continue to function. The goal of resiliency is to return the application to a fully functioning state after a failure occurs. Availability is whether your users can access your workload when they need to.
Because cloud is distributed (therefore complex), a failure at one point can potentially cascade throughout the system. This needs to be taken into consideration when designing for resiliency. Furthermore, cloud applications often depend on external services, which may become temporarily unavailable or throttle high-volume users.
With expectations from today's users being “always on” this pillar is potentially the most tricky to get right. Azure has many resiliency features already built into the platform, however you still need to build resiliency into your application. This pillar looks at ways of applying resiliency strategies at all levels of the architecture.
5. Security - protect applications and data from threats
There are many elements to optimising security framework for cloud applications. The Azure platform provides protections against a variety of threats, such as network intrusion and DDoS attacks, but you still need to build security into your application and into your DevOps processes.
This pillar focused on the broad security areas to consider when building security into applications and processes, including:
- Identity management – how will you authenticate and authorise users?
- Infrastructure protection – how will you control access to the Azure resources that you deploy?
- Application security – how will you store application secrets?
- Data sovereignty and encryption – have you considered where your data will be stored?
What are the key benefits of using the framework?
By using the Microsoft Azure Well-Architected Framework, you will achieve architectural best practices across the five pillars for designing and operating reliable, secure, efficient, and cost-effective systems in the cloud.
You can be assured that all questions will be addressed to review an existing or proposed architecture. This saves any future headaches from cloud architectures that are not performing well, blowing out cost budgets and introducing risk or security issues that threaten business continuity.
How can Byte help?
At Byte the principles and guidelines of the Azure Well-Architected Framework forms part of our App Modernisation and Cloud Native offering. We offer expertise and trusted partnerships to our clients to work through these comprehensive and challenging set of guidelines and ensure you have the tools to follow all the guidelines.
To chat with someone today about getting the most out of your Azure Cloud Architecture, get in touch.
Dive behind the scenes and keep up to date on the latest people centred tech.