Lean Mean Green Machines - Architecting for a Greener Future - Sara Bergman - NDC Oslo 2024

Learn how to architect sustainable software systems through energy efficiency, hardware optimization, and carbon-aware computing. Practical tips for greener cloud applications.

Key takeaways
  • Carbon efficiency in software consists of three main areas: energy efficiency (using least energy possible), hardware efficiency (minimizing embodied carbon), and carbon awareness (using more when grid is green)

  • Cloud providers and data centers are becoming more efficient and investing in renewable energy, but cloud users remain responsible for sustainability within their applications

  • Right-sizing resources through auto-scaling and proper capacity planning is crucial for both cost and carbon efficiency - idle servers waste energy even when doing nothing

  • The electricity grid is becoming more variable due to renewable energy adoption. Software needs to adapt through demand shaping and carbon-aware computing that shifts workloads to times/locations with cleaner energy

  • Storage optimization is important - implement retention policies, use appropriate storage tiers (hot/warm/cold), and avoid keeping unnecessary backup data indefinitely

  • Location matters - choose regions with cleaner energy grids when possible, but consider network costs and data privacy requirements when shifting workloads geographically

  • Building green from the start is easier than retrofitting later. Focus on architecture decisions that enable sustainability rather than premature optimization of code efficiency

  • The Green Software Maturity Matrix helps organizations assess their sustainability capability across different categories and progress from Level 1 (Aspiring) to Level 5 (Inspiring)

  • Sustainability initiatives often have co-benefits like cost savings, improved performance, and better resilience. They’re also increasingly important for employee retention

  • Tools and APIs are available to help measure and optimize carbon footprint, including offerings from major cloud providers and open source options like Electricity Map and Cloud Carbon Footprint