Go Green Software Guide
Status:: π©
Links:: Google Cloud - Sustainability
Metadata
Authors:: Google Cloud,
Title:: Go Green Software Guide
Date:: 2024
Publisher:: Google Cloud
URL:: https://inthecloud.withgoogle.com/go-green-engineering/guide.html
DOI::
Google Cloud. (2024). Go Green Software Guide. Google Cloud. https://inthecloud.withgoogle.com/go-green-engineering/guide.html
Notes & Annotations
Color-coded highlighting system used for annotations
π Annotations (imported on 2024-02-15#12:54:16)
Is a microservice or monolith design pattern more wasteful? Typically microservices can be automatically scaled in isolation, individually configurable and should create less waste of resources.
Using serverless or container solutions it is possible to to reduce the size of the footprint to consume less energy. However, one side effect of the microservice pattern is the introduction of the need for multiple services to communicate with each other over various networks. Microservices can therefore become highly distributed and it is possible to see an increase in network traffic. With this in mind the architect should ensure they consider the payloads being returned, the proximity of each service to each other and also whether the correct transfer protocol is being consumed. It is possible a βchattyβ microservice can end up more wasteful than a monolith.
K8s experts or software engineers typically specify the resource needs of a container in the K8s YAML configuration. Two data points must be provided: resource requests and limits. The first one specifies the lower limit, or the minimum amount of resources while the second specifies the upper limit8. Both can be specified for CPU and memory. If this specification is inaccurate, missing, or too high, then resources will again be used inefficiently.
Consideration for API: One concept to consider is putting the CO2 emissions of an API call in the invoking function return. In a DevOps ecosystem, API discoverability and addressability are essential, so why not also provide CO2 emissions on execution?