Project overview

Client Industry Location Timeline

Proximetry

IoT

Katowice, Poland

10/2018 - 06/2019

The challenge

  1. create cloud-independent deployment solution that allows to run the client's application anywhere (cloud and on-premise)

  2. simplyfy and unify all the client's setups

  3. reduce the time for new installations from weeks to days

Tech stack

The Solution

The problem was quite complex because the number of components and deployment scenarios. We chose a scenario in which we run all system components in Kubernetes cluster.

Infrastructure code

This is another, great example of building blocks approach usability. Ansible and Terraform modules mixture allowed us to create a core of the infrastructure which can be deployed on cloud and on-premise environments.

Kubernetes

To make sure that we use the same service always and everywhere, we opted for the self-hosted Kubernetes. This step allowed us to standardize the deployment and maintenance of both applications and services.

Services & microservices

All services, such as SQL and NoSQL databases, message brokers and microservices that make up the application have been containerized. The procedures related to building, testing and delivering components to the environment have been wrapped into pipelines.

Monitoring

The monitoring system was based on open-source solutions. For maintenance purposes, we have created a set of navigation tools and dashboards that allowed you to easily check the general condition of the system and thoroughly analyze each of the components.

The Result

  • cloud agnostic deployment

  • easy to use and maintain solution integrated with CI/CD

  • the new setup creation process was reduced from weeks to days

  • unified monitoring and alerting system

  • the entire solution was handed over to the customer service team