How to implement AWS Sustainability Pillar principles

What is the Sustainability Pillar?

The latest addition to the AWS Well-Architected Framework aims to help you use environmental best practices for cloud computing. By following the six design principles and architectural best practices, organizations will be able to improve their carbon footprint while balancing cost, security, agility, reliability, and operational excellence.

Sustainability in the cloud

Sustainability is a hot topic. By moving to the AWS Cloud, your company is already reducing its carbon footprint. According to The Carbon Reduction Opportunity of Moving to Amazon Web Services, AWS is 3.6x more energy efficient than the median US enterprise data center. Furthermore, moving to AWS can lower a company’s workload’s carbon footprint by 88% for the same task. While these are notable improvements, you are still consuming (a lot) of energy when operating in the cloud.

Based on the AWS shared responsibility model, AWS takes care of sustainability of the cloud, while customers are responsible for sustainability in the cloud. To help organizations hold up their end of the bargain, AWS added the Sustainability Pillar to its Well-Architected Framework. This article will explore the six design principles and how to implement them.

Sustainability Pillar designer principles

Companies take care of the second half of the shared responsibility model by chasing Sustainability in the cloud – choosing the most appropriate software and cloud infrastructure and optimizing its usage for sustainability goals like reduced energy consumption and achieving high utilization of computer, storage and networking resources that underpin their workloads.

There are 6 design principles identified by AWS that companies can apply to your cloud workloads to maximize sustainability and minimize impact:

  1. Understand your impactMeasure the impact of your current cloud workload by including all sources of impact (customer use, decommissioning, and retirement) and compare it with the productive output by reviewing the resources and emissions required per unit of work. With this data you can identify areas of improvement for productivity while reducing impact.
  2. Establish sustainability goalsNow that you know what needs to improve, set long-term goals such as reducing compute and storage resources required per transaction. Goals also help you monitor your improvements over time and identify any areas that need to be prioritized. Also consider how your goals can support the organization’s overarching sustainability mission.
  3. Maximize utilizationThe beauty of the cloud is the ability to spin up workloads anywhere, anytime. But underutilized workloads can lead to increased energy consumption. For example, two hosts running at 20% is less efficient than one host running at 40%. By eliminating unnecessary resources, you can reduce the energy required to run your workload.
  4. Anticipate and adopt new, more efficient hardware and software offeringsHave you heard the phrase: “Work smarter, not harder”? By choosing more efficient hardware and software offerings, you can reduce the impact of your cloud workloads. However, adapting a new software may not be easy due to existing infrastructure. Best practice is to design for flexibility so you can quickly adopt new, more efficient technologies in the future without disrupting workflows.
  5. Use managed servicesSharing is caring. By sharing services with a large customer base, you can maximize resource utilization and reduce the amount of infrastructure needed. For example, AWS Fargate allows you to run containers without having to manage servers or clusters. And because Fargate scales the compute to match your resource requirements, you reduce your impact and maximize operation.
  6. Reduce downstream the impact of your cloud workloadsBy reducing the need for customers to upgrade their devices to use your services and testing at scale, you can minimize the energy or resources required.

How to implement the Sustainability Pillar design principles

Keeping in mind that agility and security are of utmost importance to DevOps teams, how can you efficiently and securely implement the design principles?

Automation and customizable rules are major keys here. Let’s look at how Trend Micro Cloud One™ – Conformity helps you implement the design principles by identifying opportunities for increasing the sustainability of your workloads and remediating these issues via automation or step-by-step guides.

Maximize utilization

We have rules that can help you detect unused, idle, and overutilized resources across compute and storage services. Examples include:

EC2-027 Instance in Auto-Scaling Group

This rule allows you to maximize the utilization of your Amazon EC2 instances based on actual demand placed on your workloads.
Learn more

EC2-047 – Idle EC2 Instance:

This rule identifies Amazon EC2 instances that appear to be idle.
Learn more.

Lambda-003 – Enable Active Tracing

This rule checks if active tracing using AWS X-Ray is enabled for your AWS Lambda functions in order to gain visibility into the execution and performance of the functions so that you can identify opportunities for optimization and invocation and execution of your functions.
Learn more.

Anticipate and adopt new, more efficient hardware and software offerings

Conformity helps you identify resources that can be migrated onto more efficient hardware and software options:

EC2-017 – Desired Instance Type
This rule allows you to maximize the efficiency of your Amazon EC2 fleet by choosing the most efficient instance types like AWS Graviton-based instances.
Learn more.

EBS-007 EBS General Purpose SSD

This rule allows you to choose the latest generation of SSD-backed EBS volumes optimized for performance and cost.
Learn more

Use managed services

AWS recommends the use of managed services like Amazon S3 Lifecycle configurations to automatically move infrequently accessed data to cold storage and Amazon EC2 Auto Scaling to adjust capacity to meet demand.

Conformity has the following rules to help with configuration of these services to further maximize utilization and reduce sustainability impact:

S3-020 – S3 Buckets Lifecycle Configuration

This rule checks your AWS S3 buckets utilize lifecycle configurations to manage S3 objects during their lifetime allowing you to transition them to less costly storage types or even delete them when no longer necessary.
Learn more.

ASG-002 – Empty Auto Scaling Group

This rule identifies empty Auto Scaling Groups within your AWS account.
Learn more.

Reduce the downstream impact of your cloud workloads

EC2-066 Enable AWS EC2 Hibernation

This rule allows you to preserve state of Amazon EC2 and quickly bring them up only when needed.
Learn more.

EC2-073 Overutilized AWS EC2 Instances

This rule allows you to identify areas where your code should be improved to minimize resource utilization.
Learn more.

RDS-038 – Overutilized AWS RDS Instances

This rule Identifies any Amazon RDS database instances that appear to be overutilized
Learn more.

Next steps

To learn more about Conformity and the AWS Well-Architected Framework, check out these resources:

Read More HERE