-
Notifications
You must be signed in to change notification settings - Fork 1
Green Coding Checklist
keilhofh edited this page Feb 8, 2024
·
1 revision
- Non-functional requirements for green IT and green coding are defined
- IT architects and developers are trained
- System scales dynamically and shuts down when idle and, if necessary, at off-peak times
- Load peaks are avoided
- Real-time processing is avoided where possible
- Dynamic content is kept within reasonable limits
- Components with the highest energy consumption are identified
- Power consumption has been estimated
- Measurements have been carried out
- Green coding principles and development patterns taken into account in the following points:
- Loose coupling of the components
- Reactive programming model
- Efficient code with optimal algorithms
- Avoidance of unnecessary round trips, caching
- Optimized data volume
- Compressed network communication
- Use database indexes and explain plans
- Optimized resource usage through optimized configuration
- Zero-waste code: Treeshaking and bytecode optimization e.g. with GraalVM
- Guidelines for green testing are observed
- Principle: "Every line of code has the potential to reduce energy consumption"
- Performance engineering
- It is clear what is measured, when and how
- What: Overall system/process/component/method
- When: Unit test, integration test, operation (ideally: in every phase)
- How: Task Manager, Libre Hardware Monitor or Smart Plugs, frameworks, e.g. jPowerMonitor and others
- It is clear what is measured, when and how
- Resource consumption
- CPU/RAM/memory/network: optimization through profiler and SQL Explain Plans
- Monitoring is implemented
- DevOps and operation
- DevOps pipeline is optimized in terms of energy consumption
- Container-based platform with intelligent, dynamic scaling is utilized
- Resources are optimally utilized (CPU, RAM, memory, network, GPU, ...)
- Specific green coding NFRs are taken into account
Copyright © 2022-2024 msg for banking ag
Licensed under Apache License 2.0