30_Knowledge/Green Architectural Tactics
Green Architectural Tactics are Software Architectural Tactics that improve the energy-efficiency or another environment-related quality attribute of a software.
See also Energy Efficiency of Different Software Architecture Styles.
Motivation
Carbon efficiency (Technology Radar (ThoughtWorks))
Carbon efficiency as an architectural characteristic | Technology Radar | Thoughtworks
Assess as of October 2022
An architecture that takes into consideration carbon efficiency is one where design and infrastructure choices have been made in order to to minimize energy consumption and therefore carbon emissions. The measurement tooling and advice in this space is maturing, making it feasible for teams to consider carbon efficiency alongside other factors such as performance, scalability, financial cost and security. Like almost everything in software architecture, this should be considered a trade-off; our advice is to think about this as one additional characteristic in a whole set of relevant quality attributes that are driven and prioritized by organizational goals and not left to a small cadre of experts to ponder in a siloed manner.
Overview
Modularity
Impacts of Software Modularity on Energy Efficiency
Tactics in the Cloud
Open: 1 3tsDhvjq78MbpMxV71FDQA.webp
Source of diagram: https://medium.com/@maxmeinhardt/software-energy-efficiency-architecture-and-implementation-tactics-595f084b717c
Based on the study @Vos.etal.2022.ArchitecturalTacticsOptimize
Resource Allocation
Software energy-efficiency resource allocation tactics encompass strategies that involve allocating and de-allocating resources to distribute processing time effectively and minimize overhead.
— Software Energy-Efficiency: Resource Allocation | by Max Meinhardt | Medium
Right-sizing of Nodes in the Cloud
Resource Adaptation
Software energy-efficiency resource adaptation strategies focus on optimizing hardware and software resource architectures to improve software efficiency.
Software Energy-Efficiency: Resource Adaptation | by Max Meinhardt | Medium
Resource Monitoring
In the software energy-efficiency context, Resource Monitoring involves the monitoring and classification of workloads in order to optimize energy performance.
Software Energy-Efficiency: Resource Monitoring | by Max Meinhardt | Medium
Communication Styles
REST vs. GraphQL
@Lawi.etal.2021.EvaluatingGraphQLREST
🔗 References
@Bass.etal.2021.SoftwareArchitecturePractice