Consistent Updates for Scalable Microservices
Devora Chait-Roth, Kedar S. Namjoshi, Thomas Wies

TL;DR
This paper introduces a formal framework and algorithms to enable consistent, atomic updates in scalable microservice architectures, addressing the challenge of avoiding inconsistencies during live service modifications.
Contribution
It develops the first algorithms guaranteeing update consistency in microservices by leveraging semantic properties like commutativity, advancing the theory of live service updates.
Findings
Algorithms guarantee update consistency during live updates.
Semantic properties like commutativity are essential for consistency.
Any oblivious update method risks inconsistencies.
Abstract
Online services are commonly implemented with a scalable microservice architecture, where isomorphic workers process client requests, recording persistent state in a backend data store. To maintain service, modifications to service functionality must be made on the fly -- i.e., as the service continues to process client requests -- but doing so is challenging. The central difficulty is that of avoiding inconsistencies from mixed-mode operation, caused by workers of current and new versions interacting via the data store. Some update methods avoid mixed-mode altogether, but only at the cost of substantial inefficiency -- by doubling resources (memory and compute), or by halving throughput. The alternative is an uncontrolled ``rolling'' update, which runs the risk of serious service failures arising from inconsistent mixed-mode behavior. Ideally, it should appear to every client that a…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
