6. Design for efficiency through architecture
The way service architecture is designed can have significant implications for environmental footprint, whether that service is hosted ’on-premises’ (network infrastructure that is owned and managed by the organisation providing the service) or or in the cloud, when managed by a third party.
By adopting the right practices we can design architectures that maximise efficiency and reduce waste as far as possible, so reducing electricity consumption of servers, energy and/or water used for server cooling and the embodied impacts coming from the manufacture, distribution and disposal of buildings, cooling equipment and servers.
Further Reading
Deciding How To Host Your Service, GOV.UK Service Manual
Architectural Choices and Sustainability, Green Software Foundation
Key Disciplines
Architecture
6a. Design for efficient application architecture
An application architecture describes the patterns and techniques used to design and build an application.
Lifecycle phases
Actions
(i) Right-size services
'Right-sizing' means adjusting the type and amount of computing resources so these match the needs of workloads, without either overprovisoning. This will help ensure that energy consumption is no higher than it needs to be.
(ii) Reuse common components where possible
Adoption of common architectural components and their re-use can bring benefits include increased speed, efficiency and reduced costs.
-
Common Components, Department for Education
(iii) If in the cloud, then leverage 'cloud native' design patterns
If application architecture is in the cloud, then a 'cloud native' approach can be taken. This means that applications or services are specifically designed for and deployed on cloud infrastructure, and can make the most of all the advantages of a modern cloud environment. This can mean scalability, elasticity, reliability and energy efficiency.
This may mean:
-
Moving from 'monoliths' to microservices architecture
-
Containerization like Kubernetes or Docker
More detailed guidance on cloud architecture & sustainability
There is guidance relating specifically to the sustainable design of cloud architecture available from the following sources:
-
Sustainable Architecture Choices, Green Software Foundation
-
Design for Environmental Sustainability, Google Cloud Architecture Centre
'Well-Architected Frameworks' from major public cloud providers
Public cloud providers Amazon, Microsoft and Google all have their own ‘Well-architected frameworks’ (WAF) which cover cover guidelines for general best practice when it comes to building and maintaining cloud architecture. There are many commonalities as well as differences between the respective frameworks.
-
Azure Well-Architected Framework, Microsoft
-
AWS Well-Architected Framework, Amazon Web Services
Measurement
Cloud hosting providers may provide reporting dashboards, but caution is required as in many cases there may be a substantial difference between reported emissions and actual consumption at data centres.
There are a range of questions that we can ask when we view reporting cloud providers:
Are energy usage figures provided or are spend-based proxies used to estimate carbon emissions?
For Scope 2, are location-based electricity figures provided or are market-based emissions provided (that may rely on the purchase of green electricity through ‘Power Purchasing Agreements (PPAs))?
Do figures follow the GHG protocol and include Scope 3 emissions alongside Scopes 1 and 2? (The embodied emissions may include up to half the carbon caused by cloud computing)
Is reporting using offsets to claim that there is zero or extremely low carbon associated with cloud activities?
Using a tool to estimate cloud carbon footprint
Cloud Carbon Footprint is an open-source tool to help decipher public cloud. It helps look at billing statements from a provider line by line (the log of activities, if tags are assigned to services to provide meaningful data that can interpret). For storage, compute, hardware etc it estimates how much electricity use and also carbon based around location.
If you are able to get energy usage data, you can use services like Electricity Maps to then calculate the emissions emitted in relevant region of the world.
Further Reading
Creating and Implementing a Cloud Hosting Strategy, GOV.UK
Cloud Guide for the Public Sector, GOV.UK
Five Things to Know About Cloud Computing GHG Emissions, Carbometrix
Building Green Software, Currie, Anne; Hsu, Sarah; Bergman, Sara
6b. Design for efficient data
Have a strategy to manage data efficiently. Reducing the volume of data that is captured, stored and accessed means reduced use of computing resources, energy and associated carbon emissions.
Actions
(i) Avoid collecting information you do not need or has been collected elsewhere, and identify opportunities for data sharing
This will help to avoid unnecessary storage of data that may not be useful or valuable, which will in turn reduce required infrastructure, power, and data transfer. Better sharing of data may mean it only needs to be collected once, saving upon storage usage.
-
Make Better Use of Data, GOV.UK
-
Web Sustainability Guidelines on Responsible Data Practices, W3C Sustainability Group
(ii) Consider data storage
Data should only be stored when absolutely necessary, and when it is stored it should be compressed before storage, especially when it is for long term. Use the right data format, for example Parquet as opposed to CSV, which can have big savings for large data sets.
(iii) Conduct data audits
Review data regularly and ensure unneeded/duplicate data is deleted/compressed/archived. Unneeded or duplicate data takes up space on servers and consumes energy for storage.
6c. Design for efficient infrastructure
Infrastructure architecture focuses on hardware such as servers, network components and storage devices as well as the virtual resources that are used to monitor these physical assets.
Actions
(i) Implement serverless architectures to optimise resource usage and reduce overhead
Serverless architecture is a software design approach that allows developers to build and run applications without managing the underlying infrastructure. In many contexts, serverless architectures allow flexibility, scalability and higher efficiency.
(ii) Select cloud regions that leverage renewable energy for a lower environmental impact
Cloud data centres are located in many countries with highly varied electricity grids. If available, move workloads to a hosting provider that uses electricity from low carbon sources like wind, solar, geothermal, hydro, or nuclear.
-
Climate Impact by Area, Electricity Maps
-
UK Carbon Intensity Forecast by Region, National Grid ESO