A multi-agent approach to monitor and manage container-based distributed systems

Authors

Keywords:

container-based applications , monitoring , multi-agent , learning techniques , distributed systems

Abstract

The software architectures' evolution over the years has brought new challenges for the software development area. New architectural styles have emerged, such as microservice architecture and container-based distributed systems. In this sense, it can be said that service monitoring systems can be considered as an important element, since they can observe and verify the quality and progress of an application over a period of time. Automated solutions based on pre-defined intervals can result in unnecessary use of resources to identify any type of anomalies (e.g., failure or Quality of Service degradation). Considering this scenario, a multi-agent approach to monitor container-based distributed systems is proposed in this article. Such approach autonomously and dynamically decides the monitoring frequency of a container, optimizing the identification of anomalies. To evaluate the applicability of our approach, we conducted a case study on an application to manage a smart restaurant named App2SmartRest. The results reported in this article enable us to create a favorable scenario for our approach to contribute efficiently with different software development communities.

Downloads

Download data is not yet available.

Author Biographies

Vinicius Pfeifer, São Paulo State University - Unesp

Graduated in Computer Science from São Paulo State University (Unesp). He is a Master's student in the Postgraduate Program in Computer Science at Universidade Estadual Paulista (PPGCC/Unesp). He has been a software architect at CI&T since 2016. He has experience in Computer Science with an emphasis on Software Engineering in the following areas: Software Architecture, Service-Based Systems, Microservices Architecture, and Web Development.

William Filisbino Passini, São Paulo State University - Unesp

Graduated in Computer Science from São Paulo State University (Unesp). He received a master's degree in Computer Science from São Paulo State University (Unesp) in 2020. He has been working as a software developer at Amdocs since 2021. He has experience in Computer Science with an emphasis on Software Engineering in the following areas: Frameworks, Service-Based Systems, Microservices, Self-Adaptive Software Systems, Mobile Computing, Semantic Web, and Web Development.

William Fernandes Dorante, São Paulo State University - Unesp

He is majoring in Computer Science at São Paulo State University (Unesp). He has experience in Computer Science with an emphasis on Software Engineering in the following areas: Service-Based Systems, and Web Development.

Ivan Rizzo Guilherme, São Paulo State University - Unesp

Graduated in Computer Science from the Federal University of São Carlos (1985). He received his PhD in 1996 from the State University of Campinas (Unicamp). Professor in Artificial Intelligence Applied to the Oil Industry at São Paulo State University (Unesp). He held a postdoctoral internship in 2012 at the University of Lisbon, Portugal. He is currently an Adjunct Professor at São Paulo State University. Professor of the Master's Program in Computer Science at UNESP. He coordinates the Artificial Intelligence Laboratory of UNESP (Rio Claro) and the Laboratory of Artificial Intelligence Applied to Petroleum (LIAAP), where he develops research projects in the Petroleum area.

Frank José Affonso, Universidade Estadual Paulista - Unesp

Graduated in Computer Science. He received his PhD in 2009 from the University of São Paulo (USP). He held a postdoctoral degree in 2013–2014 at USP. He is currently an assistant professor at the São Paulo State University (Unesp), Rio Claro/SP, Brazil. He has experience in Computer Science with an emphasis on Software Engineering in the following areas: Reference Architecture, Service-Based Systems, Mobile Computing, and Self-Adaptive Software Systems. He advises Master's students at PPGCC/Unesp. He has actuated as a member of program committees at many conferences and as a reviewer for several journals. He is the institutional representative of the SBC (Brazilian Computer Society) in Rio Claro.

References

M. Fowler, Patterns of Enterprise Application Architecture. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 2002.

L. Bass, P. Clements, e R. Kazman, Software Architecture in Practice, 3rd ed. Boston, USA: Addison-Wesley Professional, 2012.

M. Vargas Santiago, S. E. Pomares Hernandez, L. A. Morales Rosales, e H. Hadj Kacem, “Fault tolerance approach based on checkpointing towards dependable business processes,” IEEE Latin America Transactions, vol. 14, no. 3, pp. 1408–1415, 2016. IEEE LATIN AMERICA TRANSACTIONS, VOL. XX, NO. YY, FEBRUARY 2021 9

