Architecture Tenets, Production Readiness Reviews, and Technical Excellence
For digital companies, speed disproportionally matters. Many organizations are trying to improve their time-to-value–how long it takes to put an … Read Article
Over the years, I facilitated numerous AWS Well-Architected reviews for customers at Amazon Web Services. A well-architected framework is a set of guiding principles that helps teams improve the quality of their workloads based on pillars (such as cost optimization, security, or reliability). It allows teams to understand the pros and cons of their decisions.
In my experience, organizations benefit the most when adopting a well-architected framework across the board. It helps companies establish a consistent process for building and operating software in the cloud. However, adopting it beyond a few teams requires tools and practices to succeed. This series explores patterns I have observed in companies scaling up well-architected frameworks:
The role of software architecture has profoundly changed. Companies that can harness the power of digital can simplify customer experiences, introduce new business models, and optimize processes. However, it can be challenging to build systems that deliver on expectations. It is easy for teams to lose sight of tradeoffs in the nuances of everyday software delivery. As technology leaders, our job is to make it easy for teams to “do the right thing”
As companies transition to the cloud, teams need a list of rules, guidelines, and best practices regarding the organization’s current thinking on building and operating applications. Well-architected frameworks help teams align with the organization’s best practices, address neglected foundational areas, and influence future architectures.
Cloud providers have published their well-architected frameworks on how best architect solutions on their platforms. However, that is not enough. Teams should use those frameworks as a starting point to develop their frameworks.
Many mature digital organizations are using architecture tenets and production readiness reviews to help teams to work independently while maintaining technical excellence.
Our Reliability Manifesto is a succinct collection of rules, guidelines, and best practices that reflect our current thinking on what it takes to build a reliable system.
In large organizations, the level of maturity differs among product teams. Some teams might lack a structured approach to operating in the cloud. To mitigate this, organizations should use a well-architected framework as an intrinsic part of every service lifecycle, from the initial design to everyday application development. I classify the maturity of adopting a well-architected framework across the board in four stages:
This list isn’t meant to be exhaustive but rather to start the conversation on the possibilities around adopting a well-architected framework.
Customize a well-architected framework: Organizations need to bring their own best practices to complement the existing cloud providers’ frameworks based on people, industry, operational plans, and internal processes. For example, applying well-architected lenses that extend the guidance to specific industries and technology domains
Centralize all well-architected reviews: A well-architected dashboard helps companies analyze their organization’s maturity across multiple business units, teams, and workloads, perform centralized reporting on high-risk issues and identify hot areas that platform teams should address
Automate well-architected principles: Often, teams assess their architecture only after a significant release or when problems occur (such as frequent outages or spikes in cost). The cost of performing well-architected reviews for every change is nontrivial. Therefore, companies should automate it as much as possible, reducing their effort, and creating a culture of continuous well-architected
Establish a well-architected bar raisers program: A bar raiser is an objective “third party” person to a well-architected review who partners with teams to ensure the best long term architecture decisions are made
A “Crawl, Walk, Run, Fly” maturity model enables organizations to start small and scale as business value warrants new mechanisms. Taking quick small actions allows organizations to assess the outcomes of their activities and decide on the following steps. Establishing a particular mechanism is not necessarily a good or bad thing. Well-architected practitioners should focus on addressing existing pain points to achieve the outcomes the framework aims to provide
Leveraging a well-architected framework helps organizations adopt architectural principles. However, as software changes happen frequently, organizations must automate well-architected principles, establish detective and preventive guardrails, enhance their CI-CD using policy-as-code, and adopt tools that simplify the review process to reduce teams’ required effort. I will dive deeper into those mechanisms in future articles of this series.
Good intentions never work. You need good mechanisms to make anything happen.
I would like to hear about your experience adopting a well-architected framework. Please reach out.
For digital companies, speed disproportionally matters. Many organizations are trying to improve their time-to-value–how long it takes to put an … Read Article
As companies scale, they slow down. Teams spend more time coordinating and less time building. Every new feature overlaps and intertwine with features … Read Article