Nowadays it's a very big problem, that how to build a distributed, highly available, easily scalable application efficiently. There are many ways to design our system, which tells how we can implement our application efficiently. One of these design patterns is the microservice based architecture, which creates small services from the big application, by separating the functionality, and we can handle more efficiently our distributed application.
Microservice architecture is a software development methodology, which separates the parts of the application to the smallest functionality, which could be run from a separated environment. It is important to take care about the cooperation between the services, the backward compatibility and the consistency of the service connectivity through the development flow. It is hard to keep these attributes, and almost impossible to keep it on long term by manual verification.
In this thesis I gathered knowledge about the architecture, how it works, how it could be designed, or which continuous integration tool could be used for helping development and maintenance.
The goal of this thesis is to create and example application based on microservice architecture, which could be used for showing the advantages of the technique, and I can show the full process of testing and design. My goal also to create a framework for helping the development of the application by automated testing and integration.