Proposing a Dynamic Executive Microservices Architecture Model for AI Systems

Mahyar Karimi,Ahmad Abdollahzadeh Barfroush
DOI: https://doi.org/10.48550/arXiv.2308.05833
2023-08-11
Abstract:Microservices architecture is one of the new architectural styles that has improved in recent years. It has become a popular architectural style among system architects and developers. This popularity increased with the advent of new technologies and technological advancements in cloud computing. These advancements caused the emergence of new design and development challenges for service-based software systems. The increasing use of microservices architecture in large organizations and teams has increased the need to find appropriate solutions for architecture challenges. Orchestration of the components in the microservices architecture is one of the main challenges in distributed systems and affects the software quality in factors such as efficiency, compatibility, stability, and reusability. In such systems, software architecture consists of fine-grained components. Due to the increasing number of microservices in a large-scale system, proper management and communication orchestration of microservice components can become a point of failure. In this article, the challenges of Microservices architecture have been identified. To resolve the component orchestration challenges, an appropriate model to maintain and improve quality is proposed. The presented model, as a pattern, can be used at the both design and development level of the system. The Dynamicity of software at runtime is the main achievement of this pattern. In this model, microservice components orchestration tasks are performed by using a BPMN-based workflow engine as the orchestrator component. The orchestrator design gives the ability to create, track and modify new composite microservices without the need to change platform infrastructure.
Software Engineering,Distributed, Parallel, and Cluster Computing
What problem does this paper attempt to address?
The problem that this paper attempts to solve is that in the microservice architecture, as the scale of the system expands and the number of services increases, how to effectively manage and coordinate these microservice components to improve the efficiency, compatibility, stability and reusability of the system. Specifically, the paper focuses on the fact that in distributed systems, the orchestration of microservice components has become a major challenge, because improper management and communication orchestration may become points of system failure. Therefore, the author proposes a dynamic execution microservice architecture model, aiming to solve this challenge by using a BPMN - based workflow engine as an orchestration component. This model can not only provide guidance at the design and development levels, but also realizes the dynamics of the software at runtime, thereby improving the flexibility and quality of the AI system.