Microservices migration patterns

Software - Practice and Experience - Tập 48 Số 11 - Trang 2019-2042 - 2018
Armin Balalaie1, Abbas Heydarnoori2,3,1,4, Pooyan Jamshidi5, Damian A. Tamburri6, Theo Lynn7
1Department of Computer Engineering, Sharif University of Technology, Tehran, Iran
2A. Balalaie is currently a PhD Student in the Department of Informatics at the University of California, Irvine.
3Abbas Heydarnoori, Sharif University of Technology, Department of Computer Engineering, Azadi Avenue, Tehran 11365-11155, Iran.
4Present address.
5Computer Science and Engineering Department, University of South Carolina, Columbia, South Carolina, USA
6Department of Electronics, Information Bioengineering (DEIB), Politecnico di Milano, Milan, Italy
7Irish Center for Cloud Computing and Commerce (IC4) Dublin Ireland

Tóm tắt

SummaryMicroservices architectures are becoming the defacto standard for building continuously deployed systems. At the same time, there is a substantial growth in the demand for migrating on‐premise legacy applications to the cloud. In this context, organizations tend to migrate their traditional architectures into cloud‐native architectures using microservices. This article reports a set of migration and rearchitecting design patterns that we have empirically identified and collected from industrial‐scale software migration projects. These migration patterns can help information technology organizations plan their migration projects toward microservices more efficiently and effectively. In addition, the proposed patterns facilitate the definition of migration plans by pattern composition. Qualitative empirical research is used to evaluate the validity of the proposed patterns. Our findings suggest that the proposed patterns are evident in other architectural refactoring and migration projects and strong candidates for effective patterns in system migrations.

Từ khóa


Tài liệu tham khảo

10.1016/j.jss.2017.01.001

FowlerM LewisJ.Microservices.http://martinfowler.com/articles/microservices.html;2014. Accessed September 15 2017.

BalalaieA HeydarnooriA JamshidiP.Migrating to cloud‐native architectures using microservices: an experience report. Paper presented at: Advances in Service‐Oriented and Cloud Computing. Workshops of ESOCC 2015;2015;Taormina Italy.

10.1109/MS.2016.64

10.1109/TCC.2013.10

10.1109/MS.2017.24

10.1007/978-3-642-41467-1

10.1007/s10270-011-0222-z

JamshidiP PahlC ChinenyezeS LiuX.Cloud migration patterns: a multi‐cloud architectural perspective. Paper presented at: 10th International Workshop on Service‐Oriented Computing (ICSOC 2014);2014;Paris France.

10.12694/scpe.v15i2.980

10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.0.CO;2-N

10.1002/spe.496

10.1002/spe.366

10.1002/spe.4380220205

Henderson‐SellersB Gonzalez‐PerezC RalytéJ.Comparison of method chunks and method fragments for situational method engineering. Paper presented at: 19th Australian Conference on Software Engineering;2008;Perth Australia.

10.1007/s00766-005-0019-0

PratN.Goal formalisation and classification for requirements engineering. In: Proceedings of the 3rd International Workshop on Requirements Engineering: Foundations of Software Quality;1997;Barcelona Spain.

Humble J, 2010, Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation

Evans E, 2004, Domain‐Driven Design: Tackling Complexity in the Heart of Software

Nygard MT, 2007, Release It! Design and Deploy Production‐Ready Software

Hammersley M, 2003, Ethnography

Yin RK, 1994, Case Study Research: Design and Methods

10.1007/BF00988593

10.1177/1049732305276687

Krippendorff K, 2004, Content Analysis: An Introduction to Its Methodology

Kaid LL, 1989, Measurement of Communication Behavior, 197

ProperE GaaloulK HarmsenF WryczaS.Practice‐driven research on enterprise transformation. In: Proceedings of the 4th Working Conference (PRET 2012);2012;Gdańsk Poland.

PahlC JamshidiP.Microservices: a systematic mapping study. In: Proceedings of the 6th International Conference on Cloud Computing and Services Science (CLOSER 2016);2016;Rome Italy.

10.1002/spe.2442

Bass L, 2015, DevOps: A Software Architect's Perspective

Newman S, 2015, Building Microservices: Designing Fine‐Grained Systems

Krause L, 2015, Microservices: Patterns and Applications: Designing Fine‐Grained Services by Applying Patterns