Developing a Migration Strategy towards Kubernetes using Operators for SaaS

A common problem in larger software projects that evolves over the years is the emergence of a monolithic program structure. Such a monolithic program structure can lead to an architecture that binds its functional elements in one single and complicated entity. Extension and maintenance of those architectures will get increasingly difficult, while the architecture grows. To reduce the technical debt, such software systems are migrated towards distributed systems and operated in cloud-based environments like Kubernetes. The concept of using cloud-based environments is important especially for SaaS products. This thesis aims to develop a migration strategy for monolithic software systems to migrate them towards Kubernetes using Kubernetes operators and the operator pattern. Operators are a concept that allows the integration of application-specific knowledge into Kubernetes. For that reason, operators are used for the migration strategy, to additionally automate operational processes, to reduce the effort of human operators. To realize the aim of this thesis, a methodology is developed to generate a migration strategy for a software system. This methodology includes a blueprint methodology to extract potential operators by analyzing the technical structure of the system, its domain model, and operational processes that are performed to operate the system. Next, the resulting operators are further analyzed concerning their responsibilities and dependencies on each other to extract a final set of operators to be implemented to realize the migration. For the implementation the Jakof Framework, developed at the SWC research group, is used, evaluated and extended. In general, this thesis results in a case study on the applicability of the operator pattern for a migration strategy. For that reason, the methodology for generating a migration strategy is successfully applied to a monolithic software system. As monolithic system, the software Q.wiki by Modell Aachen GmbH is used. A migration strategy for Q.wiki is extracted and afterwards applied. The application of the migration strategy is successful and the Jakof Framework is used to create the corresponding operators.