Skip to main content

Containerize your workloads

Description​

Containers allow resources to be used more flexibly, as workloads can be easily moved between machines. Containers allow for bin packing and require less compute resources than virtual machines, meaning a reduction in unnecessary resource allocation and an increase in utilization of the compute resources.

Solution​

Containerize your applications with their minimal dependencies. This can be done using tools for generating Dockerfiles and Kubernetes manifests.

SCI Impact​

SCI = (E * I) + M per R Software Carbon Intensity Spec

Containerizing workloads impacts SCI as follows:

  • E: By reducing CPU and RAM usage, we reduce the amount of energy required.
  • M: Reducing compute resources decreases the embodied carbon emissions.

Assumptions​

  • The application supports containerization.

Considerations​

  • Using containers may not be enough to reduce the carbon impact of a large monolith application.
  • Consider modernizing your applications into micro-service architectures that allow independent sizing and scaling of their logical components.
  • You may use a container orchestration system for automating software deployment, scaling, and management.

References​

Microsoft Azure Well Architected Framework sustainability patterns