1. Managing Services in
Heterogeneous Environments
Adaptive Approaches Towards Non-Functional
Requirements Satisfaction
Monica Vitali - Politecnico di Milano
monica.vitali@polimi.it
2. Once Upon the Time...
Applications were designed as monoliths
● Pros: easy to manage, easy to monitor
● Cons: no scalability, no flexibility
http://ryanjbaxter.com/2015/07/15/using-microservices-to-build-cloud-native-applications-part-1/
3. From Monoliths to Microservices
Applications are decomposed in smaller specialised units
● Pros: high scalability, improved specialization
● Cons: complex management and monitoring
http://ryanjbaxter.com/2015/07/15/using-microservices-to-build-cloud-native-applications-part-1/
4. From Microservices to Functions
Applications are a composition of specialised functions. Execution is event-driven.
Payed by execution time of the single function and not by running time of the thread.
● Pros: extremely scalable, no complex maintenance and building of infrastructure
(serverless)
● Cons: difficult coordination and monitoring
5. From Monoliths to Functions
https://medium.freecodecamp.org/serverless-is-cheaper-not-simpler-a10c4fc30e49
6. From Monoliths to Functions
https://medium.freecodecamp.org/serverless-is-cheaper-not-simpler-a10c4fc30e49
Management complexity
8. Managing Services
An effective management of services depends on (i) the application architectural style
and (ii) the infrastructure architecture.
GOAL Keep non-functional requirements satisfied during the application life-cycle
HOW? Making decisions on ...
Where to deploy/move the microservices/functions composing the application ->
COMPUTATION MOVEMENT
Where to place the data the application is using -> DATA MOVEMENT
9. Monitoring System
The monitoring system is the enabler of the application management
It gives insights on the performance of the application
It detects violations in SLA
SLA is the agreement with the customer indicating the non-functional requirements
for the execution of the services:
● QoS, Security & Privacy, Energy Efficiency, Data Quality => UTILITY
10. DITAS: Data Provisioning in Fog Environments
DITAS Cloud Platform allows developers to design data-intensive applications, deploy
them on a mixed cloud/edge environment and execute the resulting distributed
application in an optimal way by exploiting the data and computation movement
strategies
11. DITAS: Data Provisioning in Fog Environments
DESIGN
Data
administrator
Data sources
offersregisters
Bluprint
repository
Data source
description +
Data Utility
Application
Developer
requests
Data source
description +
Data Utility
requirements
Resolution
engine
DaaS - the resolution engine selects the best data source according to the
application developer’s functional and non-functional requirements
12. DITAS: Data Provisioning in Fog Environments
DEPLOY
The VIRTUAL DATA CONTAINER hide the complexity of the data sources
and their location and provides a personalised access to the data.
TASK
VDC
query data
Ensures SLA
satisfaction through
monitoring and
enactment
EXECUTE
13. DITAS: Data Provisioning in Fog Environments
EXECUTE
Movement Strategies consists of data and computation movement between
resources in the cloud or in the edge and between customer’s resources and
data administrator’s facilities
Movement
Strategies
Data Utility
requirements
DU
DQ QoS
Security &
Privacy
+
+
+ +
+
Decides the location of
data and computation
optimising the Data
Utility
14. DITAS: e-health scenario
Hospitals produce and store a huge amount of data
As data administrator
Hospitals can decide which data to
share, who can access them, and
which restrictions (e.g., due to
privacy and security) will be
applied
As data consumer
VDCs provide an abstract
representation of patients’ data,
taking care of movement across
environments (edge vs cloud) and
data transformations to comply with
data protection regulations
16. P. Plebani, M. Salnitri, and M. Vitali, “Fog Computing and Data as a Service: A Goal-Based Modeling Approach to Enable Effective
Data Movements,” in International Conference on Advanced Information Systems Engineering, 2018, pp. 203-219.
P. Plebani, D. Garcia-Perez, M. Anderson, D. Bermbach, C. Cappiello, R. I. Kat, A. Marinakis, V. Moulos, F. Pallas, S. Tai, and M. Vitali,
“Data and Computation Movement in Fog Environments: the DITAS Approach.” , 2018, vol. 1, pp. 249-266.
P. Plebani, D. Garcia-Perez, M. Anderson, D. Bermbach, C. Cappiello, R. I. Kat, A. Marinakis, V. Moulos, F. Pallas, B. Pernici, and others,
“DITAS: Unleashing the Potential of Fog Computing to Improve Data-Intensive Applications,” in European Conference on
Service-Oriented and Cloud Computing, 2017, pp. 154-158.
C. Cappiello, B. Pernici, P. Plebani, and M. Vitali, “Utility-Driven Data Management for Data-Intensive Applications in Fog
Environments,” in International Conference on Conceptual Modeling, 2017, pp. 216-226.
P. Plebani, D. Garcia-Perez, M. Anderson, D. Bermbach, C. Cappiello, R. Kat, F. Pallas, B. Pernici, S. Tai, and M. Vitali, “Information
Logistics and Fog Computing: The DITAS Approach,” in 29th International Conference on Advanced Information Systems
Engineering Forum (CAISE Forum), 2017, pp. 129-136.
http://ditas-project.eu
17. Deployment based on Monitoring Capabilities
E. Fadda, P. Plebani, and M. Vitali, “Optimizing Monitorability of Multi-cloud Applications,” in 28th International Conference on
Advanced Information Systems Engineering (CAISE’16), 2016, pp. 411-426.
18. Deployment based on Monitoring Capabilities
The application owner expresses
QoS requirements and
monitorability requirements
E. Fadda, P. Plebani, and M. Vitali, “Optimizing Monitorability of Multi-cloud Applications,” in 28th International Conference on
Advanced Information Systems Engineering (CAISE’16), 2016, pp. 411-426.
19. Deployment based on Monitoring Capabilities
The application owner expresses
QoS requirements and
monitorability requirements
Cloud Providers expresses QoS and
monitoring capabilities
E. Fadda, P. Plebani, and M. Vitali, “Optimizing Monitorability of Multi-cloud Applications,” in 28th International Conference on
Advanced Information Systems Engineering (CAISE’16), 2016, pp. 411-426.
20. Deployment based on Monitoring Capabilities
The application owner expresses
QoS requirements and
monitorability requirements
Cloud Providers expresses QoS and
monitoring capabilities
Multi-cloud optimal
deployment of
microservices
E. Fadda, P. Plebani, and M. Vitali, “Optimizing Monitorability of Multi-cloud Applications,” in 28th International Conference on
Advanced Information Systems Engineering (CAISE’16), 2016, pp. 411-426.
21. Managing Services in
Heterogeneous Environments
Adaptive Approaches Towards Non-Functional
Requirements Satisfaction
Monica Vitali - Politecnico di Milano
monica.vitali@polimi.it