In 2007, the United Nations Environment Programme Finance Initiative (UNEP-FI) advised financial institutions (FIs) to prioritize sustainability in their services and operations to align with the needs of the current as well as future generations. Broadly speaking, sustainability in the banking sector aims at the adoption of policies in a bank’s daily operations (sustainability in operations) that fulfill environmental and social responsibilities, as well as their products and strategies (sustainability in business). However, this is set to be an uphill task as currently technology advancements and sustainability are yet to get on the same page while carbon emissions from industries with an IT backbone is expected to spiral due to their expanding operations. And the challenge is real.
Mission: Green app
The core components of a data center include hardware, networking equipment, environment-related equipment, different kinds of software applications – task-driven or data-driven, layered, non-layered, the technology used, media formats, etc. It is no secret that software drives the energy consumption of the hardware, demanding appropriate infrastructure and running conditions. Therefore, building green software is the future. But how can we determine whether an application is green?
What cannot be measured, cannot be managed
Carbon footprint can be measured through meters, gadgets, and performance monitors for standalone applications, invasive, and one-time measurements. They are specific to environments and devices.
Deployment parameters such as capacity utilization, memory usage, network connect, disk I/O, etc., increase energy consumption. An effective approach would be to use predictive modeling tools for forecasting the power consumption of software applications. Non-invasive, time-stamped data and an agnostic approach to environments can bring consistency in predictions. This can help in achieving a quicker turnaround for predicting the energy consumption of FIs’ huge application landscape. A well-trained power predictor engine could help with rigor in volume and variance in data and train the algorithm in determining if the app is green. It is a long shot, but it is worth the effort.
Once the energy consumption of the application is measured, the question of how the metrics help in making an application green arises. Several complex factors like architectural design, coding pattern, nature of the application decide the energy consumption pattern. Hence, establishing green coding rules with non-arbitrary standardizations can help in determining if the code is green. The next question that arises is how we institutionalize them.
Bringing green into the code's DNA
A rule engine can be designed with a set of Green IT rules for coding and integrated into the ‘Mission Green App’ process. This can be done in multiple levels:
Level 1 – crude physical discipline in coding
Level 2 – building energy sensors to detect energy leaks
Level 3 – adapting applications to set energy profiles
Levels 2 and 3 can happen only after due research. While green architectural and design principles can be administered as an assessment tool for scoring the purpose, quick energy predictors can help in measuring the carbon footprint of software applications – ex-ante and ex-post of the trials. Each application should be subjected to the ‘Mission Green App’ process, where the first step is measuring the energy consumption to set the baseline. The application is then run through the energy rule engine to identify energy leaks. Post identification, the application is remedied for the energy leaks. The assessment scores of the application serve as a guide for the design and architectural energy maturity. Once the remedy is implemented, energy consumption is measured to check the savings and a new baseline comes into force.
Is green code the panacea for all ills?
The primary purpose of a software application is to meet business and customer needs and drive efficiency. But what do you do when green code is not an efficient code? It is a tradeoff, and a referral matrix must be drawn that assigns priority to business and customer needs, efficiency, and energy savings for the different types of applications, with respective target energy profiles and energy budgets. This may not be a one-time truth but will vary over time and space. Further, it should be decided upon after collaborating with clients and application users for their buy-in. Energy savings can also be extended to the different stages of the Software Development Life Cycle. Several automations, time-based budgeting, and reuse can bring down the lifecycle cost of creating an application. In addition, the configurations, or the cover in deployment, play a major role in energy consumption. Huge capacities configured for small applications consume idle energy even when the application is down. In the end, a real, clean green application is a judicious mix of content, creation, and cover.