Close

Let's get on each others' calendars.

What Is a Well-Architected Framework?

Best Practices in the Cloud From AWS and Microsoft

Disastrous security breaches. Architecture that buckles under variable workloads. An over-costed and over-resourced setup that wastes energy and creates a sizable carbon footprint.

All of these are the results of not implementing a well-architected framework for your cloud setup.

That’s why this post will cover the basics of what a well-architected framework consists of according to some of the most dominant leaders in cloud technology and hosting. We’ll teach you:

  • What is a Well-Architected Framework?
  • The basics of Microsoft Azure’s Well-Architected Framework
  • The basics of AWS Well-Architected Framework
  • How to tackle your AWS bill as comprehensively as your architecture

Don’t let your cloud architecture fail before you even turn it on. Let’s get started.

What is a Well-Architected Framework?

Source by Cskiran, image used under license CC BY-SA 4.0

A Well-Architected Framework is a set of guidelines produced to help you design and run workloads in the cloud. Think of it as a set of core concepts and best practices for designing and implementing your cloud architecture in a way that allows you to achieve your goals without running afoul of common mistakes and pitfalls.

The “Well-Architected Framework” mantle isn’t specific to a single company and, as such, several versions of these guidelines have been produced by companies such as Microsoft Azure and AWS. Technically you could create your very own Well-Architected Framework in order to ensure that your team’s work is up to your own standards, but why not save yourself the effort and take advantage of the wealth of information available from market leaders such as Amazon?

No matter which version you pay attention to, most are based on a set of fundamental principles relating to different elements of a strong, robust, and resilient framework. Think of these as your guiding lights which are to be strived towards and achieved in every aspect possible, whether they relate to security, cost optimization, reliability, operational excellence, or something else.

Since there are so many potential variations of this framework available, we’ll focus on the two best from the market leaders we’ve already mentioned; Microsoft Azure and AWS. Azure’s is more simple to explain, so let’s start with theirs.

The basics of Microsoft Azure’s Well-Architected Framework

Source

Microsoft Azure produced their Well-Architected Framework guidelines based on five core pillars:

  • Reliability - how well the system is able to continue to function in the face of failures, and how well it recovers
  • Cost optimization - whether the system manages costs to deliver the maximum value possible at the lowest price points
  • Operational excellence - ensuring that processes keep the system running at peak performance in production
  • Performance efficiency - the ability of the system to adapt to changes in workloads and deal with strain
  • Security - how well the system and the data therein are protected from threats, internally and externally

Surrounding the core framework are six supporting elements which we’ll get into further down. They’re not strictly part of the framework itself, but they are implemented in order to make the framework as reliable and effective as possible. Think of them as highly desirable extensions to the framework rather than optional extras.

Among these supporting elements are several tools designed to support your implementation of the Well-Architected Framework, namely the Azure Well-Architected Review, Azure Advisor, and Azure Score.

The 5 core pillars of Azure’s Well-Architected Framework

Let’s go through a quick rundown of what Microsoft Azure states are the core pillars of achieving a well-architected framework.

Your cloud architecture is considered reliable if it can consistently ensure that users are able to access it and it is able to recover from failures, ideally returning to a fully functioning state with little to no manual effort. Failures are always going to happen, so Azure puts forward that it’s better to limit the effects of any given failure than to try and completely stamp out the chance of them happening. This largely comes down to designing your architecture according to priority (eg, mission-critical elements need to be more reliable than others), anticipating failures before they happen and planning ahead, knowing the health of your applications, and designing with scalability, automation, and self-healing in mind.

Cost optimization is all about knowing how to get the most value for your money. You need to be aware of the various cost options you have to achieve your goals, whether that be via a supplementary tool or by utilizing a different geographic region to reduce user latency. Azure has different subscriptions, offers, and savings plans that can all be utilized to reduce your costs without affecting performance.

Source, image in the public domain

Operational excellence focuses on the operations and processes that keep your app running in production. It also includes aspects such as deployment speed and frequency, whether they’re delayed by new features or bug fixes, and whether deployments are automated. Remember, the more automated a system is, the less danger there is of human error.

Performance efficiency, as stated above, involves giving your system and workloads the ability to scale efficiently in order to meet user demands. This can be more easily achieved by utilizing the auto-scaling features of various PaaS offerings, meaning that you don’t have to plan for every contingency yourself. It’s also necessary to consider things like how background jobs may affect performance, how your system utilizes caching, and whether or not you partition your data (and if so, how many partitions you’ll have).

Finally, security is exactly what you’d expect. You need your cloud architecture to be resistant to attacks and accidental security breaches alike by protecting your users and data in equal measure. Encrypting data is all well and good, but it’s not enough on its own to protect from, say, a user being able to access sensitive information that they shouldn’t be able to see.

By designing with these five pillars in mind, your cloud architecture will provide a solid foundation from which you can thrive. However, Azure doesn’t leave you with the pillars and no other guidance…

Supporting elements for Azure’s Well-Architected Framework

Microsoft Azure provides supporting elements to its Well-Architected Framework to help make sure that everything is set up and implemented effectively, including a few tools that are available to help you out.

The supporting elements and tools are:

  • Azure Well-Architected Review
  • Azure Advisor
  • Documentation
  • Partners, support & service officers
  • Reference architectures
  • Design principles

