KubKaf

Node

General project description

KubKaf

KubKaf is a product that gives the possibility to deploy Kafka on the cloud in 1 click. The capability to provide Kafka as a Service in a distributed and fault-tolerant manner is the very essence of the solution.

With KubKaf, the client intended to create a SaaS platform that would help its users with Kafka deployment and maintenance processes, and enable a simplified way of cluster creation without any deep configuration. The product turned out to be a highly-efficient fault-tolerant solution that simplifies a development process of streaming reactive and message-driven applications due to properties of Kafka as a good message broker, event/action storage.

To solve the challenge related to the creation of a user notification system regarding the creation and deletion of Kafka clusters, we applied an actor system based on Akka Actors and WebSocket technology. We also ensured that in case of the notification failure, the operations would still be completed smoothly.

The key factor that allowed creating a highly resilient product is the power of capabilities inherent to Scala technologies. With the help of them, we created a set of microservices, deployed in a cloud using docker containers, that allowed us to deploy Kafka on a cloud in a seamless way.

Industry:

IaaS (Infrastructure as a Service)

Service:

  • Backend;
  • Frontend;
  • DevOps;

Key Features

  • Possibility to create a new user;
  • Possibility to edit a user’s profile;
  • Possibility to create and delete Kafka clusters in a cloud;
  • Possibility to maintain Kafka clusters in a cloud;
  • Possibility to configure the cluster’s version, cloud configuration;
  • Possibility to access brokers using Kafka PLAIN endpoints;
  • Possibility to configure brokers (only a few options);
  • Possibility to check cluster metrics;
  • Possibility to access Zookeeper;
  • Possibility to create and delete Kafka topics;
  • Possibility to maintain Kafka topics;

Project resources

Team size:

  • 1 Scala developer;
  • 1 Fullstack JS developer.

Implementation period:

May 2019 — September 2019

Project technical description

Platform:

Scala

Frontend:

  • React.js;
  • Node.js;
  • Hapi.js
  • Sequilize;
  • Boom;
  • Lodash;
  • Bell;
  • React Router DOM
  • React Redux;
  • Webpack;
  • Axios;

Backend:

  • Docker;
  • Akka;
  • Apache Kafka;
  • Apache Zookeeper;
  • Kubernetes;
  • Yahoo Kafka Manager;
  • JSON Web Token (JWT);
  • Play framework;
  • Apache Kafka PLAIN;
  • Play Framework on Akka;
  • Functional Relational Mapping library Slick;
  • Azure Java library;
  • ScalaTest;
  • Logback;
  • Sbt;

Version Control:

  • Git.

Database:

  • PostgreSQL.

Web services:

  • REST-JSON.

Build Automation:

  • SBT;
  • Azure CI/CD.

DevOps:

  • CI/CD;
  • Cloud management;
  • Creation of Docker containers.

More Projects

Strada Del Vino

AndroidApple

Strada del Vino is a guide through all the wine cellars and estates, restaurants, farms that are parts of The Road of Wine and Oil of Tuscany Coast. A user ...

read more

AVORA

AndroidAppleNode

UK-based AVORA is a business performance platform for carrying out in-depth and predictive analytics in real time. The UK-based startup provides Data ...

read more

Legalitte

Alfresco

The Alfresco-based web app is meant to manage documentation in lawyer firms. Specialists of the firm are located worldwide in all attractive areas where a ...

read more

Liferay-based electronic payment

Liferay

Electronic payment solution for Liferay-based web systems is a proof-of-concept gateway to better customer relationships. Liferay is powerful in the area ...

read more