HPI-Kolloquium: "The BAC Theorem for Microservices: Backup, Autonomy or Consistent Disaster Recovery (Pick Two)”
Prof. Dr. Cesare Pautasso University of Lugano (USI), Switzerland
14. November 2019
Microservices are by definition independently developed and autonomously operated. As a consequence they follow the polyglot persistence principle, where every microservice man-ages its own persistence independently using the most suitable storage technology. In this talk we illustrate the ultimate consequences of these assumptions, which can be summarized using the BAC theorem: only two are possible out of 1) a backed up microservice architecture; 2) full autonomy during normal operations; and 3) consistency after recovery. In other words, if microservices are backed up independently, after disaster strikes they will be recovered in an inconsistent state. This can manifest itself via broken links or orphan state. This can only be avoided by taking an atomic snapshot across all microservices being backed up, which limits their autonomy. We will present and compare several coping strategies to deal with this limi-tation and discuss how it affects the monolith decomposition process at design time and the operational coupling between different microservices at run time.
Cesare Pautasso is a full professor at the Software Institute of the USI Lugano, Switzerland where he leads the Architecture, Design and Web Information Systems Engineering group. The group develops and operates the BPMN Sketch Miner. He is the program chair of ICWE2020 and currently looking for PhD students to work on Microservice API Analytics. For more information, please visit www.pautasso.info.
Host: Prof. Dr. Mathias Weske