Dec 20, 2019 in Service Discovery
Q: What are the tools that can be considered for managing a microservice architecture?

1 Answer

0 votes
Dec 20, 2019
The main tools that can be used to build/manage a microservice architecture are:

MongoDB: It is a document-based open-source distributed database. Here data is stored in JSON format with a different structure for different documents. It also supports a lot of programming languages like C, C++, C#, PERL, PHP, Python, Java, Ruby, Scala, etc.

Elasticsearch: It is a full-text search engine.

KAFKA: It is an event queue system. All transactions are processed via the event queue, thus avoiding the web like random interactions between different services. Kafka renders a microservice architecture robust and clean.

JENKINS: It is an automation tool that enables Continuous Integration and Continuous Development. It supports many plugins and easily integrates with almost every tool.

DOCKER: The application development environment and application deployment environment are bound to vary in many aspects. This gives rise to deployment issues. Docker provides a static background for the application to run, thus avoiding deployment issues.

KUBERNETES: With thousands of services running in an application, Kubernetes, as an engine orchestrates the entire process.

JAEGER: It is an open-source end to end distributed tracing tool. Jaeger monitors distributed transactions, helps in performance optimization, and finds the dependencies between services. It also gives the root cause analysis.

FLUENT: In a multiservice architecture, where all the different systems are managed via different programming languages, different databases, and run in different operating systems, logging in, and keeping track of it is a significant issue. Fluentd provides a single logging layer and simplifies this issue. Logs can be also be collected and aggregated onto a data source.

PROMETHEUS: It is a monitoring tool, which helps to check if all services are working fine when the application is deployed. It is a time-series data store. It collects metrics from an application and displays it in a graphical format.

grafana: Grafana provides analytics and monitoring into different visualization formats like graphs, charts, tables, etc.

NGINX: It acts as a reverse proxy. It acts as a single point entry through which all the API calls are made.

Related questions

+1 vote
Dec 20, 2019 in Service Discovery
0 votes
Jan 19, 2020 in Agile