loading...
Cover image for AWS Well-Architected Framework - Best Practices to design systems in Cloud

AWS Well-Architected Framework - Best Practices to design systems in Cloud

dhruvesh_patel profile image Dhruvesh Patel ・3 min read

This post will talk about my key take-aways after reading and practicing AWS well-architected framework and five pillars that define how well the system architecture is?

AWS Well-Architected Framework

It defines set-of guidelines and design principles to follow while building systems in the cloud. It is a must read guide on architectural best practices and trade-offs to consider, while designing and operating reliable, secure, efficient and cost-effective systems in cloud.

AWS Well-architected framework is based on 5-pillars as listed below.

  • Security
  • Reliability
  • Performance Efficiency
  • Cost optimization
  • Operational Excellence

AWS Well-Architected Framework Pillars

Security

Security is the most important aspect of cloud-native solutions. Prevent, Detect, Respond and Remediate security aspects to implement optimum security posture for Organization and as a thumb rule, Apply security at all layers.

Following are high level design principles for achieving security.

  • Prevent - Define IAM policy based on Principle of Least privilege (AWS IAM, SSO, MFA), Ensure Data Protection using encryption - In transit & At Rest (AWS KMS, CloudHSM, SSE)

  • Detect - Logging and Monitoring of services (AWS CloudTrail, AWS CloudWatch, AWS GuardDuty)

  • Respond - Automated incident response and recovery (AWS Config + Lamdba, AWS Systems manager & Automation Playbooks)

  • Remediate - Leverage event-driven automation to remediate, where possible and secure cloud environment (AWS Security hub and Manual intervention)

Reliability

Achieving reliability can be challenging in traditional on-premises environments due to single points of failure, lack of automation, and lack of elasticity.

In Cloud, Architect and design solutions with mindset of "Everything fails all time".

Following are high level design principles for achieving reliability.

  • Automatically recover from failure - Monitor workload using KPIs, Trigger automated recovery process when threshold is breached. Aim to be able to Anticipate and Remediate failure before they occur.

  • Test Recovery Procedures, Scale horizontally to avoid single point of failure (where suitable), detect failures and auto-heal itself

  • Deploy using Immutable infrastructure

Performance Efficiency

Adopt data-driven approach to build high-performance architecture. Depending on use case, trade consistency, durability and space for latency to deliver higher performance. Cloud enables to embrace evolving architecture depending on data insights and usage patterns.

Following are high level design principles for achieving operational excellence.

  • Experiment often
  • Have performance metrics in place
  • Focus on going global as you evolve
  • Use serverless architectures

Cost optimization

Cost optimization is a continual process of refinement and improvement over the span of a cloud resource. On top of having cloud budget, resource tagging and forecasts,

Following are high level design principles for achieving cost optimization.

  • Create cost-aware processes and culture
  • Purchase reserved instances and go with upfront payment where utilization is predictable
  • Delete unattached EBS volumes & obsolete snapshots, release unwanted elastic IPs and choose appropriate storage tiers

Operational Excellence

The operational excellence pillar includes how organization supports business objectives by running software systems efficiently and by gaining insight into operations, and then by continuously improving to deliver business value.

Following are high level design principles for achieving operational excellence.

  • Perform operations as code
  • Make frequent, small, reversible changes
  • Refine operations procedures frequently
  • Anticipate failure
  • Learn from all operational failures

AWS Well-Architected Tool

The AWS Well-Architected Tool helps to review the state of application and compares them to the latest AWS architectural best practices. The tool is based on the AWS Well Architecture Framework developed to help cloud architects build secure, high performant, resilient, and efficient application infrastructure.

AWS Well-Architected Tool

This Framework provides a consistent approach for customers to evaluate architectures and provides guidance to help implement designs that scale with application needs over time.

Benefits of AWS Well-Architected Tool

  • Get Free architectural guidance
    Gives access to best practices used by AWS Architects whenever you need it. Just answer series of question on your application and tool delivers step-by-step guidance on how to improve current design and architecture.

  • Review your application consistently
    Offers single tool and consistent process to review cloud architectures across organizations. Provides potential next steps for improvement, drive architectural decision and brings architectural considerations into corporate governance.

  • Identify and Implement improvements
    Use this tool to support continuous improvements throughout lifecycle of application. Makes easy to save point in time snapshot and track changes. If you want to start all over again, just launch one more review process to ensure your architecture continues to improve over time

Well-architected Labs provides nice hands-on labs to try out these architectural best practices.

Enjoy architecting systems in cloud and build efficient systems.

Please like, share and comment your views/ opinion.

Disclaimer - This post is my personal opinion and does not reflect those of any of my past, present or future employers or affiliations.

Discussion

pic
Editor guide
Collapse
shreya1310 profile image
Shreya1310

Interesting stuff to read. Keep it up.

Collapse
dhruvesh_patel profile image
Dhruvesh Patel Author

Glad you liked reading the article.

Collapse
chiragks profile image
Chirag Shah

I liked bullet point summary for each architect pillar. it defiantly saved few hours of my time going through 5 archt. white papers.

Collapse
dhruvesh_patel profile image
Dhruvesh Patel Author

Glad this post saved your time and effort for learning.

Collapse
joelblanda profile image
JoelBlanda

Very well defined article..

Collapse
dhruvesh_patel profile image
Dhruvesh Patel Author

Thanks a lot.

Collapse
hennalyons profile image
Henna Lyons

best guide for Best Practices to design systems in Cloud..

Collapse
dhruvesh_patel profile image
Dhruvesh Patel Author

Thanks for kind words.

Collapse
luciolangworth profile image
LucioLangworth

Thanks for sharing AWS Well-Architected Framework details..

Collapse
dhruvesh_patel profile image