Skip to main content

Infrastructure Engineer

Persona

Manages and optimizes server infrastructure, cloud resources, and networking for maximum energy efficiency and minimal waste.

14 patterns

Architecture

Choose the region that is closest to users

From an energy-efficiency perspective, it's better to shorten the distance a network packet travels so that less energy is required to transmit it. Similarly, from an embodied-carbon perspective, when a network packet traverses through less computing equipment, we are more efficient with hardware.

  • networking
  • size:small
Evaluate other CPU architectures

Applications are built with a software architecture that best fits the business need they are serving. Cloud providers make it easy to evaluate other CPU types

  • cloud
  • size:small
Reduce network traversal between VMs

Placing VMs in the same region or availability zone minimises the physical distance data must travel between instances, reducing the energy consumed by network traversal.

  • cloud
  • compute
  • kubernetes
  • network
  • role:cloud-engineer
  • size:medium
Select the right hardware/VM instance types for AI/ML training

Selecting the right hardware/VM instance types for training is one of the choices you should make as part of your energy-efficient AI/ML process.

  • ai
  • machine-learning
  • size:small
Use cloud native processor VMs

Cloud VMs built on energy-efficient processors, such as ARM-based cloud-native chips, can run scale-out workloads with significantly lower energy consumption and embodied carbon than traditional alternatives.

  • cloud
  • compute
  • kubernetes
  • role:cloud-engineer
  • role:software-engineer
  • size:medium
Use serverless cloud services

Serverless cloud services scale dynamically with demand and share infrastructure across many applications, reducing idle resource consumption and lowering embodied carbon emissions.

  • cloud
  • serverless
  • size:small

Operations

Match utilization requirements of virtual machines (VMs)

It's better to have one VM running at a higher utilization than two running at low utilization rates, not only in terms of energy proportionality but also in terms of embodied carbon. Two servers running at low utilization rates will consume more energy than one running at a high utilization rate. In addition, the unused capacity on the underutilized server could be more efficiently used for another task or process.

  • compute
  • size:small
Match utilization requirements with pre-configured servers

It's better to have one VM running at a higher utilization than two running at low utilization rates, not only in terms of energy proportionality but also in terms of embodied carbon. Two servers running at low utilization rates will consume more energy than one running at a high utilization rate. In addition, the unused capacity on the underutilized server could be more efficiently used for another task or process.

  • compute
  • size:small
Optimize average CPU utilization

CPU usage and utilization varies throughout the day, sometimes wildly for different computational requirements. The larger the variance between the average and peak CPU utilization values, the more resources need to be provisioned in stand-by mode to absorb those spikes in traffic.

  • compute
  • monitoring
  • size:medium
Scale down applications when not in use

Applications consume CPU even when they are not actively in use. For example, background timers, garbage collection, health checks, etc. Even when the application is shut down, the underlying hardware is consuming idle power.

  • cloud
  • size:small
Scale down kubernetes applications when not in use

In order to reduce carbon emissions and costs, Dev&Test Kubernetes clusters can turn off nodes out of office hours. Thereby, optimization is implemented at the cluster level. For production clusters, where nodes need to stay up and running, optimization needs to be implemented at the application level.

  • kubernetes
  • size:small
Time-shift Kubernetes cron jobs

The carbon emissions of a software system depends on the power consumed by that software, but also on the Carbon intensity of the electricity it is powered on. For this reason, running energy-efficient software on carbon intensive electricity grid, might be inefficient to reduce its global carbon emissions. Carbon aware time scheduling, is about scheduling workloads to execute, when electricity carbon intensity is low.

  • kubernetes
  • size:medium