Consulting

Transforming a Global Customer Engagement Platform with EKS Adoption

Transforming a Global Customer Engagement Platform with EKS Adoption

Client Overview

The client is a global customer engagement software company headquartered in TX, USA, powering more than 500 million daily digital interactions. Their award-winning platform provides online community management, social media marketing, social media analytics, digital care, and content management software and services to over 2000 global brands including one-third of the Fortune 100 companies.

Executive Summary

The client wanted to migrate their applications running on Amazon Web Services (AWS) Elastic Compute Cloud (EC2) instances to AWS Elastic Kubernetes Service (EKS) to take advantage of the scalability and manageability of Kubernetes.

Context and Challenges

Several issues with the client’s infrastructure were:

  • The application consisted of multiple microservices running on multiple Amazon EC2 instances.
  • Any requirement to scale the microservices was done manually, following a set of instructions to install and configure on a pre-baked Amazon Machine Images (AMI).
  • Deploying the application to a new customer or to a new AWS region would take weeks to months, lack of automation added to the problem.
  • Managing multiple environments was a major challenge.

Expectation from InfraCloud

The customer wanted to migrate their application from AWS EC2 to AWS EKS and reached out to InfraCloud for help as InfraCloud’s expertise is around helping companies adopt cloud native technologies.

  • Automation of infrastructure required for the Amazon EKS cluster (VPC, EC2, RDS, S3, etc)
  • Helm Charts for all the microservices
  • CI/CD for the microservices using Jenkins and Flux CD
  • Metrics monitoring using Datadog
  • Log monitoring using Sumo Logic
  • Alert management using PagerDuty and Slack
  • Any new deployment to a new AWS region should take less than a day

Infrastructure Diagram

InfraCloud subject experts audited the existing infrastructure, learned the application’s requirements, and designed an infrastructure that will help to solve the above challenges.

infrastructure-diagram

Technologies Used

The cloud technologies used to complete the project include:

  • AWS (RDS, S3, ALB/NLB, Lambda, SQS, SNS)
  • Amazon EKS
  • Helm Chart
  • Jenkins
  • Flux CD
  • Datadog
  • Sumo Logic

Solutions Deployed

We approached the problem in 4 phases.

Phase 1: Bring up the Amazon EKS cluster

  • Create the Amazon EKS cluster and other AWS resources using cloud formation templates
    • VPC
    • Amazon EC2
    • S3
    • RDS
    • Auto Scaling
    • Amazon EKS
    • Roles and Policies
    • Lambda
    • SQS
    • SNS
  • Install and configure basic services
    • Karpenter for auto-scaling of the Amazon EKS worker nodes
    • Datadog operator and Metrics server for monitoring
    • Sumo Logic operator for log aggregation and analysis
    • Flux CD for continuous deployment
    • AWS Load Balancer Controller

Phase 2: Deploy the application to the Amazon EKS cluster

  • Create the helm chart for each microservices with the following resources:
    • Deployments
    • Statefulsets
    • Services
    • Ingress
    • PVC
    • HPA
    • PDB
    • Service Accounts
  • Used the community charts for RabbitMQ (Bitnami) and Cache service (Hazelcast) instead of creating from scratch.
  • Deploy the helm chart to the Amazon EKS cluster.

Note: Data migration was not required, the customer started with a fresh DB.

Phase 3: Configure the CI/CD for each microservice

  • Create Jenkins pipeline
    • Compile and Build
    • Create container image
    • Push to ECR
    • Modify the FluxCD Helm Release files

create-jenkins-pipeline

  • Configure FluxCD
    • It checks for changes in the HelmRelease file for eg., docker image, and application values, and deploys to Amazon EKS cluster.
    • Deploys the changes in GitHub repo to Amazon EKS.

Phase 4: Monitoring, Log Aggregation, and Notification

  • Configure the Datadog to pull metrics from the Amazon EKS cluster.
  • Create monitors, and dashboards alerts and notify stakeholders using Pagerduty and Slack.
  • Send application logs, Load Balancer logs from S3 are pushed to Sumo Logic.

Benefits

The company was able to successfully migrate the application from Amazon EC2 to Amazon EKS, resulting in the following benefits:

  • Easily scale up or down the applications without the need for manual intervention to meet changing demand, saving on the overall cost.
  • Simplified deployment process and the ability to manage multiple environments easily.
  • Strict security and access control policies ensured a secure environment for the application.
  • Reduction in infrastructure costs by leveraging the managed services provided by AWS.
  • Seamless integration with Datadog and Sumo Logic provides real-time alerting for any critical issues.

Key Metrics

  • Deployment to a new region takes less than a day compared to weeks to months before the migration.
  • InfraCloud experts helped the client migrate to Amazon EKS in under 2 months.
  • Amazon EKS proved as a highly compatible solution as the customer used a range of other AWS services.
  • The application is deployed in 3 regions and serves customers across the globe. Earlier it was only deployed in 1 region, posing risks in terms of backup & disaster recovery.
  • The new automated CI/CD pipeline ensures that builds can be deployed to production within minutes compared to 30 minutes before the migration.
  • The new deployment architecture in Amazon EKS ensures no downtime during upgrades/downgrades.

Why InfraCloud?

  • Our long history in programmable infrastructure space from VMs to containers gives us an edge.
  • We are one of cloud native technology thought leaders - speakers at various global CNCF conferences, authors, etc.
  • DevOps engineers who have pioneered DevOps at Fortune 500 companies.
  • Our teams have worked from data center to deploying apps and across all phases of SDLC, bringing a holistic view of systems.

Got a Question or Need Expert Advise?

Schedule a 30 mins chat with our experts to discuss more.

Trusted by 100+ companies worldwide

This website uses cookies to offer you a better browsing experience