Flow: a microservice architecture for achieving confidence in the compatibility of deployed microservices
Name
Talkar-atalkar-meng-eecs-2021-thesis.pdf
Description
Thesis PDF
Size
667.53 KB
Format
Adobe PDF
Checksum (MD5)
5b16c8c6d110f049a8bbc9ad6d8332c5
Author(s)
Talkar, Arman
Advisor(s)
Jackson, Daniel
Ryabin, Aleks
Date Issued
June 2021
Publisher
Massachusetts Institute of Technology
Abstract
When developing a Software-as-a-Service (SaaS) product using a microservices architecture, there often exists a conflict between product stability, by virtue of testing, and agility/throughput, by virtue of being able to deploy independently and quickly. This thesis presents Flow, a pattern for microservice development that bridges this tradeoff. Using semantic versioning, explicit specification, and development/deployment time tooling, Flow provides reasonable assurance that deployed microservices will be compatible with one another without the need for time-consuming, comprehensive end-to-end tests. When combined with integration testing, Flow provides assurance of both the compatibility and functionality of deployed microservices. Flow’s key advantage over existing solutions is its extremely fast feedback loop that provides developers with compatibility information at compile-time, allowing development to be compatibility-aware. Flow is demonstrated using a visual model, a standalone artifact that simulates the state and enforcement rules that comprise the pattern. The model serves as a blueprint for the full-fledged tooling that would enforce the pattern in a production environment.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright MIT
Persistent DSpace Link