Evaluate your Azure workloads
Let’s go let’s talk about Azure well-architected framework but before we jump onto that, I would like to ask you to answer some questions about:
- Is your Organization’s Workload / Data Secure enough?
- Is your solution built with a cost-optimized approach?
- is your solution scalable and ready for spikes?
- is your design resilient for outages and disasters?
- Can your architecture handle the failure of one or more critical components?
- Are you using resources in the most efficient way?
- What happens if someone tries to attack your solution?
- How are you protecting against potential failures in the system?
- How can you achieve non-functional requirements while keeping cost low?
- Do you have any automation in place for workload deployment and changes?
If any of the above questions answer is no.. this article is for you..
Let’s have a look at the Azure Well-Architected Framework and why it’s important?
Azure Well-Architected Framework will help you design architecture in a cost-effective, using modern practice, and continuously improve a secure, reliable, and efficient application.
We’ll introduce you to the framework, along with the five pillars and principles that are essential to a great Azure architecture.
- Cost optimization
- Performance efficiency
- Operational excellence
- Reliability
- Security
Azure Advisor is just exactly what you’re looking for.
As customers start to grow and they invest more and they put more on Azure, It’s a single interface that will tell you how well you’re doing on adopting Microsoft’s best practices to run workloads in the Cloud.
It’s useful again for a very large organization that’s running thousands of workloads and shared services across an enterprise. It’s also useful for these small businesses and anyone in between, so I think it’s going to be useful for you as well.
It aligns really well. While it has a single number that you can report to your leadership and it tells you how well you’re doing across all these workloads, it also breaks down into the five pillars of the Well-Architected Framework.
You’ll get a number for your entire Azure ecosystem to tell you how well you’re doing adopting best practices. It would also be able to break it down by each of the five pillars of the Well-Architected Framework. So you’ll see a score for cost optimization, operational excellence, performance efficiency, reliability, and security.
Let’s Explore the five pillars for Well-Architected Framework in Azure Advisor
Cost Optimization
Design your cloud environment so that it’s cost-effective for operations and development.
Identify inefficiency and waste in cloud spending to ensure you’re spending money where you can make the greatest use of it.
Get cost recommendations such as:
- Shutdown unused VMs
- Right size the underutilized resources
- Buy Reserved instance for consistent resources
- delete idle network gateways.
Apply the cost principles in your architecture to accelerate your time to market while avoiding capital-intensive solutions. establish policies, budgets, and controls that set cost limits for your solution, Use Azure Cost Management to Optimize your cloud cost
Plan and estimate costs
For any cloud project, whether it’s the development of a new application or the migration of an entire data center, it’s important to get an estimate of your costs. This estimate involves identifying any current resources to move or redevelop, understanding business objectives that might affect sizing, and selecting the appropriate services for the project.
With the requirements identified, you can use cost estimation tools to provide a more concise estimate of the resources that would be required. Transparency is important here so that all stakeholders can review for accuracy and have visibility into the costs that are associated with the project.
Performance Efficiency
Design your architecture with performance and scalability to provide a great experience and cost effect solution
Balance your architectures by scaling applications dynamically based on activity in the application, Optimizing network and storage performance, Identifying performance bottlenecks in applications. adjust ongoing changes in demand for services, so it’s important for your architecture to be able to adjust to demand.
Operational Excellence
By taking advantage of modern development practices, such as DevOps
You can enable faster development and deployment cycles. You need to have a good monitoring architecture in place so that you can detect failures and problems before they happen or, at a minimum, before your customers notice. Automation is a key aspect of this pillar to remove variance and error while increasing operational agility.
Reliability
Design and operate mission-critical systems with confidence
Every architect’s worst fear is having an architecture fail with no way to recover it. A successful cloud environment is designed in a way that anticipates failure at all levels. Part of anticipating failures is designing a system that can recover from a failure within the time that your stakeholders and customers require.
Define availability and recovery Requirements
Put the right building blocks in place
Platform reliability capabilities
Since you’re talking about improving availability here I’ll step through a couple of different examples of some of these problems or what they might look like
So if I have a look here on the one hand we could have something like an isolated VM failure, you might have a disc issue that only impacts one of your resources that would be a pretty small problem
Separately to that, we might have a slightly worse issue, We could have an entire rack within a data center have a problem with it, So, we would call that something like a slightly wider hardware failure
There were still we could think about an entire data center having a problem if we have like a power issue or a network issue where the entire building is impacted, That’s a kind of the next step up in terms of the blast radius or worse
Still, we could think about an entire region having a problem maybe because of a natural disaster if you know there’s flooding or a tornado or something that could impact an entire region again that’s the biggest kind of blast radius here
So when I talk about making sure that you’re picking the right building blocks for each of these we can now lay on top of this some of those reliability capabilities that you can choose to enable as needed.
So in the 1st example, here is something like premium storage running your application storage on solid-state drives instead of hard disk drives you’ll find that that will reduce the number of times that you have a hiccup with that By choosing one of those optional services
Similarly in the 2nd example, the way you could mitigate against a hardware failure like a rack issue would be to use availability sets to say I want to run this in a highly available i want to run two of these virtual machines for example and we’ll go and put them on opposite sides of the data center
So that even if you know there’s a problem with a single rack it’s not going to cause you a problem because you can you’re fault-tolerant to that because of that active active configuration
In the 3rd example here if we think of a data center issue that’s where you could use something like availability zones to say i want to run this virtual machine in two different data centers or two different zones within the same region and that’s where we make sure that those different buildings have very independent power networking cooling so that any issue that impacts a single building isn’t going to bring down multiple zones at the same time so that’s where we would use something like availability zones
And then in the final instance here if we start thinking about how do I survive a problem that’s as big as a region that’s where we start to look at using azure site recovery or some of our region pairing redundancy technologies to make sure that your stuff is running not just in a single region but you can fail out to an alternative region so when I talk about these different building blocks hopefully that gives you a layer of the land of the different reliability considerations that we’ve got and how you would plug into those and then I mentioned finally regardless of those building blocks the application that you’re running on top of it needs to make sure that it’s cloud-aware and it needs to have things like retry logic to make sure that your application can handle little transient failures that are a bit more common in the public cloud.
Security
Data is the most valuable piece of your organization’s technical footprint.
Help your customers build and manage proactively secured workloads in Azure, think about security throughout the entire lifecycle of your application, from design and implementation to deployment and operations. The cloud provides protection against a variety of threats, such as network intrusion and DDoS attacks. But you still need to build security into your application, processes, and organizational culture.
Protect your organization with Multilayered Security Solution
Bonus 🙂
Monitoring and optimization Techniques
Explore some Techniques for optimizing your Azure Cost.
Increase your cost awareness by setting:
- Budgets
- Alerts
- Tagging Policies
Eliminate cloud resources waste by:
- Shutting down unused resources
- Enable Auto Scaling for supported resources
- Apply automation and utilize verified GitHub scripts for Azure
Take advantage of Offers
- Hybrid Benefits
- Reservation
- Partner Offers
Modernize your architecture
- Explore PaaS and SaaS Services as a replacement for your current IaaS
- Utilize Serverless Like (Azure Functions and Logic Apps)