Search for Well Architected Advice
< All Topics
Print

Increase utilization of build environments

Maximizing resource efficiency in development, testing, and deployment is crucial for reducing the sustainability impact of your workloads. By increasing the utilization of build environments, organizations can achieve more while consuming fewer resources, ultimately supporting sustainability objectives.

Best Practices

  • Establish Continuous Integration/Continuous Deployment (CI/CD): Implementing a CI/CD pipeline ensures that builds are efficiently managed and resources are utilized optimally. Automating testing and deployment processes can reduce unnecessary build times and environment idling, thereby minimizing waste.
  • Utilize Serverless Architectures: Adopting serverless frameworks allows applications to automatically scale based on demand, ensuring that resources are consumed only when necessary. This adaptability helps to significantly lower the carbon footprint.
  • Leverage Spot Instances and Reserved Capacity: Using Amazon EC2 Spot Instances for non-critical workloads or purchasing Reserved Instances can lead to cost savings and increased resource efficiency, further supporting sustainable practices.

Supporting Questions

  • Are your build environments regularly utilized at their full capacity?
  • Do you have mechanisms in place to monitor and manage resource consumption?
  • How often do you review your build and deployment practices for efficiency?

Roles and Responsibilities

  • DevOps Engineer: Responsible for creating and maintaining the CI/CD pipelines, ensuring that build environments are used efficiently and effectively.
  • Sustainability Officer: Ensures that the organization’s development practices align with sustainability goals, promoting efficient resource usage and waste reduction.

Artifacts

  • CI/CD Pipeline Documentation: Documentation outlining the processes and tools used for continuous integration and deployment, including workflows and environment configurations.
  • Resource Utilization Reports: Regular reports that track the usage of build environments, helping identify areas for improvement in resource efficiency.

Cloud Services

AWS

  • AWS CodePipeline: A continuous integration and continuous delivery service for fast and reliable application and infrastructure updates.
  • Amazon EC2: Offers a variety of instance types, including Spot Instances, that can help optimize costs and improve resource utilization.
  • AWS Lambda: A serverless compute service that automatically manages the infrastructure, allowing developers to run code in response to events without provisioning servers.

Question: How do your organizational processes support your sustainability goals?
Pillar: Sustainability (Code: SUS)

Table of Contents