Monitoring-Aware Optimal Deployment for Applications Based on Microservices

Modern cloud applications are required to be distributed, scalable, and reliable. The microservice architectural style enables developers to achieve this goal with reduced effort. Nonetheless, microservices deployment is not trivial due to the heterogeneity of the microservices in terms of both functional and non-functional requirements. This is also true when considering the monitoring requirements that are specific to each microservice and must be satisfied in order to enable the verification of the application objectives satisfaction. However, not all providers offer the same set of metrics with the same quality. The goal of this paper is to provide an approach for supporting the deployment of microservices in multi-cloud environments focusing on the Quality of Monitoring. Adopting a multi-objective mixed integer linear optimisation problem, our approach supports the application owner in finding the optimal deployment for satisfying all the constraints and maximising the quality of monitored data, while minimising the costs. To this end, a knowledge base is introduced to mediate between the perspectives of the cloud provider and the application owner, while a Bayesian Network is adopted to enhance the provider's monitoring capabilities by estimating metrics requested by the application owners that the cloud provider is not able to monitor.

[1]  Rajiv Ranjan,et al.  Holistic Performance Monitoring of Hybrid Clouds: Complexities and Future Directions , 2016, IEEE Cloud Computing.

[2]  Nour Ali,et al.  A Systematic Mapping Study in Microservice Architecture , 2016, 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA).

[3]  Amit P. Sheth,et al.  Semantic Modeling for Cloud Computing, Part 1 , 2010, IEEE Internet Computing.

[4]  James M. Joyce Kullback-Leibler Divergence , 2011, International Encyclopedia of Statistical Science.

[5]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[6]  Danilo Ardagna,et al.  Quality-of-service in cloud computing: modeling techniques and their applications , 2014, Journal of Internet Services and Applications.

[7]  Kaisa Miettinen,et al.  Nonlinear multiobjective optimization , 1998, International series in operations research and management science.

[8]  Benjamín Barán,et al.  Virtual Machine Placement Literature Review , 2015, ArXiv.

[9]  Raman Kazhamiakin,et al.  Adaptation of Service-Based Applications Based on Process Quality Factor Analysis , 2009, ICSOC/ServiceWave Workshops.

[10]  Walter Rudametkin,et al.  Automated Setup of Multi-cloud Environments for Microservices Applications , 2016, 2016 IEEE 9th International Conference on Cloud Computing (CLOUD).

[11]  Dimitris Plexousakis,et al.  Towards Cross-Layer Monitoring of Multi-Cloud Service-Based Applications , 2013, ESOCC.

[12]  Liang Liu,et al.  A multi-objective ant colony system algorithm for virtual machine placement in cloud computing , 2013, J. Comput. Syst. Sci..

[13]  Rajiv Ranjan,et al.  Open Issues in Scheduling Microservices in the Cloud , 2016, IEEE Cloud Computing.

[14]  Jim Gao,et al.  Machine Learning Applications for Data Center Optimization , 2014 .

[15]  Cees T. A. M. de Laat,et al.  The NOVI information models , 2015, Future Gener. Comput. Syst..

[16]  Sam Newman,et al.  Building microservices - designing fine-grained systems, 1st Edition , 2015 .

[17]  Wlodzimierz Funika,et al.  Semantic-Oriented Performance Monitoring of Distributed Applications , 2012, Comput. Informatics.

[18]  Jordi Torres,et al.  Energy-efficient and multifaceted resource management for profit-driven virtualized data centers , 2012, Future Gener. Comput. Syst..

[19]  Peter Harremoës,et al.  Rényi Divergence and Kullback-Leibler Divergence , 2012, IEEE Transactions on Information Theory.

[20]  Barbara Pernici,et al.  Learning a goal-oriented model for energy efficient adaptive applications in data centers , 2015, Inf. Sci..

[21]  Giovanni Toffetti Carughi,et al.  An architecture for self-managing microservices , 2015, AIMC '15.

[22]  Jin Tong,et al.  NIST Cloud Computing Reference Architecture: Recommendations of the National Institute of Standards and Technology (Special Publication 500-292) , 2012 .

[23]  Rainer Weinreich,et al.  Decision Guidance Models for Microservice Monitoring , 2017, 2017 IEEE International Conference on Software Architecture Workshops (ICSAW).

[24]  Antonio Puliafito,et al.  Automating the Deployment of Multi-Cloud Applications in Federated Cloud Environments , 2017, VALUETOOLS.

[25]  Edoardo Fadda,et al.  Optimizing Monitorability of Multi-cloud Applications , 2016, CAiSE.

[26]  Rajkumar Buyya,et al.  Interconnected Cloud Computing Environments , 2014, ACM Comput. Surv..

[27]  Antonio Corradi,et al.  Heterogeneous cloud systems monitoring using semantic and linked data technologies , 2015, 2015 IFIP/IEEE International Symposium on Integrated Network Management (IM).

[28]  Antonio Pescapè,et al.  Cloud monitoring: A survey , 2013, Comput. Networks.

[29]  Antonio Pescapè Entropy-Based Reduction of Traffic Data , 2007, IEEE Communications Letters.

[30]  Dimitris Plexousakis,et al.  Towards Knowledge-Based Assisted IaaS Selection , 2016, 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).