Full TitleData Consistency in Microservices Compositions
An important paradigm for the development of modern cloud-based applications consists in decomposing an otherwise large monolithic application in a composition of several small loosely-coupled services. Currently, these decompositions are usually deployed on platforms that offer eventual consistency, leading to anomalies that do not occur in the original monolith. These anomalies are responsible for a substantial programming effort to be compensated. The Data Consistency in Microservices Compositions (DACOMICO) addresses this problem by developing middleware extensions that augment the execution platform with support for Transactional-Causal Consistency (TCC), a highly-available consistency model that can avoid many of the anomalies allowed by eventual consistency while preserving a strong decoupling among microservices. Furthermore, the project will also develop automated mechanisms to pinpoint anomalies that can occur when a given decomposition is executed under TCC and a toolchain that leverages these mechanisms to guide the programmer in decomposing a monolith for the TCC model.