Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Migrating towards Microservice Architectures: an Industrial Survey

95 views

Published on

2nd of May 2018. My presentation done at the 16th International Conference on Software Architecture (ICSA), Seattle, USA.

Microservices are gaining tremendous traction in industry and a growing scientific interest in academia. More and more companies are adopting this architectural style for modernizing their products and taking advantage of its promised benefits (e.g., agility, scalability). Unfortunately, the process of moving towards a microservice-based architecture is anything but easy, as there are plenty of challenges to address from both technical and organizational perspectives.
In this paper we report about an empirical study on migration practices towards the adoption of microservices in industry. Specifically, we designed and conducted a survey targeting practitioners involved in the process of migrating their applications and we collected information (by means of interviews and questionnaires) on (i) the performed activities, and (ii) the challenges faced during the migration. Our findings benefit both (i) researchers by highlighting future directions for industryrelevant problems and (ii) practitioners by providing a reference framework for their (future) migrations towards microservices.


Accompanying paper: http://www.ivanomalavolta.com/files/papers/ICSA_2018.pdf

Published in: Technology
  • Be the first to comment

Migrating towards Microservice Architectures: an Industrial Survey

  1. 1. Migrating towards Microservice Architectures: an Industrial Survey *paolo.difrancesco@gssi.it ‡{p.lago, i.malavolta}@vu.nl Paolo Di Francesco*, Patricia Lago‡, Ivano Malavolta‡
  2. 2. 2Di Francesco, Lago, Malavolta Paolo Di Francesco Microservice architectures MSA is an architectural style inspired by service-oriented computing • Small services • Running in own process • Lightweight communication Introduction
  3. 3. 3Di Francesco, Lago, Malavolta Paolo Di Francesco Adopting Microservices Problem: Over time legacy systems grow and become complex • Hard to maintain, high coupling, … • Long time to release feature, low developers’ productivity, … What if we consider migrating to MSA? • Where to begin? • What do we need? • What are the challenges? • What the management will say? • …. Introduction Microservices • Scalability • Agility • Maintainability • Independent releases http://www.brsolutions.com/addressing-business-complexity/
  4. 4. 4Di Francesco, Lago, Malavolta Paolo Di Francesco Industrial Survey Goal: Characterize the activities and the challenges faced by industrial practitioners when migrating towards MSA Introduction 5 13 #Responses Interviews Questionnaires 18
  5. 5. 5Di Francesco, Lago, Malavolta Paolo Di Francesco Migrating to Microservices We framed the migration process in the Horseshoe Model1 Introduction ReverseEngineering ForwardEngineering Architecture Transformation 1 R. Kazman et al. Requirements for integrating software architecture and reengineering models: CORUM II Pre-existing System Microservice Architecture Pre-existing Architecture New System
  6. 6. 6Di Francesco, Lago, Malavolta Paolo Di Francesco Demographic • Roles: architects, CTOs, developers, DevOps engineer, industrial researcher, VP engineer • Monoliths: 17 • Web-based: 13 Results Min Max Avg Experience 5 33 15 Microservices 5 250 59 Duration 9 60 28 Teams* 1 20 6.7 Teams** 1 30 8 People per team* 4 20 8.3 People per team** 2 12 6.5 * Before the migration ** After the migration
  7. 7. 7Di Francesco, Lago, Malavolta Paolo Di Francesco Migration Activities Migration starts with • New functionalities as MS (10/18) • Existing functionalities as MS (9/18) Microservice adoption • Phased adoption (14/18) Finding: • Migration process • Organized in small increments • May not have a defined-upfront end-point Results “There is no reengineering project or something that is as a single goal of rebuilding the system, we are doing that as part of our daily work.”
  8. 8. 8Di Francesco, Lago, Malavolta Paolo Di Francesco Migration Activities New features are added during the migration (17/18) Finding: • Agility is a relevant aspect when migrating towards MSA Results “It was like an upgrade of the system, not only a migration. [..] We ended up with an architecture that had better similarities to the actual business.”
  9. 9. 9Di Francesco, Lago, Malavolta Paolo Di Francesco Migration Activities Pre-existing data is mostly kept ‘as is’ (11/18) Finding: • Data is not being migrated • May hinder • Scalability • Isolation Results Hide Implementation Details Data Decentralization https://www.martinfowler.com/articles/microservices.html#DecentralizedDataManagement
  10. 10. 10Di Francesco, Lago, Malavolta Paolo Di Francesco Migration Activities Challenges in architecture transformation • High coupling (9/18) • Services boundaries identification (7/18) • System decomposition (6/18) Results Architecture recovery tools?
  11. 11. 11Di Francesco, Lago, Malavolta Paolo Di Francesco Action Points Practitioners 1. Share your success stories • To kickstart a MSA • To reuse solutions 2. Check business-IT alignment 3. Monitor the development effort and migrate when it grows too much Researchers 1. Address how to migrate pre-existing data to microservices Action Points
  12. 12. 12Di Francesco, Lago, Malavolta Paolo Di Francesco Conclusions http://www.s2group.cs.vu.nl/icsa-2018-replication-package Conclusions

×