M. Vargas-Santiago, L. Morales-Rosales, S. Pomares-Hernández, e K. Drira, “Autonomic web services enhanced by asynchronous checkpointing,” IEEE Access, vol. 6, pp. 5538–5547, 2018.

M. Vargas-Santiago, L. Morales-Rosales, R. Monroy, S. PomaresHernandez, e K. Drira, “Autonomic web services based on different adaptive quasi-asynchronous checkpointing techniques,” Applied Sciences, vol. 10, no. 7, 2020.

T. Erl, Service-Oriented Architecture: Analysis and Design for Services and Microservices, 2nd ed. Upper Saddle River, NJ, USA: Prentice Hall Press, 2016.

J. Lewis and M. Fowler, “Microservices, a definition of this new architectural term,” [On-line], 2021, disponível em: https://martinfowler.com/articles/microservices.html. Acessado em: 2 de Fevereiro de 2021.

J. S. Dominguez, A. Cerqueira Junior, D. S. Dominguez, D. Frias, e S. M. Iglesias, “Using a multi-agent system for monitoring indicators of quality of service in power distribution networks,” IEEE Latin America Transactions, vol. 13, no. 4, pp. 1048–1054, 2015.

L. M. O. F. Fontes, R. A. M. Valentim, F. M. Neto, e R. C. Souza, “A multi-agent architecture for monitoring tutoring activities in vles,” IEEE Latin America Transactions, vol. 14, no. 10, pp. 4327–4333, 2016.

D. Ye, Q. He, Y. Wang, e Y. Yang, “Detection of transmissible service failure in distributed service-based systems,” Journal of Parallel and Distributed Computing, vol. 119, pp. 36–49, 2018.

D. Ye, Q. He, Y. Wang, e Y. Yang, “An agent-based service adaptation approach in distributed multitenant service-based systems,” Journal of Parallel and Distributed Computing, vol. 122, pp. 11–25, 2018.

A. Ciuffoletti, “Automated deployment of a microservice-based monitoring infrastructure,” Procedia Computer Science, vol. 68, pp. 163–172, 2015.

M. Imdoukh, I. Ahmad, e M. G. Alfailakawi, “Machine learning-based auto-scaling for containerized applications,” Neural Computing and Applications, vol. 32, no. 13, pp. 9745–9760, Jul 2020. [Online]. Available: https://doi.org/10.1007/s00521-019-04507-z

Y. Jiang, N. Zhang, e Z. Ren, “Research on intelligent monitoring scheme for microservice application systems,” in 2020 International Conference on Intelligent Transportation, Big Data Smart City (ICITBS),

, pp. 791–794.

S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 3rd ed. USA: Prentice Hall Press, 2009.

I. Amazon Web Services, “Aws official website,” [On-line], 2021, disponível em: https://aws.amazon.com/pt/containers/. Acessado em: 2 de Fevereiro de 2021.

D. Inc., “Docker official website,” [On-line], 2021, disponível em: https://www.docker.com. Acessado em: 2 de Fevereiro de 2021.

J. Soldani, D. A. Tamburri, e W.-J. V. D. Heuvel, “The pains and gains of microservices: A systematic grey literature review,” Journal of Systems and Software, vol. 146, pp. 215–232, 2018.

C. Pahl, A. Brogi, J. Soldani, e P. Jamshidi, “Cloud container technologies: a state-of-the-art review,” IEEE Transactions on Cloud Computing, pp. 1–1, 2018.

M. S. Hamzehloui, S. Sahibuddin, e K. Salah, “A systematic mapping study on microservices,” in Recent Trends in Data Science and Soft Computing, F. Saeed, N. Gazem, F. Mohammed, e A. Busalim, Eds. Cham: Springer International Publishing, 2019, pp. 1079–1090.

