Cloud computing has enabled elastic and on-demand service provisioning to achieve more efficient resource utilisation and quicker responses to varying application loads. Virtual machines, the building blocks of clouds, can be created using provider specific templates stored in proprietary repositories, which may lead to provider lock-in and decreased portability. Despite these enabling technologies, large scale service oriented applications are still mostly inelastic. Such applications often use monolithic services that limit the elasticity (e.g., by obstructing the replicability of parts of a monolithic service). Decomposing these services (leading to smaller, more targeted and more modular services) would open towards elasticity, but the decomposition process is mostly manual. This paper introduces a methodology for decomposing monolithic services to several so called microservices. The proposed methodology applies several outcomes of the ENTICE project (namely its image synthesis and optimisation tools). Finally, the paper provides insights on how these outcomes help revitalise past monolithic services, and what techniques are applied to aid future microservice developers.
[1]
Dmitry Namiot,et al.
On micro-services architecture
,
2014
.
[2]
David Brumley,et al.
Virtual Appliances for Deploying and Maintaining Software
,
2003,
LISA.
[3]
Giovanni Toffetti Carughi,et al.
An architecture for self-managing microservices
,
2015,
AIMC '15.
[4]
Fabien Dagnat,et al.
Dependency Management in Software Component Deployment
,
2007,
Electron. Notes Theor. Comput. Sci..
[5]
Jinsul Kim,et al.
A New Virtualized Environment for Application Deployment Based on Docker and AWS
,
2016
.
[6]
Maurizio Gabbrielli,et al.
Self-Reconfiguring Microservices
,
2016,
Theory and Practice of Formal Methods.
[7]
David Geer,et al.
The OS Faces a Brave New World
,
2009,
Computer.