Microservices: Migration of a Mission Critical System

An increasing interest is growing around the idea of microservices and the promise of improving scalability when compared to monolithic systems. Several companies are evaluating pros and cons of a complex migration. In particular, financial institutions are positioned in a difficult situation due to the economic climate and the appearance of agile competitors that can navigate in a more flexible legal framework and started their business since day one with more agile architectures and without being bounded to outdated technological standard. In this paper, we present a real world case study in order to demonstrate how scalability is positively affected by re-implementing a monolithic architecture (MA) into a microservices architecture (MSA). The case study is based on the FX Core system, a mission critical system of Danske Bank, the largest bank in Denmark and one of the leading financial institutions in Northern Europe. The technical problem that has been addressed and solved in this paper is the identification of a repeatable migration process that can be used to convert a real world Monolithic architecture into a Microservices architecture in the specific setting of financial domain, typically characterized by legacy systems and batch-based processing on heterogeneous data sources.

[1]  Pooyan Jamshidi,et al.  Migrating to Cloud-Native Architectures Using Microservices: An Experience Report , 2015, ESOCC Workshops.

[2]  Evans,et al.  Domain-driven design , 2003 .

[3]  Fabrizio Montesi,et al.  Data-Driven Workflows for Microservices: Genericity in Jolie , 2015, 2016 IEEE 30th International Conference on Advanced Information Networking and Applications (AINA).

[4]  Antonio Bucchiarone,et al.  Domain Objects and Microservices for Systems Development: a roadmap , 2016, SEDA.

[5]  Gianluigi Zavattaro,et al.  Service-Oriented Programming with Jolie , 2014, Web Services Foundations.

[6]  Claus Pahl,et al.  Processes, Motivations, and Issues for Migrating to Microservices Architectures: An Empirical Investigation , 2017, IEEE Cloud Computing.

[7]  Patricia Lago,et al.  Migrating Towards Microservice Architectures: An Industrial Survey , 2018, 2018 IEEE International Conference on Software Architecture (ICSA).

[8]  Ivan Lanese,et al.  Microservices: A Language-Based Approach , 2017, Present and Ulterior Software Engineering.

[9]  Schahram Dustdar,et al.  Towards recovering the broken SOA triangle: a software engineering perspective , 2007, IW-SOSWE '07.

[10]  Colin J. Fidge,et al.  Migrating Enterprise Legacy Source Code to Microservices: On Multitenancy, Statefulness, and Data Consistency , 2018, IEEE Software.

[11]  Theo Lynn,et al.  Microservices migration patterns , 2018, Softw. Pract. Exp..

[12]  Manuel Mazzara,et al.  Towards Abstractions for Web Services Composition , 2006 .

[13]  Eric A. Brewer,et al.  Pushing the CAP: Strategies for Consistency and Availability , 2012, Computer.

[14]  Alberto Sillitti,et al.  Teaching DevOps in Corporate Environments: An experience report , 2018, DEVOPS.

[15]  Fabrizio Montesi,et al.  Microservices: Yesterday, Today, and Tomorrow , 2017, Present and Ulterior Software Engineering.

[16]  Pooyan Jamshidi,et al.  Microservices Architecture Enables DevOps: Migration to a Cloud-Native Architecture , 2016, IEEE Software.

[17]  Francis G. McCabe,et al.  Reference Model for Service Oriented Architecture 1.0 , 2006 .

[18]  Wilhelm Hasselbring,et al.  Using Microservices for Legacy Software Modernization , 2018, IEEE Software.

[19]  Ivan Lanese,et al.  Microservices: How To Make Your Application Scale , 2017, Ershov Informatics Conference.

[20]  Daniel Lucrédio,et al.  RiSE project: towards a robust framework for software reuse , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[21]  E. Brewer,et al.  CAP twelve years later: How the "rules" have changed , 2012, Computer.

[22]  Fabio Massacci,et al.  A self-protecting and self-healing framework for negotiating services and trust in autonomic communication systems , 2009, Comput. Networks.

[23]  Ricardo Terra,et al.  Towards a Technique for Extracting Microservices from Monolithic Enterprise Systems , 2016, ArXiv.

[24]  Coen de Groot,et al.  Don’t repeat yourself , 2020 .

[25]  Antonio Bucchiarone,et al.  Incremental Composition for Adaptive By-Design Service Based Systems , 2016, 2016 IEEE International Conference on Web Services (ICWS).

[26]  Zhixian Yan,et al.  Business Process Modeling: Classifications and Perspectives , 2007, BPSC.