AWS Sustainability Pillar: Building Eco-Friendly Cloud Architecture
estimated read time: 4 minutes
AWS Sustainability

In October 2022, AWS released a new sustainability pillar for the Well-Architected Framework, adding to the existing pillars.
As with other pillars, there’s a continuation of the shared responsibility model—a common theme across the framework. Amazon takes the lion’s share of the commitment through how they manage their data centres, though there are things customers can do to further their sustainability efforts through cleaner code and better application design.
This effort can range from the initial selection of an efficient programming language, adoption of modern algorithms, use of efficient data storage techniques, deploying to correctly sized and efficient compute infrastructure, and minimizing requirements for high-powered end-user hardware. — Amazon (Sustainability in the Cloud)
What’s less clear is where these efficiencies will come from. Amazon already runs a highly optimised stack through Annapurna Labs. With the benefits of Moore’s Law diminishing as chip architectures shrink below 3 nanometres, one wonders whether significant power savings can come from anywhere other than improved circuit design.
My best guess is that AWS will focus on packing more compute into a single space, leveraging economies of scale to localise energy consumption.

Best Practices for Sustainability in the Cloud
Choice of Region
Not all regions are equal. Some, particularly American ones, have significant investment in solar and wind renewables. Depending on your region, this will heavily impact what services are available. Those of us in European regions might find we don’t stack up quite so positively.
User Behaviour
Scale Infrastructure with User Load
This is rather self-explanatory. If you’ve worked in the cloud for any length of time, you’ve likely discovered the benefits of this strategy for handling predictable peaks and managing application scale.
The flip side is that developers tend to over-spec rather than under-spec—a natural response in professional IT departments. If a service falls over due to load, an engineer gets called out. The natural position is to scale higher in anticipation, to prevent this happening again.
The downside is wasted compute sitting idle. You may have noticed I’ve intentionally left out the Cost Pillar here. A mature, cost-managed IT department would hold teams accountable for wasteful spend. That said, most service departments tend to prioritise reliability over cost savings—and rightly so. Unless you’re tracking ROI to the penny, it’s hard to argue against this approach.
Align SLAs to Sustainability
This one does what it says on the tin. Work with procurement to ensure your vendors—both internal and external—commit to sustainable system design and net-zero goals.
“The equilibrium between supply and demand is achieved only through a reaction against the upsetting of the equilibrium” — David Harvey
Stop the Creation and Maintenance of Unused Assets
A reasonable ask. For those already practising good FinOps hygiene, you’ll be well on your way to achieving this. This is one angle that makes economic sense for business engagement—if it impacts the bottom line, the investment makes sense. In essence, it’s a reminder to development teams: put your toys away when you’re finished playing.
Optimise Geographic Placement of Workloads for User Locations
Very practical, though this is old news for those already using CDNs to improve customer latency. Worth adding: don’t maintain redundancy in zones where traffic doesn’t justify it. If you’re only getting a handful of users per month, it may not be worth the overhead. This can be viewed equally as cost optimisation and ecological responsibility.
Optimise Team Member Resources for Activities Performed
Software and Architecture Patterns
Optimise Software and Architecture for Asynchronous and Scheduled Jobs
It took me a while to understand why this matters, but it’s obvious when you think about it. Synchronous calls are infrastructurally heavier. If you need to handle 500, 5,000, or 50,000 requests per minute, you’ll spec up your middleware and databases accordingly. Regardless of direction, there’s a good chance your infrastructure will spend most of its time idle, wasting energy and money.
Remove or Refactor Workload Components with Low or No Use
Consolidate and remove. This already forms a big part of my day-to-day work—it’s simply good hygiene to remove things we no longer use or that don’t provide a return. As mentioned throughout this article, there’s a lot of crossover between good cost management and sustainability.