The Azure Well-Architected Review is an assessment that takes roughly 60 minutes to complete, and analyzes your framework through the lens of the five core pillars of Azure’s Well-Architected Framework. In other words, it’s a great way to quickly get a rough idea of how well you’ve done in sticking to the core pillars, and of how you can improve your framework without having to do a full in-depth analysis.

Azure Advisor provides a personalized cloud consultant that will help you to optimize your framework and deployments by analyzing your resource configuration and usage telemetry. Once it knows what your current setup looks like, it will recommend actions to improve your setup, similarly to the Review tool, all based on the five core pillars of the Well-Architected Framework.

The other supporting elements are all accessible resources that you can use to reference your own work against and professionals you can talk to in order to get support with your cloud architecture. None of these are necessarily ground-breaking, but they are all useful to bear in mind, especially if this is your first cloud setup.

The basics of AWS’ Well-Architected Framework

Source by CSIRO, image used under license CC BY 3.0

Now that we’ve covered what Microsoft Azure considers to be a well-architected framework, let’s move on to their main competitor; AWS.

AWS’ Well-Architected Framework is set up a little differently from Azure’s, in that they take a more holistic, structured approach to the practice. AWS has its own Well-Architected Tool to help you “learn best practices and apply important design considerations”, and the framework itself is based around six core pillars instead of Azure’s five, but it also offers AWS Well-Architected Lenses which are whitepapers that can help you if you’re in a more specific niche such as machine learning or video game development.

The 6 pillars of AWS’ Well-Architected Framework

AWS’ Well-Architected Framework is based on six core pillars that need to be adhered to:

  • Operational excellence
  • Security
  • Reliability
  • Performance efficiency
  • Cost optimization
  • Sustainability

Most of these are based on the same principles as Azure’s take on the framework. For example, the Operational Excellence Pillar focuses on improving operational processes and procedures via automating changes, setting up event responses, and so on.

One of the main differences here is that AWS has both supplementary webpages for each pillar and a dedicated AWS Well-Architected Labs site that presents the information as a pseudo crash course on everything related to the Well-Architected Framework. The other difference is the addition of the Sustainability Pillar.

Sustainability is distinct from reliability in that it focuses on the environmental impact of your cloud workflows, rather than the operations you’re running themselves. This typically involves understanding the energy demands of your system (and the environmental impact therein), making sure that you’re not wasting resources, that you’re aware of cleaner sources of energy to run your instances and architecture, and that you’re utilizing these avenues wherever possible.

Source by Rosser1954, image used under license CC BY-SA 3.0

For example, you can increase your sustainability by operating out of AWS Regions that are close to Amazon renewable energy projects or where the grid has a lower published carbon intensity. Proximity to clean energy projects will make sure that your framework is powered (at least in part) by that clean energy, and by utilizing low-carbon-intensity regions you’re spreading what unclean energy use you do have to areas that aren’t already saturated with heavy energy demands.

In other words, you’re taking responsibility for the environmental impact of your cloud architecture and doing what you can to limit your own impact as much as possible.

Supporting elements for AWS’ Well-Architected Framework

As stated before, AWS has a much more structured approach to supplementary material for the core pillars of the AWS Well-Architected Framework. This includes, but isn’t limited to:

  • AWS Well-Architected Lenses
  • AWS Well-Architected Guidance
  • AWS Well-Architected Partners
  • The Architect Learning Path
  • AWS Well-Architected Tool
  • AWS Well-Architected Labs

The whitepapers we mentioned above constitute AWS Well-Architected Lenses and Guidance, albeit with slightly different focuses. Lenses demonstrate the six pillars’ use in a specific niche, whereas Guidance whitepapers focus on a specific use case, technology, or implementation scenario.

The AWS Well-Architected Framework Partners program lets you get in contact with experts of the AWS brand of Well-Architected Framework for support. It’s a great way to have your questions answered, whether they be related to security or sustainability.

Starting from scratch and want to teach yourself how to set up a solid framework before asking the experts for help? That’s exactly what AWS Well-Architected Labs is designed to do. By working your way through the basic 101 lessons to the more complex topics, you can build the ideal cloud framework while you learn. The Architect Learning Path offers a similar opportunity, and is AWS’ recommended method for getting started with the Well-Architected Framework.

Finally, the AWS Well-Architected Tool helps you to review, analyze, and improve the state of your architecture. With it you can (for no extra cost) assess the state of your workloads and even get tailored tips to help you improve your architecture.

In other words, AWS offers everything you need to get started with a Well-Architected Framework, supports you as you grow accustomed to the best practices it offers, and lets you get expert advice from start to finish.

How to tackle your AWS bill as comprehensively as your architecture

It’s no secret that AWS offers a fantastic suite of tools to accomplish your cloud-based goals. The AWS Well-Architected Framework fits nicely in its offerings as a great way to break into creating your own cloud architecture to the highest standards possible.

However, AWS really drops the ball when it comes to its billing.

Whether you’re trying to decide which AWS Region has the most sustainable energy available or which EC2 instance type meets your needs best, the resulting costs can quickly get out of hand with how complex the AWS CUR (the only way to natively see your bill breakdown) is.

That’s why we here at Aimably come in.

Our AWS Invoice Management Software will take your CUR data and translate it into an easily digestible, highly actionable dashboard. From there you can see exactly how much your AWS tools cost, whether you’re actually using them enough to warrant the bill, and even compare invoices against your final bill to spot any discrepancies without trawling through months of receipts.

What are you waiting for? Click here to comprehensively manage your AWS bill today!

Engineering Concepts for CFOs