1. Defining an Evaluation Model for Container Orchestration Operator Frameworks
- Abstract
The growing complexity of cloud native applications has necessitated the intro- duction of operators to the container orchestration tools’ suite of components. Operators affords developers the ability to encode domain knowledge and make fine-grained controllers for their Kubernetes clusters, radically extending the range of feasible applications to host. Operators are however vast software entities and places large requirements on its developing party, almost forcing the use of a software framework. This master’s thesis explores the evaluation and comparison of Kubernetes operator frameworks. To address the challenge, a novel solution design is proposed, presenting an evaluation model that categorizes and assesses the frameworks using predefined attributes and accompanying metrics. The attributes were related to one of two overarching categories deemed appropriate for by the performed framework study, open source health status or operator capability. Profile assignment is done through the concordance non-discordance principle, inspired by multi-criteria decision theory. This research contributes to the understanding of evaluating Kubernetes operator frameworks and offers valuable insights for developers and decision-makers in selecting appropriate tools for managing cloud-based applications., In today's interconnected world, online services have become an integral part of our lives. This has seen the demand for scalable, reliable, and efficient infrastructure skyrocket. In the wake of this demand cloud services and Kubernetes have taken great strides to become industry standards. However, large parts of Kubernetes's facilitating technologies are still unexplored. Cloud services have enjoyed great success on the premise of cloud native applications. Such applications are what facilitates sought-after qualities such as scalability and reliability. However, cloud services and their applications are prone to difficulties in hosting due to their micro-service-based architecture approach. This has spurred the uprising of orchestration tools, such as Kubernetes, which serve as a central hub for management of micro-services. Kubernetes was introduced by Google in 2014 and offers a set of building blocks that collectively provides mechanisms to deploy and maintain cloud native applications. These building blocks are heavily standardized, and for good reason. Kubernetes delves into very complex areas and developers would rather focus on their application's logic than the intricacies of microservices and orchestration. Such standardization may however prove problematic, something that is made obvious in the cases of more elaborate and multi-faceted applications. Cloud native applications are often divided on the condition of either being stateful or stateless, meaning it either keeps persistent data or it doesn't. Applications of the stateful kind requires knowledge and techniques that the native Kubernetes building blocks have difficulties providing. To rectify this gap of capability Kubernetes recently introduced the operator pattern into its suits of components. Once implemented, operators can extend Kubernetes with encoded domain knowledge, enabling developers to provide Kubernetes with whatever capability they find missing. As with most things orchestration re
- Published
- 2023