Welcome to varietas.io. The project was originally started in 2018 as a result of the master thesis by Michael Rhöse. The topic of this thesis is:
Conception and design of an adaptive, flexible, dynamically extensible and polyglot plugin framework based on an event-driven and non-blocking message bus.
The abstract gives an short overview:
Today, software development becomes a more and more complex process. The development of new software, features or patches in a short time period is required to increase user experience and business values. New technologies, methods and principles fit this need and make fast development of new software possible.
One of the most discussed topics are microservices. This highly modular concept of distributed systems supports independent publication and maintenance of individual parts. Additionally, microservices provide a better scalability at high utilization. Compared to monolithic applications the complexity and maintenance costs increased considerably due to the increasing size of a microservice system. In return, operation and management of monolithic software are more cost-effective, but scalability and maintenance are more expensive.
These points lead to the main question of this master thesis for the concept and design of a framework that combine the advantages of both system architectures. In addition, it should be possible to turn an application into a pure microservice system when necessary.
For this purpose, established frameworks are compared to show that existing implementation do not provide the necessary characteristics. Moreover, common properties are identified which are incorporated into the concept.
The architectural patterns implemented into a prototype – event-driven, microkernel and microservices architecture – as well as the inherited properties and mathematical concepts are defined and explained. Finally, details of the implementation are explained and the feasibility is checked with a simple test case by a dynamically extensible REST-API.
It becomes apparent that the realization of a dynamically extensible, flexible plugin framework is possible by the usage of established architectural concepts and additional libraries.
The size and the potential of the resulting prototype leads Micha to publish the project and makes the framework available for contributers.
As a site-effect, the idea of a pure Open Source Community was born. This community aims to help beginners to start there own projects and helps them with basic engineering tools, tips and information.
Read more about the framework & the community here.