01
The starting point
A provider of vessel data analytics processed raw vessel data with an architecture built on Elasticsearch and manual services. The goal was to move to a streaming architecture: raw data should be processed continuously and analysed for registered customers, and the system had to scale with growing data volumes.
02
Our approach
- 01 Selecting and provisioning a suitable Apache Kafka setup on Amazon MSK
- 02 Streaming architecture: raw data flows from an input topic into further partitioned topics, from which insights are extracted for registered customers
- 03 Implementing the microservices with Java, Spring Boot and Kafka Streams, including Schema Registry, Kafka Connect and MirrorMaker
- 04 Integration into the existing CI/CD environment with GitLab
- 05 Running the microservices on managed Kubernetes at DigitalOcean
03
The result
- A streaming architecture instead of manual services
- High scalability: because the vessel data is already partitioned, the services scale horizontally through replicas
- Analyses for registered customers straight from the data streams
- Automated delivery of the microservices via GitLab CI/CD