A Systematic Study of Micro Service Architecture Evolution and their Deployment Patterns

With the advent of Local Area Networks (LAN), the client server architecture gained traction. The ever-growing need for the distributed systems have paved the path for client server architecture to transform in to Service Oriented Architecture (SOA). Due to the reusable and loosely coupled nature of the services, SOA became a successful representation of client server architecture. However, over time SOA fell short of expectations, as it was fully reliant on monolithic system design. Achieving horizontal scalability, faster response times, high availability, infrastructure agility, service and resource isolation was a challenge in SOA frameworks. Micro service architecture (MSA) soon came to the rescue. It offered various solutions to overcome most of the shortfalls of the traditional monolithic SOA architecture. But at the same time, MSA comes with its own set of challenges due to the complex distributed design. Among various design complexities involved in MSA, creating, managing and deploying microservices in a clustered production grade environment is a major challenge. A micro service can be deployed to run on a virtual machine (VM) or on a container which itself runs on a VM. The VM can be in the data center or in the public cloud. The containers can be self-managed or orchestrated. The orchestration can be done by the cloud provider or a third-party software. This research paper illustrates (1) the journey of architectural design patterns from SOA to MSA, by citing the related work and the reasons for evolution. (2) various deployment models available for MSA (3) comparison of the deployment models and a quantitative analysis of the use cases. General Terms Micro service architecture, Micro service deployment patterns, SOA, containerization, containers, orchestration.

[1]  Riccardo Rizzo,et al.  The Database-is-the-Service Pattern for Microservice Architectures , 2016, ITBAM.

[2]  Gábor Terstyánszky,et al.  MiCADO - Towards a Microservice-based Cloud Application-level Dynamic Orchestrator , 2016, IWSG.

[3]  Robert A. Fleck,et al.  Client/server infrastructure: a case study in planning and conversion , 1997 .

[4]  Sam Newman,et al.  Building Microservices , 2015 .

[5]  Yousof Al-Hammadi,et al.  The evolution of distributed systems towards microservices architecture , 2016, 2016 11th International Conference for Internet Technology and Secured Transactions (ICITST).

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

[7]  Chaitanya K. Rudrabhatla Comparison of Event Choreography and Orchestration Techniques in Microservice Architecture , 2018 .

[8]  Samuel Sambasivam,et al.  Redesign of Stand-Alone Applications into Thin-Client/server Architecture , 2005 .

[9]  Horst Lichter,et al.  Experience on a Microservice-Based Reference Architecture for Measurement Systems , 2014, 2014 21st Asia-Pacific Software Engineering Conference.

[10]  Udo Bub,et al.  Benefits of SOA: Evaluation of an implemented scenario against alternative architectures , 2009, 2009 13th Enterprise Distributed Object Computing Conference Workshops.

[11]  Christina Delimitrou,et al.  Paragon: QoS-aware scheduling for heterogeneous datacenters , 2013, ASPLOS '13.

[12]  Christina Delimitrou,et al.  The Architectural Implications of Cloud Microservices , 2018, IEEE Computer Architecture Letters.

[13]  Faith-Michael E. Uzoka,et al.  Neuro-Fuzzy Expert System for evaluating the performance of Distributed Software System Architecture , 2013, Expert Syst. Appl..

[14]  Michael Le,et al.  Container and Microservice Driven Design for Cloud Infrastructure DevOps , 2016, 2016 IEEE International Conference on Cloud Engineering (IC2E).

[15]  Dmitry Namiot,et al.  On micro-services architecture , 2014 .

[16]  Guangwei Bai,et al.  Application deployment using Microservice and Docker containers: Framework and optimization , 2018, J. Netw. Comput. Appl..

[17]  Baoan Li Research and Application of SOA Standards in the Integration on Web Services , 2010, 2010 Second International Workshop on Education Technology and Computer Science.

[18]  Daniel Hagimont,et al.  Evaluation of the Mobile Agents Technology: Comparison with the Client/Server Paradigm , 1999 .

[19]  Mazedur Rahman,et al.  A Reusable Automated Acceptance Testing Architecture for Microservices in Behavior-Driven Development , 2015, 2015 IEEE Symposium on Service-Oriented System Engineering.