Cloud Cost Optimization | Tech Mahindra

Cloud Cost Optimization

Business Overview

Our clients were seeking cloud cost optimization, and we were able to meet their needs by leveraging strategies to streamline, optimize, and log resource utilization with centralizing monitoring. Through these efforts, we provided cost-efficient solutions without compromising on quality or performance.

Goal

Reduce our clients' high and growing cloud costs that have never been prevalent.

Business Challenges

Diverse Application Hosting

Applications are hosted in many different ways (e.g., manual provisioning and maintenance vs partial or full automation for provisioning).

Duplicated Infrastructure Code

Existing infrastructure as code has been duplicated many times (iterated on or modified), making it impossible to consolidate and apply changes to all implementations.

Underutilized AWS Instances

The existing use of AWS EC2s (incl. ECS) is not optimized for cost with average utilization across instances below 12.

Manual After-hours Deployments

AWS Infrastructure and Application deployments are done manually, which often means people who may not be familiar with the application stack will be deployed outside of usual business hours.

Obsolete Deployment Tool

The existing deployment orchestration tool, which is being used for deploying AWS infrastructure, including the ECS, and hosted applications, was extremely complicated, slow, and full of bugs.

Approach & Solution

Our team’s approach aims to balance technology and process by providing best-practice implementation of Kubernetes and a CI/CD pattern that is easy to use and safeguards against waste. We have:

Modular AWS EKS Infrastructure

Implemented AWS EKS leveraging Terraform for state-managed infrastructure provisioning, using modular components for increased flexibility, and shareability.

Unified EKS Deployment

Consolidated application deployments, and operations in to a single pattern by developing a new CI/CD process for AWS EKS with Buildkite (in accordance with the approval process for releasing changes into the production environment).

Migration to EKS

Assisted with the relocation of applications from EC2 and ECS to EKS.

Streamlined Helm Deployments

Implemented the Helm packaging and operations tool to provide a consistent and easy-to-use pattern for developers to deploy and release while safeguarding against duplication of code and waste of cloud resources.

Automated Kubernetes Scaling

Implemented controls in the Kubernetes cluster to closely monitor resource utilisation and automatically scale service.

Centralized EKS Monitoring

Integrated monitoring and logging with existing ElasticSearch Kibana solution to minimize costs and tech sprawl.