Search:

LigaBet AWS Migration Case Study

aws-migration

LigaBet is a well-known gaming company and their efforts are focused at growing the betting industry, promoting and producing new forms of entertainment.

LigaBet wanted to serve their customers globally and they’ve decided to migrate all of their workloads to AWS with kloia’s partnership. We are going through an AWS Migration Acceleration Program with them and this case study reflects on our progress.

Problem

AWS MAP projects tend to have extensive scope and various domains of task to be executed. The most important ones emerge from migrating to new infrastructure, and at the same time, wanting to make the most out of available AWS services.

LigaBet’s AWS Migration journey was extensive in scope, and its main requirement dictated a Multi-Account strategy and usage of AWS Organizations. This main requirement can be described as the automated capability of adding and removing the environment infrastructure (dev, production, etc.) as a separate AWS Account.

The AWS Organization contains Shared* accounts for centralized Logging, Security and Networking. This architecture supports adding arbitrary numbers of Workload Accounts because they’d only have to run the applications.

Migrating highly cohesive legacy Windows applications has prompted a new issue: CI/CD pipelines. LigaBet’s requirements made it very hard to use 3rd party, off-the-shelf pipeline tools. We’ve created an in-house serverless CI/CD pipeline with Step Functions that follows the GitOps principles.

Client: LigaBet

Project type: Migration to AWS

Website: LigaBet

Solution

Automated capability to create new workload accounts

LigaBet intends to serve its clients as a PaaS (Platform as a Service) solution. For each new customer, new AWS Accounts must be created based on their production infrastructure/environment. As Kloia, we suggested an IaC approach with Terraform for this case. The AWS resources that must be produced for each client have been specified as a Terraform Module and version controlled in their respective Terraform Cloud Private Registry.

production-module

 

Multi Cluster Management - Rancher

When Amazon EKS is used with Rancher, its user-friendliness is combined with AWS's capabilities, reliability, and performance. Each of the workload accounts has an EKS cluster, and a centralized management for them was required. We created a Rancher management account and Rancher has been set up on an Upstream RKE2 Cluster that we constructed for the administration of the Downstream EKS Clusters.

 

Cost Optimization - Running their dev and staging workloads at a lower cost.

For non-critical tasks, it is advantageous to use EC2 Spot instances to optimize costs. We designated environments for staging and development as non-critical workloads. After a few months of development and staging, EC2 expenditures were reduced by about 60 percent compared to a standard production account.

workload-account

 

In-house Serverless CI/CD Pipeline

LigaBet has a set of workloads that consists of legacy Windows applications. Unfortunately the updating mechanics are fairly complicated for these applications. The search for a suitable CI/CD tool was in vain, so we created an in-house CI/CD Pipeline with AWS Step Functions. 

This custom CI/CD Pipeline supports rolling updates on live hosts and it also creates EC2 Images to use with Auto Scaling Groups at the same time. 

step-functions-cicd-pipeline

Central Security

GuardDuty and Config were enabled in the Security Account as delegated administrators for compliance, audit, and threat detection. GuardDuty and Config data are sent to the Security Account from all other accounts in the organization. This allowed the team to centrally track security issues for all accounts within the organization. If a new account is added in the future, that account will send GuardDuty and Config data to the security account automatically.

Centralized Log Management

We have created an AWS Log Account for centralized logging. 

  • We have created log export logic using the AWS Step Functions for the managed services and CI/CD pipeline components. It exports cloudwatch logs to an S3 log bucket in the Log Account. These logs are also accessible in their own Cloudwatch logs. 
  • We have used the CloudWatch agent for the application logs that run on the EC2 instances. The Cloudwatch agent directly exports the application logs to the log account's cloudwatch.
organizational-arch
aws-migration-results

Results

LigaBet’s AWS Migration Acceleration Program results can be conveyed as:

  • Multi-account organization
  • Automated setup of all Organization Accounts with Terraform
  • Automated creation of new Workload Accounts by creating a new Terraform variables file
  • Shared Networking, Security and Logging mechanisms
  • GitOps: automatic builds and deployments on push
  • Application Auto Scaling
  • In-house Serverless CICD Pipeline for legacy windows application
  • Increased developer productivity with GitOps pipelines
  • Easier security audits with shared logging and networking account
  • Cost optimization with Spot Instance usage on non-prod environments

Some of our results:
  • 15 Minutes
    Rolling Updates
  • 40%
    Cost Optimization at Compute Layer

Contact