Self-Reconfiguring Microservices

Microservices is an emerging paradigm for the development of distributed systems that, originating from Service-Oriented Architecture, focuses on the small dimension, the loose coupling, and the dynamic topology of services. Microservices are particularly appropriate for the development of distributed systems in the Cloud. However, their dynamic nature calls for suitable techniques for their automatic deployment. In this paper we address this problem and we propose JRO Jolie Redeployment Optimiser, a tool for the automatic and optimised deployment of microservices written in the Jolie language. The tool uses Zephyrus, a state of the art tool that automatically generates a fully detailed Service-Oriented Architecture configuration starting from a partial and abstract description of the target application.

[1]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[2]  David S. Rosenblum,et al.  QoS-Aware Service Composition in Dino , 2007, ECOWS 2007.

[4]  Gianluigi Zavattaro,et al.  A Planning Tool Supporting the Deployment of Cloud Applications , 2013, 2013 IEEE 25th International Conference on Tools with Artificial Intelligence.

[5]  Gianluigi Zavattaro,et al.  On the Complexity of Reconfiguration in Systems with Legacy Components , 2015, MFCS.

[6]  Maurizio Gabbrielli,et al.  Applied Choreographies , 2015, FORTE.

[7]  Roberto Di Cosmo,et al.  Aeolus: A component model for the cloud , 2014, Inf. Comput..

[8]  John K. Ousterhout,et al.  In Search of an Understandable Consensus Algorithm , 2014, USENIX ATC.

[9]  Ivan Lanese,et al.  Dynamic Choreographies - Safe Runtime Updates of Distributed Applications , 2015, COORDINATION.

[10]  Carl Hewitt,et al.  A Universal Modular ACTOR Formalism for Artificial Intelligence , 1973, IJCAI.

[11]  Gianluigi Zavattaro,et al.  Composing Services with JOLIE , 2007, Fifth European Conference on Web Services (ECOWS'07).

[12]  Frank S. de Boer,et al.  Formal Verification of Service Level Agreements Through Distributed Monitoring , 2015, ESOCC.

[13]  Roberto Di Cosmo,et al.  Automatic Deployment of Software Components in the Cloud with the Aeolus Blender , 2015 .

[14]  Roberto Di Cosmo,et al.  Automated synthesis and deployment of cloud applications , 2014, ASE.

[15]  Fabrizio Montesi,et al.  Deadlock-freedom-by-design: multiparty asynchronous global programming , 2013, POPL.

[16]  Ivan Lanese,et al.  AIOCJ: A Choreographic Framework for Safe Adaptive Distributed Applications , 2014, SLE.

[17]  Gianluigi Zavattaro,et al.  Service-Oriented Programming with Jolie , 2014, Web Services Foundations.

[18]  Yaron Goland,et al.  Web Services Business Process Execution Language , 2009, Encyclopedia of Database Systems.

[19]  Antonio Bucchiarone,et al.  A Framework for Rule-Based Dynamic Adaptation , 2010, TGC.

[20]  Gianluigi Zavattaro,et al.  JOLIE: a Java Orchestration Language Interpreter Engine , 2007, CoOrg/MTCoord@COORDINATION.

[21]  Roberto Di Cosmo,et al.  Automatic Deployment of Services in the Cloud with Aeolus Blender , 2015, ICSOC.

[22]  Gianluigi Zavattaro,et al.  On the Integration of Automatic Deployment into the ABS Modeling Language , 2015, ESOCC.

[23]  Nobuko Yoshida,et al.  Compositional Choreographies , 2013, CONCUR.

[24]  Roberto Di Cosmo,et al.  Automatic Application Deployment in the Cloud: from Practice to Theory and Back (Invited Paper) , 2015, CONCUR.

[25]  Faris Nizamic,et al.  Service-Oriented Computing , 2010, Lecture Notes in Computer Science.

[26]  Leslie Lamport,et al.  Paxos Made Simple , 2001 .

[27]  Francisco Curbera,et al.  Web Services Business Process Execution Language Version 2.0 , 2007 .

[28]  C.P.T. deGouw,et al.  Combining Monitoring with Run-Time Assertion Checking , 2013 .

[29]  Fabrizio Montesi,et al.  Programming Services with Correlation Sets , 2011, ICSOC.

[30]  Mazin S. Yousif,et al.  Microservices , 2016, IEEE Cloud Comput..