logo
Menu
Automate Sustainability of AWS Infrastructure with Sustainability Scanner

Automate Sustainability of AWS Infrastructure with Sustainability Scanner

Boost startup sustainability with the SusScanner tool. Automate AWS best practices for greener cloud architecture.

Giuseppe Battista
Amazon Employee
Published Apr 3, 2024
One of my goals for 2024 is to help startups I work with becoming intentional about sustainability. As architects, founders, entrepreneurs, and innovators, the choices we make have broad impact on the society we live in. Sustainability should not be just a happy accident, but it must become a key decision making point when designing products, architectures and company processes.
In this article I want to share about the Sustainability Scanner (or SusScanner for short), an open source tool that has helped hundreds of customers keeping the sustainability of their solutions always in check. It was built by the EMEA Startup Builders Community—a group of AWS builders focused on startup customer experiences and solutions. It takes in your CloudFormation template, evaluates it against a set of sustainability best practices and generates a report with a sustainability score and suggested improvements to apply to your template.
This tool has quickly become one of my favourites because it automates and simplifies the application of the Sustainability Pillar of the AWS Well Architected Framework. It's also super flexible too, allowing you to create your custom set of sustainability rules.

Get Started

There are a few pre-requisites before you can start paiting your CloudFormation templates green.
  1. You'll need Python 3.6 or later
  2. make sure you have CloudFromation Guard installed. Here you can find how to install it.

Install SusScanner

It's just a pip install!
1
pip3 install sustainability-scanner

Start the Scan

1
susscanner <path/to/cloudformation/template_or_templates>
for example
1
susscanner test.yaml

Get your Sustainability Report

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
{
"title": "Sustainability Scanner Report",
"file": "test.yaml",
"version": "1.2.5",
"sustainability_score": 8,
"failed_rules": [
{
"rule_name": "rest_api_compression_max",
"severity": "MEDIUM",
"message": "Consider configuring the payload compression with MinimumCompressionSize. Compressing the payload will in general reduce the network traffic.",
"links": [
"https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-gzip-compression-decompression.html",
"https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_data_a8.html"
],
"resources": [
{
"name": "/Resources/API-GW-2/Properties/MinimumCompressionSize",
"line": "15"
}
]
}
]
}

What's a Sustainability Score?

Have you ever played Golf? Yeah, no me neither, but just like Golf, if you're scoring high you ain't winning the sustainability game! The lower the score, the better.
For each rule your template violates, you'll get 1 to 3 points depending on the severity of the violation. Now your goal is to take your score to zero! Luckily, you have a bunch of links to AWS docs that will set you on the path to green (pun absolutely intended).

Automate All The Things!

The team behind SusScanner has also released a GitHub action, so you can bake sustainability in your CI/CD pipelines. Find it here.

About the Authors

Giuseppe Battista is a Senior Solutions Architect at Amazon Web Services. He leads soultions architecture for Early Stage Startups in UK and Ireland. He hosts the Twitch Show "Let's Build a Startup" on twitch.tv/aws.
Follow Giuseppe on LinkedIn.
Read more content written by Giuseppe.
Alex Tarasov is Senior Solutions Architect working with Fintech Startup customers helping them to design and run their data workloads on AWS. He is a former data engineer and is passionate about all things data and machine learning.
Follow Alex on LinkedIn.
This tool is brought to you by the EMEA Startup Builders Community—a group of AWS builders focused on startup customer experiences and solutions
 

Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.

Comments