Safe Deployment of Micro-services Using Containers


Context

Micro-services architectures relies on small and independent entities (the micro-service) that communicate with others to achieve business goals. These entities communicate together using messages exchanged on top of a broker, e.g., Kafkfa.

In this project, we are interested by the safe deployment of micro-services architecture. It aims to model a micro-service in terms of exchanged messages, and see how the different services define a choreography of messages. then, we will leverage this model to (i) accelerate the deployment by generating software artifacts (e.g., docker compose file) that are consistent by nature (no dangling services), and (ii) provide a support to what-if scenarios in the architecture. For example, what is the impact of a failure of a given service? Can we replace a given service by another one?

The technological ecosystem is build on top of state-of-the-art industrial tools, such as docker, nodeJS and Kafka. The project will deliver a model to represent a service, and a set of analysis to leverage this model and provide feedbacks to software architects.

Skills and Background

Required role of the student

References

Supervision

Sébastien Mosser
Professor, UQAM