Skip to main content

AWS Well-Architected Framework

The AWS Well-Architected Framework serves as a guide in designing an effective, secure, reliable, efficient and cost effective cloud infrastructure.  This consists of design principles specifically discussing the 5 pillars of a well-architected framework.  Based on industry best practices it'll help you assess your designs for any gaps or limitations that you may have overlooked and will give you a basis to work on in creating a holistic solution.

When should you use it?
Ideally, you should review this documentation thoroughly and have a clear understanding or the 5 pillars before designing your cloud infrastructure or solution.  However, in most cases when the solution might have already been deployed beforehand,  you can use it as a guide to assess the solution design implemented and make corrective actions where deemed necessary based on your finding.

What are the 5 Pillars?
The 5 Pillars comprises the following:
  • Operational Excellence
  • Security
  • Reliability
  • Performance Efficiency
  • Cost Optimization
Operational Excellence defines the ability to run and monitor systems to deliver business value and to continually improve supporting processes and procedures. 

Security details the ability to protect information, systems, and assets while delivering business value through risk assessments and mitigation strategies. 

Reliability states the ability of a system to recover from infrastructure or service disruptions, dynamically acquire computing resources to meet demand, and mitigate disruptions such as misconfigurations or transient network issues. 

Performance Efficiency encompasses the ability to use computing resources efficiently to meet systems requirements, and to maintain that efficiency as demand changes and technologies evolve. 

Cost Optimization details the ability to avoid or eliminate unneeded costs or suboptimal resources. 

There may be instances where you may prefer to focus on certain pillars such as Reliability, Performance Efficiency, and Cost Optimization doing somewhat of a trade-off amongst them in order to satisfy certain business decisions that drive your design solution.  It is possible to have one over another and is quite common in real world scenarios.  However it is highly advised that you DO NOT trade-off on Security and Operational Excellence.

A few words on Architecture

With traditional IT environments there is often a central team which acts as a governing body which ensures that all other teams follow best practices.  This team may comprise of the following roles: Technical Architect (infrastructure), Solutions Architect (software), Data Architect, Network Architect, and Security Architect.  These teams use TOGAF or the Zachman Framework as part of their enterprise architecture capability.
With AWS, the capabilities are distributed into teams rather than just one centralized team with that capability.  This means that other functional teams such as product or feature teams are given the decision making authority to create and deploy architectures following best practices.  This may sound as a risk to others since those teams, being functional, may or may not be subject matter experts in enterprise architecture and best practices.  However AWS mitigates this risk by implementing best practices and providing access to experts who ensure that those teams meet or exceed the standards defined as best practices. Secondly, AWS employs mechanisms that carry out automated checks to ensure standards are being met.

General Design Principles
Keep in mind these design principles when designing your architecture to facilitate good design in the cloud.

Stop guessing your capacity needs:
       Eliminate the guesswork on your infrastructure capacity needs.  When you make a capacity decision before you deploy a system, you might end up sitting on expensive idle resources or deal with the performance implications of limited capacity.  With cloud computing, these problems go away.  You can use as much or as little capacity as you need, and scale up or down automatically to meet demand.

Test systems at production scale:
       You can create a production scale test environment on demand in the cloud to complete your testing requirements and then decommission the resources after.  Since you only pay for the test environment when it is running, you can simulate your live environment for a fraction of the cost of testing on-premises.

Automate to make architectural experimentation easier:
       Automation allows you to create and replicate your system at low cost and avoid the expense of manual effort.  You can track changes to your automation, audit the impact, and revert to previous parameters when necessary.

Allow for evolutionary architectures:
       In a traditional environment, architectural decisions are often implemented as astatic, one-time events, with few major versions of a system during its lifetime.  As a business and its context continue to evolve, these initial decisions might hinder the system's ability to deliver changing business requirements.  In the cloud, the capability to automate and test on demand lowers the risk of impact from design changes.  This allows systems to evolve over time so that businesses can take advantage of innovations as a standard practice.

Drive architectures using data:
       In the cloud you can collect data on how your architectural choices affect the behavior or your workload.  This lets you make fact-based decisions on how to improve your workload.  Your cloud infrastructure is code, so you can use that data to inform your architecture choices and improvements over time.

Improve through game days:
       Test how your architecture and processes perform by regularly scheduling game days to simulate events in production.  This will help you understand where improvements can be made and can help develop organizational experience in dealing with events.




 
  

Comments

Popular posts from this blog

AWS AR & VR Services

The AR & VR category is all about Artificial Intelligence and Virtual Reality.  At the moment, there is only one service available in this category, but nevertheless is cutting edge technology. Sumerian        - Amazon Sumerian lets you create and run virtual reality (VR), augmented reality (AR), and 3D applications quickly and easily without requiring any specialized programming or 3D graphics expertise.  With Sumerian, you can build highly immersive and interactive scenes that run on popular hardware such as Oculus Rift, HTC Vive, and iOS mobile devices (support for Android ARCore coming soon).  For example, you can build a virtual classroom that lets you train new employees around the world, or you can build a virtual environment that enables people to tour a building remotely.  Sumerian makes it easy to create all the building blocks needed to build highly immersive and interactive 3D experiences including adding objects, and designing...

AWS IoT

The IoT or Internet of Things category is a collection of services that are specifically designed for the management and implementation of IoT technology.  These allows you to easily integrate IoT models or functions into your application. Below are the various IoT services available in this category. IoT Core        - AWS IoT provides secure, bi-directional communication between Internet-connected devices such as sensors, actuators, embedded micro-controllers, or smart appliances and the AWS Cloud. This enables you to collect telemetry data from multiple devices, and store and analyze the data. You can also create applications that enable your users to control these devices from their phones or tablets. IoT 1-Click       - AWS IoT 1-Click is a service that makes it easy for simple devices to trigger AWS Lambda functions that execute a specific action. Some examples of possible actions include calling technical support, reordering goods and ...

How to create an AWS free-tier account

Creating an AWS account isn't all that difficult.  This should be your 2nd step in your AWS journey.  The first being a clear familiarization of the various AWS services and their functions.  If you are not at all familiar with any of them, I would suggest you check out my previous posts which briefly discusses the various core services available in AWS then come back here to create your AWS account. When creating an AWS account you will need the following: A registered email address.   A credit card note: don't worry about fees.  creating the free tier account is totally free.  and there is a list of services that you will have free access to within their respective usage parameters.  Just be aware of these parameters as you can be charged if you go over the usage limit for the free tier account.   Now that you have the requirements available, lets begin creating your account.   First click this:  AWS Free Tier and then...