Data Consistency in Distributed Systems: Pipedrive Case Study

Name
Frozan Maqsoodi
Abstract
This work studies the two most common application architectures; monolithic and micro-services. Choosing one or another architecture can be more helpful during a certain stage of business and application development. When the development team is small and business scope is low, monolith architecture is more suitable. And as a company grows, a monolithic architecture can become a bottleneck in the development process thus limiting the size and growth of a business. With the help of Pipedrive’s journey from a monolithic to a micro-service architecture, this work reflects how scaling an application can compromise data con-sistency and switching to microservices can easily lead to complex and redundant flows.
This thesis reflects what are the different consistency models that can provide consistency at the right level and how are they implemented in real-world applications such as Pipedrive.
Graduation Thesis language
English
Graduation Thesis type
Master - Computer Science
Supervisor(s)
Arnis Paršovs, Hans Mäesalu, Rain Saarmäe
Defence year
2020
 
PDF