Back
🌱
Green Software Engineering Practices Checklist
Medium
18 items
·
1 hour
testuser
Published 1 month ago
This checklist helps engineering teams reduce software carbon emissions by applying practical optimizations across cloud, CI/CD, databases, and monitoring. It’s for developers, SREs, and engineering managers who want measurable, repeatable steps to improve efficiency and lower environmental impact.
Progress
0 / 18
- Set measurable sustainability goals and a carbon budget — Define targets, timeline, and an owner to track progress.
- Prefer low-carbon cloud regions for deployments — Use provider region metadata or carbon-aware APIs when scheduling.
- Enable resource and carbon monitoring — Collect CPU, memory, network, energy, and emissions metrics.
- Rightsize compute instances — Remove overprovisioning and align instance sizes with actual load.
- Collect 95th-percentile CPU and memory utilization — Use 7–30 day windows to avoid reacting to short spikes.
- Adjust instance types and autoscaling policies based on telemetry — Apply gradual changes and validate performance after changes.
- Prefer autoscaling over always-on instances — Use scale-to-zero or dynamic groups to avoid idle capacity.
- Schedule batch jobs during low-carbon periods — Shift non-urgent workloads to times of lower grid carbon intensity.
- Prune and optimize CI/CD pipelines — Remove redundant jobs and run tests selectively by change.
- Enable job caching and incremental builds in CI — Cache dependencies and artifacts to reduce build time and compute.
- Use CDN and edge caching to reduce origin data transfer — Cache static assets at the edge and set long cache TTLs where safe.
- Optimize database queries and indexing — Profile queries, add indexes, and avoid inefficient scans.
- Identify slow and high-frequency queries with profiling tools — Use query plans, traces, and frequency counts to prioritize fixes.
- Reduce network payloads and enable compression — Use brotli/gzip, trim JSON fields, and lazy-load large assets.
- Minimize container and artifact sizes — Use slim base images, multi-stage builds, and remove unused libs.
- Measure Software Carbon Intensity (SCI) — Calculate CO2e per kWh or per request using available tooling.
- Create dashboards and alerts for carbon or efficiency regressions — Alert on rising energy use or emissions per request to catch regressions.
- Power down non-production resources when idle — Schedule off-hours for dev/staging and delete orphaned resources.
Your Stats
🏆
0
Completed
📅
—
Last Done
⏱️
—
Last Time
Completion Rate
Items checked per run
⚡
—
Fastest Run
🔥
0
Streak
🚫
—
Most Skipped Step
🔄
0
Resets
📝 My Notes