{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/138976"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/138976","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Flow: a microservice architecture for achieving confidence in the compatibility of deployed microservices","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.","abstract_html":"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.","abstract_has_math":false,"creators":["Talkar, Arman"],"institution":"Massachusetts Institute of Technology","degree_name":"Master","degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science","school":null,"contributors":[],"advisors":["Jackson, Daniel","Ryabin, Aleks"],"committee_chairs":[],"committee_members":[],"year":2021,"date_issued":"2021-06","date_published":"2021-06","updated_at":"2026-07-22T22:22:13Z","subjects":[],"languages":[],"rights":["In Copyright - Educational Use Permitted","Copyright MIT"],"rights_urls":["http://rightsstatements.org/page/InC-EDU/1.0/"],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1721.1/138976","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Jackson, Daniel","Ryabin, Aleks"]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"]},{"key":"dc:creator","label":"Author","values":["Talkar, Arman"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2022-01-14T14:42:15Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2022-01-14T14:42:15Z"]},{"key":"dc:date.issued","label":"Date","values":["2021-06"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master","Master of Engineering in Electrical Engineering and Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:rights","label":"Dc Rights","values":["In Copyright - Educational Use Permitted","Copyright MIT"]},{"key":"dc:rights.uri","label":"Rights URI","values":["http://rightsstatements.org/page/InC-EDU/1.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1721.1/138976"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["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."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["Flow: a microservice architecture for achieving confidence in the compatibility of deployed microservices"]}]}],"canonical_facts":{"dc:contributor.advisor":["Jackson, Daniel","Ryabin, Aleks"],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"],"dc:creator":["Talkar, Arman"],"dc:date.accessioned":["2022-01-14T14:42:15Z"],"dc:date.available":["2022-01-14T14:42:15Z"],"dc:date.issued":["2021-06"],"dc:description.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."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["https://hdl.handle.net/1721.1/138976"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["In Copyright - Educational Use Permitted","Copyright MIT"],"dc:rights.uri":["http://rightsstatements.org/page/InC-EDU/1.0/"],"dc:title":["Flow: a microservice architecture for achieving confidence in the compatibility of deployed microservices"],"dc:type":["Thesis"],"thesis:degree_name":["Master","Master of Engineering in Electrical Engineering and Computer Science"]},"updated_at":"2026-07-22T22:22:13Z"}