Case study Handy.ai
Case study Handy.ai

DevOps workflow assistance, including cloud infrastructure budget optimization (migration from AWS), implementation of GitOps approach for CI/CD and new services, maintenance of clusters, support of the in-house dev team, and end product deployment

Challenge

The client owns a successful Ukrainian startup currently focused on scaling over the local market and reinforcing positions in the rest of Europe.

The main hardship for the client’s team was the complete lack of the DevOps input needed to better support clusters, manage resources, and ensure automatic product deployment (including automated deployment and updates at the customers’ facilities).

To fix that, the client required our team to migrate the project’s internal infrastructure and provide further assistance in reducing the cloud services budget

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

Work agenda

Client:

A B2C virtual assistance startup owner

Location:

Ukraine

Team:

1 Lead DevOps + 2 DevOps Engineers for tech support

Project Timeframe:

Consulting services and support have been provided since October 2020

Project goal:

To conduct a technical audit and suggest budget optimization methods

To minimize vendor dependence and implement open-source solutions

To optimize and unify CI/CD for fast clusters deployment for new customers

To provide the DevOps team that is a universal helper for the client’s dev team

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

Stack of tasks

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

Downscale AWS Kubernetes clusters resources:

Minimize resources of all services and prepare clusters for complete deletion after the full migration of services

Migrate AWS to Linode (via GitOps approach):

Set up the Kubernetes cluster on Linode via Terraform;

Set up monitoring via Prometheus and Grafana;

Set up Flux CD (dev/stg/prod);

Update the old cluster’s domain name;

Remove old AWS resources;

Create the dev/stage/prod environment on Linode;

Configure Elastic search, ELK, NATS, MinIO, Rabbit MQ, and other services;

Configure Dockerfile for node Red application;

Prepare the Docker-compose file

MongoBI:

Implement business intelligence

Enable services:

Deploy ELK stack, Rabbit MQ, MinIO, Prometheus+Grafana monitoring tools with PagerDuty

Reconfigure CI/CD:

Optimize CI/CD for BitBucket and the new Docker registry with the following migration to Circle CI

 

Further CI/CD:

Implement CI/CD for new services

Deploy end product:

Help fully deploy the product on the end customers’ servers, with environment configuration and all other underlying tasks

Case study Handy.ai

Client requirements

  • To provide a universal DevOps assistance and consulting team;

  • To standardize product deployment processes;

  • To conduct fast onboarding for dev teams and SDLS projects;

  • To boost the efficiency of resource utilization and infrastructure costs management;

  • To help plan out product deployment among the end customers and support projects;

  • To centralize access rights management and optimize project security;

  • To employ the infrastructure-as-code approach, without vendor lock-in.

Case study Handy.ai

Solution

We went through the whole project infrastructure, suggested, and helped implement solutions and approaches that ultimately streamline the dev team workflow and we continue assisting and optimizing crucial internal project processes up until this day

How we did it

We kicked things off with the detailed audit of the project’s internal infrastructure and recommendations alignment

The first tech task was to configure resourcing limits, cluster priority classes, and healthchecks for each service

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

Then, we optimized the cluster scaling and resource utilization in AWS based on the preliminary investigation and metrics analysis

Next, we adjusted the metrics server for the cluster and set up its thorough monitoring via dashboards with metrics and alerts

Case study Handy.ai

With enough budget capacities in hand, the decision was made to migrate the project infrastructure to another provider’s platform, which resulted in x4 infrastructure budget reduction

We also introduced a GitOps approach to CI/CD processes, divided build and deployment processes, implemented code versioning (the BitBucket pipeline was migrated and adapted to CircleCI), and enabled cluster deployment via Flux (currently, we are at phase 2 of migrating to the 2nd version of Flux)

Case study Handy.ai

Other major tasks included assisting product deployment among end customers, which included preparing cloud provider capacities, deploying environments (clusters), deploying services, setting up monitoring capabilities, etc.

We implemented all the services mentioned above in the Stack of tasks section

We continue maintaining internal development processes and assisting developers

We also analyze metrics and conduct regular maintenance checks

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

DevOps tech stack

Case study Handy.ai
Case study Handy.ai

CI/CD

Case study Handy.ai

Bitbucket CI

Case study Handy.ai

Flux CD

Infrastructure setup

Case study Handy.ai

Terraform

Services

Case study Handy.ai

RabbitMQ

Case study Handy.ai

NATS

Case study Handy.ai

Elasticsearch

Case study Handy.ai

MinIO

Containers & Cloud Providers

Case study Handy.ai

Docker

Case study Handy.ai

AWS

Case study Handy.ai

Linode

Monitoring & Logging

Case study Handy.ai

Prometheus+
Grafana

Case study Handy.ai

ELK

Database

Case study Handy.ai

MongoDB Atlas
MongoDB

Results

The client required substantial DevOps input and internal project optimization to scale more efficiently and smoothly while providing top-notch performance for the existing users and eliminating the dev team pains.

And the client received exactly that with our thorough approach to DevOps consulting and technical input that resulted in the 40% reduction of the internal infrastructure budget; end-to-end automation of cumbersome, routine tasks; implementation of SLA with constant thorough project monitoring and assistance for the tech team

Case study Handy.ai
Case study Handy.ai
Case study Handy.ai

Contacts

Case study Handy.ai
Case study Handy.ai

Do you have a complex running infrastructure that requires minor or major optimizations and changes? Contact us if you are interested in achieving similar results by employing the field expertise of some of the most seasoned
IT professionals out there

Click to rate this post!
[Total: 3 Average: 5]