The Data Management of a Microservices Migration of Embedded Software - Strategies and Challenges in Migrating Embedded Software to Microservices Architecture
Ladda ner
Publicerad
Författare
Typ
Examensarbete för masterexamen
Master's Thesis
Master's Thesis
Modellbyggare
Tidskriftstitel
ISSN
Volymtitel
Utgivare
Sammanfattning
Technology advances at a rapid pace and migrating from traditional embedded systems
to a microservices architecture (MSA) has become essential for organizations
aiming to enhance scalability, maintainability, and operational efficiency. This thesis
investigates the data management challenges associated with such a migration
and explores effective strategies to address these challenges. The effectiveness of the
strategies are assessed by the tradeoff between latency, time to recover and the implementation
complexity. Through a mixed-methods approach, including a systematic
mapping study, semi-structured interviews, and proof-of-concept implementations,
we identify key challenges such as handling statefulness, ensuring data consistency,
managing data synchronization, data splitting and data denormalization.
Our findings highlight the importance of prototyping and iterative testing, revealing
that strategies like Database per Service, Private Tables per Service, Schema per
Service, Stateful Messaging Pattern, and State Repository Pattern can effectively
address the data management challenges of an MSA migration, though their suitability
depends on the system’s unique constraints. We also emphasize the need for
robust data synchronization mechanisms and found the Saga and CQRS patterns
as potential solutions.
The research highlights the importance of a flexible, iterative approach to migration,
allowing for the gradual transition of the system and alignment with customer
demands. By implementing intermediate designs, organizations can manage the
complexities of migration more effectively, ensuring a smoother process and achieving
a scalable, maintainable system architecture.
Overall, this thesis provides valuable insights and practical recommendations for
organizations undertaking the migration of embedded systems to microservices, contributing
to the broader field of software engineering and system architecture.
Beskrivning
Ämne/nyckelord
Microservices Architecture, Embedded Systems, Data Management, Cloud Migration, Stateless, Strategies, Challenges, Prototyping, Scalability