A Strategic, Seamless Migration to Aurora in AWS Bahrain
A Strategic, Seamless Migration to Aurora in AWS Bahrain
REGION
United Arab Emirates
COMPANY TYPE
Internet & Technolgy
INDUSTRY
Events Services
CLOUD SOLUTION
We conducted round-the-clock monitoring in the initial 24 hours following the migration so we could quickly identify and address any potential issues, ensuring that the infrastructure performed optimally from the outset.
Hala Al Joumat - Data Lead, Bespin Global
THE CUSTOMER
Our client is a leading online event ticketing platform, covering the UAE and the wider GCC region. The company has been operating for over a decade and is headquartered in Dubai.
Fans all over the GCC rely on our client’s website for tickets to the events they love: the company has a dominant share of the market in both the entertainment and tourist sectors. Services extend beyond ticket sales to include the advanced reporting and analytics that help event organizers monitor real-time ticket sales and ongoing revenue.
It boils down to an extremely high-volume business. As fans scramble to buy tickets, our client’s ticketing platform must capably handle even heavy traffic. Maximising revenue requires a seamless buying experience: slow responses and downtime quickly hits conversion – and the bottom line.
THE CHALLENGE
For our client’s technology team, the primary objective is to maintain and enhance the user experience for ticket purchases. However, the existing cloud solution posed a challenge.
The company’s core technology partner is Amazon Web Services (AWS), where our client originally set up an AWS tenancy with AWS Singapore, as at the time there were no local AWS data centres locally.
AWS infrastructure hosted in Singapore worked effectively, but the sheer distance from its customers implied performance constraints.
“Transmitting data from Singapore to the UAE affected performance, in particular latency. It meant that the ticketing process simply wasn’t as fast as it could be.” – according to Dania Alrefai, Senior DevOps Engineer at Bespin Global.
Furthermore, the initial configuration relied on Amazon RDS for MySQL but our client found that RDS would fail to meet demand during times of peak ticket sales – just as a popular event went live, for example.
While the occasional slow website response wouldn’t be the end of the world, slow website performance becomes a problem when it aggregates, eventually impacting conversion.
Compliance and data residency requirements also necessitated a migration to a local AWS region. It’s a sensible choice to make. But, as always, migrations are challenging and for a ticketing platform, any downtime would be very costly.
THE SOLUTION
The journey to more responsive cloud infrastructure began when our client started consulting with the team at Bespin Global. Bespin Global’s reputation for AWS excellence made Bespin stand out among other options our client considered.
“We set out to craft a migration and upgrade strategy that minimized the risk of downtime to the bare minimum,” says Hala Al Jomaat, Data Lead. It was meticulous: a careful planning process for each service to be migrated, ensuring minimal downtime and disruption to ticketing operations.
As a core part of the strategy Bespin recommended that our client migrate their database and application simultaneously, a strategic decision that saved time and minimized downtime
Application Migration
The migration of EC2 instances to the Bahrain region involves several steps. First, Amazon Machine Images (AMIs) of the current instances were created and copied to Bahrain. New EC2 instances were then launched from these AMIs. The Bespin DevOps team conducted health checks and application testing on these new instances.
New instances were placed on NAT-ed subnets, only accessible via four application load balancers (ALBs) that provide public HTTP and HTTPS access.
The application’s EFS file system, currently mounted to EC2 instances, was migrated to AWS Bahrain using AWS Backup. The S3 bucket storing static assets, currently paired with a CloudFront CDN, was also replicated in Bahrain.
Cross-region replication ensured the synchronization of all objects during migration. A new CloudFront CDN distribution, mirroring the settings of the existing one, was set up to cache assets from the new S3 bucket, maintaining the same caching behavior in the new environment.
Database Migration
The Singapore-based workload operated with two distinct databases for data storage: a relational database using a MySQL engine and a document database utilizing DynamoDB.
To better accommodate peak demand, Bespin recommended that our client transition to Amazon Aurora, which offers up to five times the throughput of Amazon RDS. Aurora supports peak demand through advanced features such as automatic database scaling, intelligently distributing traffic, and automatically adjusting I/O.
The process of relocating the RDS instance from the Singapore region to the AWS Aurora in the Bahrain region involved multiple steps.
“Initially, we established all necessary components for RDS in Bahrain (including subnet group, parameter group, and security group). Next, a replica node of the main RDS will be created in Bahrain, and the DNS record for the Replica endpoint was configured.” – according to Dima Hamed, Data Engineer at Bespin.
Creating an Aurora read replica and migrating the data was a pivotal aspect of the migration, significantly enhancing the application’s workload capabilities.
Following the migration of all other application components, Bespin Global & the client’s teams conducted a comprehensive test of the application and database workload in Bahrain. This involved promoting the Bahrain replica node to handle read/write requests.
Managing Risks
As to be expected, there were migration challenges. One of the unique challenges was the highly transactional database, as the platform was processing a large volume of transactions.
That caused database fragmentation – and a rapidly ballooning database size. While migration was the primary goal, Bespin implemented auto-scaling to help reduce the costs of database hosting.
Dania says that: “rightsizing the company’s AWS infrastructure was also a key part of the solution – which promised substantial cost savings. We used AWS Compute Optimizer to provide recommendations on optimizing resource utilization.”
THE OUTCOME
Despite the challenges posed by the broad scope of services and the limited time frame, the migration was completed with minimal traffic disruption. Bespin Global’s strategic approach and meticulous execution ensured a seamless transition to AWS Aurora in the Bahrain region.
The near-zero downtime during the migration process was a positive outcome and a critical factor for our client, given the continuous revenue-generating traffic on their platform. The ability to pause and then resume operations within a few hours was a testament to the precise and efficient execution of the migration plan.
It’s a particularly significant achievement given the breadth of services that were migrated, which included:
- VPC, EC2: Amazon Virtual Private Cloud (Amazon VPC) controls the company’s virtual network environment, encompassing resource allocation, connectivity, and security. Within VPC, Bespin migrated the Amazon EC2 instance which our client uses for secure, dependable, high-performance, and cost-efficient computing infrastructure.
- EBS, EFS, and RDS: The migration also included Amazon Elastic Block Store (Amazon EBS) as the accessible, scalable, and high-performance block storage service specifically designed for use with EC2. That included Amazon’s Elastic File System (EFS), a flexible file system that automatically adjusts its size as files are added and removed. Furthermore, Bespin migrated the Amazon Relational Database Service (Amazon RDS) the cloud provider’s suite of managed database services.
- CloudFront, ElastiCache, and DynamoDB: Given the high volume of traffic, the migration also included Amazon CloudFront as a content delivery network (CDN) service, while Amazon ElastiCache delivered a comprehensive, fully managed Redis service to handle the millions of operations per second with microsecond response times.
- RDS to Aurora: Offering up to five times the throughput of standard MySQL while maintaining reliability and availability, Aurora automatically handles tasks like hardware provisioning, database setup, patching, and backups, freeing up our client’s time and resources for other tasks. Its security features are also robust, offering encryption at rest and in transit.
It’s a complex mix of services but a swift transition maintained full continuity of ticketing services, limiting revenue loss and any significant impact on their customer experience.
Post-migration, the Bespin Global team continued to ensure the stability and efficiency of operations in AWS Bahrain. “We conducted round-the-clock monitoring in the initial 24 hours following the migration so we could quickly identify and address any potential issues, ensuring that the infrastructure performed optimally from the outset.” – said Hala
RESULTS & BENEFITS
Migrating from Amazon RDS to Amazon Aurora offered several compelling benefits. Aurora provided enhanced performance, scalability, and cost-efficiency compared to the traditional RDS database MYSQL engine.
Its distributed architecture ensures faster read and write operations, making it suitable for high throughput – especially important during campaigns. Aurora also minimized the operational overhead.
Additionally, Aurora provided high availability, data durability, security features, and global database options, a comprehensive solution for our client’s mission-critical workloads.
The migration to AWS Bahrain also brought a noticeable improvement in performance thanks to reduced latency. Alongside the responsiveness delivered by Amazon Aurora, it substantially enhanced the user experience for the company’s GCC audience as our client’s platform could more easily cope with big events – rapidly selling tickets on release, never exposing customers to delays (or frustrating eager fans).
As a side benefit, the rightsizing of the infrastructure led to a substantial reduction in monthly AWS bills, contributing to cost efficiency. With a more elastic approach to database provisioning, our client could grow database hosting facilities when needed.
Indeed, one of the critical aspects of the migration was the optimization of our client’s database. The original database, significantly underutilized, was resized from 1.6TB to a more efficient 300GB – which led to significant cost reduction.
Thanks to the successful migration a few future projects are already on the horizon – including a disaster discovery solution, as well as plans to consider a CI/CD implementation to speed up the development process at our client.
About Bespin Global, an e& enterprise company:
An AWS Premier Tier Services Partner and AWS Managed Service Partner, BESPIN GLOBAL MEA (Middle East and Africa) is a leading provider of automated cloud solutions and consulting services, including cloud adoption, strategy, migration, implementation, Managed Services, DevOps, FinOps and Data & Analytics. Bespin is positioned as a Leader in Gartner’s 2020 Magic Quadrant for Public Cloud Infrastructure Professional and Managed Services, as well as a “Visionary” in Gartner’s 2022 Magic Quadrant for IT Transformation Services.
In late 2022, Bespin Global MEA and e& enterprise formed a joint venture with the aim to assist enterprises in their digital transformation journey and eventually become the largest pure-play public cloud-managed and professional services provider in the Middle East, Turkey, Africa, and Pakistan.
Bespin’s cloud FinOps management platform, OpsNow offers an automated end-to-end solution for customers to effectively manage cloud assets and costs, optimize cloud expenses, and automate the implementation of cloud governance policies across multi-cloud environments.
Address: The Offices 4, #138-139, One Central, Dubai World Trade Center (DWTC)
Telephone: 800 BESPIN (237746)
P.O. Box: 340729