website

Vostok

github.com/vostok

A complete microservice toolkit for .NET developers.

Vostok has everything .NET developers need to create distributed systems. It enables intra-cluster interaction between microservices and collects their logs, metrics, and distributes traces out of the box. Vostok-enabled microservices are compatible with .NET Standard 2.0.

How it works

Vostok provides instrumentation for microservices and a number of Vostok infrastructure components. Instrumentation is required to collect data which is necessary for any production-ready distributed system:

Every Vostok-instrumented microservice collects described data out of the box. No additional confuguration or code is required.

Applications would use provided interfaces to write custom logs and metrics. Any outgoing requests via provided Cluster Client would be included to collected distributed traces. These include requests to Vostok-instrumented applications (e.g., other microservices) and non-instrumented applications (e.g., databases or external APIs).

Microservices send all logs, metrics, and traces via their Airlock Clients to the Airlock Gate. This ridiculuosly performant service puts received events to Apache Kafka. A swarm of Airlock Consumers read and process events from Kafka.

Events are either transformed and put back to Kafka, or transferred to backends:

Backends store the data and feed it to end-user applications. Developers use them to monitor the distributed system as a whole:

Features

Feature complete. Vostok has everything to create, monitor and troubleshoot microservices. No other tools or libraries are required.

Sanely pre-configured. Vostok has a ready to use template for an ASP.NET Core 2.0 application as well as Docker files for Vostok infrastructure components. Zero configuration is required to get started.

Fast by design. Vostok is benchmarked and optimized for performance and throughput. No expensive hardware is required. Commodity servers are just fine for Vostok.

Getting started with Vostok

You can easily create and run your first Vostok-enabled application: