Microservice-based architectures: An evolutionary software development model

4Citations
Citations of this article
18Readers
Mendeley users who have this article in their library.

Abstract

Microservices have recently emerged as an architectural style that gained widespread popularity in industries. Not long time ago, software applications were designed monolith-ically, that is all components were woven together as one single executable artifact unit sharing the resources of the same machine. In this paper, we look at microservice architectures through evolutionary lenses as it does not capture the essence of a new software movement. Microservices offer a new trend in software architecture and deliver a set of benefits and best practices. However, this is by no means without their own share of challenges and problems that are self-inflicted or inherited from its predecessors (i.e., component-based software architecture (CBSA), service-oriented architecture, (SOA), and service-oriented computing (SOC). The evolution of these different paradigms and their gradual interweaving have fostered the development of microservices afterwards. We introduce two finite state-based formalisms called, monitoring microservice automata (MMA) and container microservice automata (CMA). The former is a powerful and parallel formalism to model microservices’ infrastructures, including monitoring microservices’ functionalities, resource usage, compositions, and interface operations. The later models each microservice functionality independently as an automaton that accounts for local behavior that contains a microservice and its code. Such as code is required to run within an isolated environment and a system which is fully supported by MMA. As another phase of the evolution of agile software development, microservice architectures have made their footprints in several industries such as Amazon, Twiter, PayPal, LinkedIn, Netflix, and SoundCloud.

Cite

CITATION STYLE

APA

Fellah, A., & Bandi, A. (2021). Microservice-based architectures: An evolutionary software development model. In EPiC Series in Computing (Vol. 75, pp. 41–48). EasyChair. https://doi.org/10.29007/1gx5

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free