In today’s world, online applications are constantly growing and getting more complex day by day. An application’s users’ satisfaction rate is fundamentally determined by how many new, quality services are available for them. On monolith systems, providing continuous updates are getting even more difficult for the application developers. Using conventional methods, the rate of releasing new services is slowing down. Applying solutions like microservice architecture can solve a lot of these problems, but it hides new, unknown challenges to be solved by the application maintainers.
To efficiently fulfill our duties as maintainers, we need to understand how our new, grown and complex environment works. To gain this knowledge, new tools and methodologies need to be used, which are especially created for these new environments.
As part of my thesis work I will implement a system that can provide a good starting point for dynamically growing applications for the development of the microservice architecture. When designing the system, I considered the application to be easily extendable and the units do not only function well on their own but create a real system. The system was subjected to a load test and I expected it to automatically scale, notify the interested parties, record all the events and serve the data in a format that is understandable to maintainers.