New Relic Now Start training on Intelligent Observability February 25th.
Save your seat.
Pour le moment, cette page n'est disponible qu'en anglais.

Sustainable IT seeks to minimize its environmental and climate impacts by drawing on infrastructure, coding, and operational techniques. This is a fairly new approach, where monitoring and measurement systems can identify what's working and what isn't. The State of Green Cloud Software Practices in 2022 outlines four main approaches to IT sustainability listed below.

1. Operational efficiency

Defined: The number of machines and resources required to run applications and processes; reducing this number cuts down on the amount of carbon used. 
Impact: Operational efficiency improvements are estimated to reduce energy rates by ”five to tenfold.

How to implement it: 

  • Calculate optimum processing power.
  • Use pay-per-use instances that allow orchestrators to choose when to run jobs, for example, during off-peak hours.
  • Rightsize the number of services, including memory, storage, and other resources. Avoid overprovisioning infrastructure by reducing the number of services running in the background without being used.
  • Autoscale CPU to the necessary memory levels to run your applications.
  • Ensure you have the right type of instance or service. For example, a service like AWS EC2 has compute-optimized, memory-optimized, and storage-optimized instance types. If you’re using a compute-optimized instance but memory is high, then the problem isn't optimizing for CPU.

How to measure and monitor it:  

  • Calculate the necessary processing power of CPUs for each operation or application versus the energy rate. Google has a methodology model for measuring the energy used when running a workload versus when servers are idle. From there, calculate the necessary resource allocation for each process.
  • Regularly assess applications and services that aren’t operating and turn them off when not in use. This also has the added benefit of reducing potential security risks.

2. Architecting for minimal carbon

Defined: Software applications are designed from an energy efficiency standpoint.
Impact:  Optimize applications from the very start. Focus on applications expected to have the greatest environmental footprint first.

How to implement it:

  • Employ frugal data storage processes and reduce data size, such as compressing images, before storing.
  • Choose managed cloud services that employ cloud bursting. They expand capacity via a public cloud to reduce application strain when capacity limits are reached. 
  • Use coding efficiency practices like green coding to improve overall efficiency by ensuring the code delivers on its energy investment.
  • Make API calls more efficient. Reduce the number of simultaneous API calls by delaying less urgent tasks. The conference event series apidays published a report that describes other API-related energy efficiency techniques, including reducing heavy payloads and enabling more specific queries to return only necessary information in API responses.
  • Remove auto-loading video options.

How to measure and monitor it:

  • Measure the amount of data stored in application processing and measure the size of API call payloads to see if they can be reduced over time.
  • Add serverless functions to minimize the server hardware needed to manage applications on an ongoing basis.

3. Energy efficiency

Defined: The amount of energy required to run applications for a device’s CPU, storage, and memory is reduced.
Impact: Monitor your infrastructure and apps to reduce network and processor requirements that then reduce CPU resources needed to execute programs, making it more energy efficient.

How to implement it:

  • Define when and why to use a library instead of custom code.
  • Monitor performance and availability to determine how hosts can be rightsized to find the right balance between using energy resources for performance, availability, and user experience. 
  • Make it easier for applications to use a mobile device’s options and run in low power consumption mode so users can decide the level of quality/performance they are willing to trade off.
  • Do not require apps to run in the background unless it is absolutely necessary. 
  • Apply energy efficiency coding techniques for mobile devices.

How to measure and monitor it:

  • Monitor your cloud resources to ensure you aren't unnecessarily overprovisioning.
  • Benchmark your methods to determine which are most efficient.
  • Monitor the number and size of libraries and dependencies used and regularly assess other options that may be more efficient.

4. Hardware efficiency

Defined: Hardware efficiency is about extending the longevity of hardware to conserve resources and limit the creation of new devices.
Impact: Physical user devices require vast amounts of energy to build. Extending their use saves energy.

How to implement it:

  • Avoid forced obsolescence! Make sure that software doesn’t encourage users to upgrade to the latest versions of devices if they do not need the functionality.
  • Ensure software is backwards compatible with existing devices.

How to measure/monitor:

  • Monitor how many iterations of devices can still operate your software.
  • Calculate a long-term support period as a benchmark that describes the length of time software or applications should reasonably be expected to maintain compatibility for available devices.

How to measure sustainability metrics

Monitoring your tech stack’s energy footprint can align your business goals and technology resources with environmental and social values. Application monitoring is one of the greatest tools to support a move towards sustainable IT.

Measuring sustainable IT requires creating key performance indicators (KPIs) based on metrics that combine technical (proxy) and value (business) measures:

1. Proxy metrics

Proxy metrics measure which compute, network, and storage resources have been provisioned in your workload. You should only provision the resources you need for optimal performance. 

  • Compute resources are the components used to run your software and applications, like CPU and memory. Measure the amount of energy used by tracking their allocated resources on an individual level.
  • Network resources are hardware and software that can be accessed remotely, like servers or printers. Measure the distance data has to travel by comparing your network’s operating region against the region where the majority of your users reside. If your users are spread out across multiple regions, set up copies of data in each region so less energy is expended when accessing the network.
  • Storage resources are those used for the storage of data, including on-premises hosted servers and cloud storage.

2. Business metrics

Business metrics quantify achievements and reflect the value provided by your workload. This is useful when analyzing the return on your energy usage. Here are some examples: 

  • Number of simultaneously active users: Use an API call reduction to demonstrate energy-efficient API design by coupling it with metrics mapping the number of API users. This is important so that the reduction of API calls isn’t perceived as a reduction in demand or usage of API products. By reducing the compute workload of API calls, while continuing to serve and grow service users, metrics show that business goals are not negatively impacted by introducing sustainable IT practices.
  • Number of completed transactions: Business metrics, like the percentage of successfully completed transactions, can be used as a benchmark to show that sustainable techniques being introduced do not negatively impact the end value that users receive (by their ability to complete transactions using your software). These metrics can also be used in ESG reporting to demonstrate that business goals can be achieved while focusing on sustainability.
  • Cost of cloud spend. One of the most compelling arguments for being sustainable from a business perspective, is that it saves money.

3. KPIs

With proxy and business metrics in place, you can now quantify performance over a length of time for a specific objective. Follow this formula: 

KPI = proxy/business

Proxy and business metrics calculate the number of resources provisioned for each unit of work. This creates a KPI for each application workload or process. To find this number, divide your provisioned resources (proxy metrics) by the business outcomes you’ve achieved (business metrics). For example, a KPI may calculate the amount of energy used for each transaction made.

Once you know how much energy each transaction expends, use this data as a benchmark for comparison against others, those of your partners, and third-party providers. As you analyze your KPI data, consider how you to reduce your energy usage by answering these questions:

  • Can you standardize your APIs to match the energy consumption of your best-performing APIs?
  • How does your API architecture’s energy expenditure compare with those of your partners or of third-party providers? 
  • Are their APIs architected differently?
  • Do your API practices align with industry best practice standards?

KPI metrics can track improvements over a set period of time. After implementing sustainability-focused changes—like those in operational efficiency, architecting, energy and hardware efficiency—compare your new metrics against your original benchmark numbers. If your implementations are successful, your new energy expenditure should be lower than in your original data. If there is little to no change, you should go back to the drawing board to reassess your IT practices.