Microservices Metrics Visualization
Khan, Fouzia (2020)
Khan, Fouzia
2020
Tietojenkäsittelyopin maisteriohjelma - Master's Programme in Computer Science
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2020-11-20
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202011157967
https://urn.fi/URN:NBN:fi:tuni-202011157967
Tiivistelmä
Many companies are using a distributed approach where systems can be developed in smaller chunks of functionalities called microservices. Due to their smaller size, microservices offer benefits such as smaller development teams, independent choice of developmental technologies and a lesser time to market to name a few. However, as the systems grow bigger, the number of microservices can increase up to hundreds and thousands which makes all this more challenging for the development teams and the project managers to analyse the services performance, prioritize resources and the ability to see the overall picture from business and management perspective. This thesis aims to look for a possibility to develop a tool by combining existing open source tools which could help overcome this challenge. The thesis aims to research and explore various existing open source microservices monitoring and tracing tools to figure out if they could be utilized to develop a microservices visualization tool comprised of a dynamic call graph displaying performance and business metrics for individual microservices. These tools are individually explored and run with test projects to verify their potential and the output is carefully analysed before deciding if the tool should be included in the implementation. The results show that such a tool can be developed by using some existing open source tools such as Jaeger, Prometheus and Grafana. The implemented tool is capable of constructing a microservices dynamic dependency network graph which includes various metrics e.g. number of calls being made from one microservice to the other, average response time per service, average load per minute per service, ratio of open and closed issues, ratio of open and closed bugs, ratio of cost and revenue and the amount of effort spent for each microservice in the system. This tool can make it easier for the developers and managers to visualize the number of calls being made and performance related challenges in microservices architecture-based systems only by looking at the graph and it can also help the business managers to make some strategic decisions on the basis of an overall picture of the system.