SISMA: Solutions for Engineering Microservice Architectures

PRIN 2017 Research Programme

Scroll Down

About The Project

SISMA: Solutions for Engineering Microservice Architectures

Microservices (or microservice architecture) are an architectural style where applications are structured as collections of loosely coupled components (microservices), each hosted on a dedicated execution environment. This architectural style fosters the autonomy of components to improve independent scalability and maintainability. Microservices envision polyglot systems, where each component is implemented and operated by dedicated means, with no need for application-wide choices and solutions. Self-contained granules and independent executors enable the continuous deployment of new features or new releases of existing ones. Since dedicated (virtual) machines would be a too heavy execution environment, microservices are usually hosted in containers, and nowadays they are often executed through server-less functions, without any need for provisioning or managing servers explicitly. Since changes are isolated in dedicated executors, possible errors generate local failures with limited or zero impacts onto the remaining parts of the system. Microservices do not have large failures: big services fail big, small services fail small: A large number of services can be down at the same time without the users even noticing it; New service instances can be added easily and quickly to manage increasing workloads, others can be removed, running services can be updated instantly, and new services can be integrated to provide additional functionality, but system-wide management must be adopted to keep systems healthy and let them be safe and reliable. While the architectural style is extremely flexible, versatile and dynamic, our project SISMA (Solutions for Engineering Microservice Architectures) aims to move a step forward and foster the quality development, deployment, and operation of microservice-based applications by proposing novel techniques and tools that cover the whole lifecycle of microservices. SISMA will investigate and contribute strongly original solutions to address following challenges:

(i) Autonomy and evolvability of microservices require the (semi-)automated identification of the microservices that compose a complex software system. This challenge emerges both when migrating existing monolithic systems to the microservice paradigm and when implementing new microservice systems from a global specification of their business goals.

(ii) Isolation and autonomy impose the design of test suites that stress microservices with respect to their intrinsic modularity and scalability, and also with respect to the different assemblies they can be part of.

(iii) Continuous evolution introduces the challenge of guaranteeing a safe and reliable deployment in the presence of evolving requirements and mutated execution conditions. Any evolution must also preserve the reliability and safety of the overall system.

(iv) Workload changes impose the dynamic instantiation of resources and the proper reconfiguration of the system to route the workload correctly. Advanced runtime management solutions are required to improve performance, save money, and run more sustainable systems.

(v) Dynamism and evolution may lead to software problems that cannot be identified before deployment and by observing individual microservices in isolation. Microservices must be validated in the field without interrupting the offered services.

Who We Are

Project Partners

Publications

Publications

Here soon...

-->