Multi-cloud deployment
When you need to be able to run anywhere
Project overview
Client | Industry | Location | Timeline |
---|---|---|---|
Proximetry |
IoT |
Katowice, Poland |
10/2018 - 06/2019 |
The challenge
-
create cloud-independent deployment solution that allows to run the client's application anywhere (cloud and on-premise)
-
simplyfy and unify all the client's setups
-
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