The ENTICE approach to decompose monolithic services into microservices

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.