Containerized Microservices: Structures and Dynamics

Containerized Microservices: Structures and Dynamics

Gang XueJing Liu Liwen Wu 

School of Software, Yunnan University, Kunming, China

Corresponding Author Email: 
mess@ynu.edu.cn
Page: 
1-10
|
DOI: 
https://doi.org/10.18280/ama_a.550101
Received: 
16 November 2017
| |
Accepted: 
16 April 2018
| | Citation

OPEN ACCESS

Abstract: 

Microservice architecture (MSA) is a new kind of service-oriented architecture. The architecture requires that system components are implemented in the form of microservices. Microservices are message-driven services with small size, and they can be independently developed and automatically deployed. Microservices can be built and released in software containers, since a software container can provide an isolated and portable environment for executing programs. This paper observes structures and functions of containerized microservices from a formal point of view. A framework of categories is adopted for modelling structures and dynamics of containerized microservices. Some issues, which include interoperation, registration and accessing of microservices, are discussed in this paper, and relevant models are formed under the help of the category-based tools. The established models show that the adopted framework can be applied in modelling microservice-oriented applications, and it is able to bring functional and structural features of applications closer together.

Keywords: 

microservices modelling, the category of mode-dependent networks, containerized microservices, microservice architecture

1. Introduction
2. Preliminaries
3. Structural Models of Containerized Microservices
4. Dynamics of Microservices
5. A Brief Discussion About Application Implementations
6. Conclusions
Acknowledgement

This work is supported by the Open Foundation of Key Laboratory in Software Engineering of Yunnan Province under Grant No. 2015SE101.

  References

[1] Nadareishvili I, Mitra R, McLarty M, Amundsen M. (2016). Microservice Architecture: Aligning Principles, Practices, and Culture, O'Reilly Media. 

[2] Bui T. (2016). Analysis of docker security, eprint arxiv: 1501.02967, https://arxiv.org/abs/1501.02967, accessed on 8 Nov 2017.

[3] Balalaie A, Heydarnoori A, Jamshidi P. (2016). Microservices architecture enables devops: an experience report on migration to a cloud-native architecture. IEEE Software 33(3): 42-52.

[4] Toffetti G, Brunner S, Blöchlinger M. et al. (2015). An architecture for self-managing microservices, In Proceedings of the 1st International Workshop on Automated Incident Management in Cloud (AIMC '15), Bordeaux, France, pp. 19-24.

[5] Vresk T, Cavrak I. (2016). Architecture of an interoperable IoT platform based on microservices, In Proceedings of the 39th International Convention on Information and Communication Technology Electronics and Microelectronics (MIPRO 2016), pp. 1196-1201.

[6] Namiot D, Sneps-Sneppe M. (2014). On micro-services architecture, International Journal of Open Information Technologies 2(9): 24-27.

[7] Dragoni N, Giallorenzo S, Lafuente AL, et al. (2016). Microservices: yesterday, today, and tomorrow, eprint arxiv: 1606.04036, https://arxiv.org/abs/1606.04036, accessed on Nov. 8, 2017.

[8] Spivak DI, Tan JZ. (2015). Nesting of dynamical systems and mode-dependent networks, eprint arxiv: 1502.07380, https://arxiv.org/abs/1502.07380, Nov. 8, 2017.

[9] Spivak DI. (2014). Category Theories for Sciences, 1st edition, The MIT Press. 

[10] Newman S. (2015). Building Microservices, O’Reilly Media.

[11] Lewis J, Fowler M. (2014). Microservices, http:// martinfowler.com/articles/microservices.html, accesed on Nov. 8, 2017.

[12] Montesi F, Weber J. (2016). Circuit Breakers, Discovery, and API gateways in microservices, eprint arxiv: 1609.05830, https://arxiv.org/abs/1609.05830, Nov. 8, 2017.

[13] Spivak DI. (2013). The operad of wiring diagrams: Formalizing a graphical language for databases, recursion, and plug-and-play circuits, eprint arxiv: 1305.0297, https://arxiv.org/abs/1305.0297, accessed on Nov. 8, 2017.

[14] Rupel D, Spivak DI. (2013). The operad of temporal wiring diagrams: formalizing a graphical language for discrete-time processes, eprint arxiv: 1307.6894, https://arxiv.org/abs/1307.6894, accessed on Nov. 8, 2017.

[15] Vagner D, Spivak DI, Lerman E. (2015). Algebras of open dynamical systems on the operad of wiring diagrams, eprint arxiv: 1408.1598, https://arxiv.org/abs/1408.1598, accessed on Nov. 8, 2017.

[16] Soltesz S, Pötzl H, Fiuczynski ME, et al. (2007). Container-based operating system virtualization: A scalable, high-performance alternative to hypervisors, In Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007 (EuroSys '07), Lisbon, Portugal, pp. 275-287.

[17] Lawvere FW, Schanuel SH. (2009). Conceptual Mathematics: A First Introduction to Categories, 2nd edition, Cambridge University Press.

[18] Ouyang C, Verbeek E, Van Der Aalst WMP, et al. (2007). Formal semantics and analysis of control flow in WS-BPEL, Science of Computer Programming 67: 162-198.

[19] Roman D, Keller U, Lausen H, et al. (2005). Web service modeling ontology, Applied Ontology 1(1): 77–106.

[20] Skogan D, Grønmo R, Solheim I. (2004). Web service composition in UML, In Proceedings of Enterprise Distributed Object Computing Conference, pp. 47-57.

[21] OASIS standard, Web Services Business Process Execution Language (WS-BPEL), https://docs.oasis-open.org/wsbpel/2.0/plnktype