ECO - Energy Cloud Optimizer

ECO is a framework to reduce carbon emissions by moving Microsoft Azure resources to different regions taking into consideration emissions, accuracy features, cost, resources types and configurations.

  • 0 Raised
  • 180 Views
  • 0 Judges

Categories

  • This hackathon has categories available. Please select one if necessary.

Gallery

Description

ECO - Energy Cloud Optimizer


ECO improves cloud resources emissions impact by choosing the best cloud region where your application and services can be deployed avoiding business impacts. It is integrated with Microsoft Azure as public cloud provider. ECO is build with a custom accuracy feature to verify reliability of emissions data in order to provide a solid and robust framework.


ANSWER 1. THE PROBLEM

We outline the current problems our framework aims to address:

  • Public cloud providers do not support lowering emissions based on regions deployment leading to unnecessary carbon pollution.
  • Business Continuity: moving resources of a service/application in production may lead to disservices and integrity faults, lowering response time. Customers would not benefit from deciding to move resources for reducing emissions.
  • Move or recreate resources in the correct order, in the right place and with right settings and timings is an additional effort to take into consideration.


ANSWER 2. WHAT OUR PROJECT DOES

In this section we present the main points of our solution:

  • ECO is able to map regions with a dedicated logic of emissions rate. In addition to this, it enriches the rate with weights and accuracy metrics computed with historical data forecasts. With the computed rate, ECO is able to move Microsoft Azure resources to the best region in order to reduce carbon emission in the immediate future.
  • ECO supports a custom logic based on accuracy of forecasts data. If the forecasts data of a given region is reliable, an accuracy index will represent the current accuracy and it is used in a custom logic to select the best region for moving resources.
  • Balancing the traffic while the migration occurs,  ECO recreates resources ecosystem whilst removing the old ones with attention in maintaining data integrity.
  • Integrated with Microsoft Azure ECO wants to demonstrate the ability to be a framework compatible to different cloud providers in order to become a standard in reducing carbon emissions. ECO could start, stop, move and configure resources.
  • ECO can run in a custom way letting customers able to automatically move resources based on their needs.
  • ECO supports different resources: VMs, DBs (Cosmos), AKS Clusters and Container Registry.
  • ECO is able to perform a service health check to ensure that the migration process has been completed successfully.
  • ECO could be extended to take into consideration cost to meet customer needs.


STRUCTURE

ECO is integrated with Microsoft Azure retrieving resources information. Fetching carbon emission data, it computes the best region where deploy current resources (taking into consideration current configurations, regions accuracy and historical data). With the computed data, different actions are taken to achieve the desired goals. New region is chosen as the one which stays as the best, in terms of emissions, for the next hours between the ones available for the target resources. In one day of ECO monitoring, Instead of performing a movement each hour we could have a movement each 4 hours (a custom parameter which could be changed based on proper needs) leading to a 1/4 of computational engine usage used for moving resources. 

 



ANSWER 3. API/SDK INTEGRATION

ECO uses Carbon Aware SDK/API for fetching carbon emissions data.
 It retrieves current emissions and forecasts ones in order to be able to compare historical data and compute accuracy for each region. With the same data, ECO is able to retrieve the best region where resources could be deployed.
 
 The accuracy feature aim at improving Carbon Aware SDK by providing and index representing the reliability of forecasts in different regions.


ANSWER 4. THE IMPACT

The impact of ECO starts from a single Microsoft Azure resource group (as tested in our environment) to becoming a feature that can be enabled as standard in public cloud providers.  This is how you can reduce emissions automatically without additional effort, ECO will take care of integrating itself within the cloud provider. In this way, the impact in the cloud, particularly in public providers, want to demonstrate the relevance of carbon emissions.  If integrated, ECO will reduce emissions by moving resources to different regions.  In addition to this, the region with high emissions could reduce them lowering the number of resources to manage as they are moved to another region.


ANSWER 5. FEASIBILITY

ECO is a functional framework, tested and integrated with Microsoft Azure. The future improvements of ECO to achieve our desired impact are:

  • Support additional Microsoft Azure resources and other Cloud Providers.
  • Integrate a cost predictability to meet customer needs.
  • Develop APIs /GUI to integrate ECO to existing environments.

ECO’s core functionalities are developed, tested and integrated to demonstrate the feasibility of our project and the impact it could achieve by extending it.


ANSWER 6. FUTURE VISION

We want to make a difference to the world. ECO wants to become a standard framework integrated in cloud provider which will reduce carbon emissions. Cloud providers could decide to make it optional or integrated, moreover the future impact will be integrated within the cloud.

A world of green cloud, taking care not only of IT infrastructure but also to reducing emissions and carbon footprint.


ANSWER 7. LINKS

Youtube Video: https://youtu.be/4Gh2Hlx2K2w

GitHub repository: https://github.com/spada397/energycloudoptimizer

In the assets there is also a Power Point Presentation of our project.

Attachments