Sustainable Application Design

What is SADP?

The Sustainable Application Design Process (SADP) is a novel approach to the design of cloud-native applications where the environmental impact of the application is central.

SADP aims at involving all the stakeholders with their different roles in the path towards Green IT and Green IS.

How?

We propose to enrich the application design with additional information in three steps. These additional features provide useful information to be exploited at run-time for a sustainability-aware application management.

An Example

We motivate our approach with a Flight Booking application. We can observe three features:

1 - Each microservice has different functional and non-functional requirements.

2 - "All the microservice are equal, but some are more equal than others". Some microservices are not mandatory for a successful execution.

3 - Multiple implementations of the same microservice are possible with different effects in terms of resource consumption and value for the users.

Resources

The methodology has been prototyped. The tools are opensource.

Cloud-Native Sustainability (front-end)

This repository includes a React App for sustainable cloud-native application design that enables application designers to enrich business process models with additional sustainability-related information.

Cloud-Native Sustainability (back-end)

This repository includes some back-end functionalities for sustainable cloud-native application design to import/export the sustainability features to/from a BPMN model.

Apodini Sustainability

ApodiniSustainability includes metadata definitions for annotating Apodini web services with SADP features and to export this information using a standard format.

Apodini Sustainability Demo

The implementation of a toy Flight Booking application using the Apodini Sustainability extension for the description of the sustainability features of the application.

Publications

Monica Vitali. "Towards Greener Applications: Enabling Sustainable-aware Cloud Native Applications Design." In Int. Conference on Advanced Information Systems Engineering (CAISE 22), pp. 93-108.