X. Wan, X. Guan, T. Wang, G. Bai, e B.-Y. Choi, “Application deployment using microservice and docker containers: Framework and optimization,” Journal of Network and Computer Applications, vol. 119, pp. 97–109, 2018.

IBM, “An architectural blueprint for autonomic computing,” [On-line], 2005, disponível em: https://goo.gl/wawGvi, Acessado em: 2 de Fevereiro de 2021.

C. Richardson, Microservices Patterns With examples in Java, 1st ed. Manning Publications, October 2018.

O. Zimmermann, “Microservices tenets,” Computer Science - Research and Development, vol. 32, no. 3, pp. 301–310, Jul 2017.

R. S. Pressman, Engenharia de Software - Uma Abordagem Profissional. AMGH Editora, 2016, 8a Edição (15 de janeiro de 2016).

I. Sommerville, Engenharia de software. Pearson, 2019, 10a Edição (22 de abril de 2019).

W. F. Passini and F. J. Affonso, “A Framework to Support the Development of Self-adaptive Service-oriented Mobile Applications,” in The 30th International Conference on Software Engineering and Knowledge

Engineering, 2018, pp. 286–291.

W. F. Passini and F. J. Affonso, “Developing self-adaptive service-oriented mobile applications: A framework based on dynamic deployment,” International Journal of Software Engineering and Knowledge Engineering, vol. 28, no. 11n12, pp. 1537–1558, 2018.

F. J. Affonso, W. F. Passini, e E. Y. Nakagawa, “A reference architecture to support the development of mobile applications based on self-adaptive services,” Pervasive and Mobile Computing, vol. 53, pp. 33–48, 2019.

Z. Dehghani, “How to break a monolith into microservices,” [On-line], 2018, disponível em: https://martinfowler.com/articles/break-monolith-into-microservices.html. Acessado em: 2 de Fevereiro de 2021.

Oracle, “Oracle java,” [On-line], 2021, disponível em: https://www.oracle.com/br/java. Acessado em: 2 de Fevereiro de 2021.

Oracle Corporation, “Site do banco de dados mysql - Área do desenvolvedor,” [On-line], 2021, disponível em: https://dev.mysql.com/. Acessado em: 2 de Fevereiro de 2021.

I. MongoDB, “Site do banco de dados mongodb,” [On-line], 2021, disponível em: https://www.mongodb.com. Acessado em: 2 de Fevereiro de 2021.

Microsoft, “.net. free. cross-platform. open source.” [On-line], 2021, disponível em: https://dotnet.microsoft.com. Acessado em: 2 de Fevereiro de 2021.

Elasticsearch, “Site oficial do elasticsearch,” [On-line], 2021, disponível em: https://www.elastic.co. Acessado em: 2 de Fevereiro de 2021.

JaCaMo, “Site oficial do projeto jacamo,” [On-line], 2021, disponível em: http://jacamo.sourceforge.net. Acessado em: 2 de Fevereiro de 2021.

Jason, “Site oficial do jason,” [On-line], 2021, disponível em: http://jason.sourceforge.net/wp/. Acessado em: 2 de Fevereiro de 2021.

Cartago, “Site oficial do cartago,” [On-line], 2021, disponível em: http://cartago.sourceforge.net/. Acessado em: 2 de Fevereiro de 2021.

Moise, “Site oficial do moise,” [On-line], 2021, disponível em: http://moise.sourceforge.net/. Acessado em: 2 de Fevereiro de 2021.

Docker Client, “Github do docker client,” [On-line], 2021, disponível em: https://github.com/spotify/docker-client. Acessado em: 2 de Fevereiro de 2021.

E. Gamma, R. Helm, R. Johnson, e J. Vlissides, Design Patterns: Elements of Reusable Object-oriented Software. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc., 1995.

Published

2021-08-09

How to Cite

Pfeifer, V., Passini, W. F., Dorante, W. F. ., Guilherme, I. R., & Affonso, F. J. (2021). A multi-agent approach to monitor and manage container-based distributed systems. IEEE Latin America Transactions, 100(XXX). Retrieved from https://latamt.ieeer9.org/index.php/transactions/article/view/5076