AWS Partner Network (APN) Blog
Comprinno Simplifies Customer Data Migration to AWS to Save Time and Reduce Cost
By Vineet Singh, Principal Solutions Architect – Comprinno Technologies
By Pallavi Khopkar, CoE Manager – Comprinno Technologies
By Fraser Sequeira, Startup Solutions Architect – AWS
By Ganesh Sawhney, Sr. Partner Success Solutions Architect – AWS
Comprinno |
Migrating workloads and data between cloud providers demands careful planning and execution. However, with Amazon Web Services (AWS) the considerable cost savings can make the effort worthwhile.
By leveraging AWS auto-scaling capabilities and pay-as-you-go pricing, companies can optimize costs and only pay for the resources they need. The potential for significant cost reductions makes navigating the complexities of migration to AWS a strategic necessity.
In this post, Comprinno Technologies demonstrates how it migrated a fitness application’s databases from a separate cloud provider to AWS.
Comprinno is an AWS Specialization Partner with Competencies in Migration, Resilience, and Security Consulting. It has extensive experience in managing complex migrations, enabling enterprises to modernize their operations through enterprise DevOps and cloud-native computing.
Customer Challenges
Comprinno’s customer created an innovative fitness application to inspire more people worldwide to adopt active lifestyles. The app incorporates real-time tracking, gamification features, and lively community engagement to help make walking even more enjoyable and fulfilling.
App users have the opportunity to participate in challenges, unlock achievements, and exchange “coins” (earned for every step they take) for enticing rewards.
To power the app initially, the customer operated a database on Google Cloud Platform (GCP), utilizing PostgreSQL for relational data, Redis for fast in-memory caching, and a popular open-source document-oriented database for semi-structured data. They also made use of cloud storage buckets for object storage, and their infrastructure comprised 13 PostgreSQL databases running as a managed service on Google CloudSQL, hosting approximately 10 TB of data.
The customer intended to migrate their infrastructure from GCP to AWS because they wanted to take advantage of AWS’s wide array of services and features. AWS offers an unparalleled breadth and depth of cloud-based solutions, giving the client more flexibility and options to help meet their needs.
Additionally, the client hoped to leverage the AWS Global Cloud Infrastructure for lower latency and improved performance for their international customer base. The client was equally keen on building a low cost immutable data lake on Amazon Simple Storage Service (Amazon S3).
To lower the cost on database compute, it was recommended the client leverage Amazon RDS for PostgreSQL powered by AWS Graviton processors. Graviton processors utilize AWS arm-based architecture optimized specifically for workload efficiency and cost savings.
The migration presented two primary challenges:
- Migrating a large PostgreSQL database required careful planning and execution to ensure a smooth transition without compromising data integrity or experiencing extended downtime.
- Because the customer’s PostgreSQL database was running on CloudSQL in GCP, the instances for CloudSQL were provisioned in a separately managed subnet, which has a different Classless Inter-Domain Routing (CIDR) than the custom virtual private cloud (VPC).
This configuration meant AWS Database Migration Service (AWS DMS) was unable to access the CloudSQL instances located in the managed subnet. This would prevent the data migration from using AWS DMS.
Solution Overview
To successfully migrate the PostgreSQL database from CloudSQL in the managed subnets of GCP to AWS, Comprinno implemented the following solution:
Figure 1 – Site-to-Site VPN was established between GCP and AWS.
Below is a step-by-step breakdown of the migration:
- Comprinno established a site-to-site virtual private network (VPN) connection between the VPCs of GCP and AWS, enabling secure communication and connectivity between the two.
- Deployed a SQL proxy instance on a virtual machine within a custom VPC in GCP. This SQL proxy acted as an intermediary between the AWS environment and the CloudSQL instances in the GCP-managed subnets. The SQL proxy instance served as a source to the AWS DMS task, while Amazon RDS for PostgreSQL served as the target to the AWS DMS task.
- The proxy instance was linked to the GCP database slated for migration. In the context of AWS DMS, the proxy instance assumed the role of the source, given its accessibility, and the destination was set as RDS PostgreSQL on AWS. This approach facilitated the establishment of connectivity between the GCP and AWS databases. Using AWS DMS, Comprinno migrated the data from the SQL proxy instance in the custom VPC on GCP to the corresponding database instance on AWS. This replication process was performed for CloudSQL instances one by one.
- The client had a limited downtime window of only 3-4 hours, with databases of considerable size, which typically would have required 12-24 hours for the data migration process. However, AWS DMS offers a parallel-load feature that accelerates full-load data transfers by splitting up a single, large task into multiple concurrent threads. Using this approach, Comprinno divided the client’s large tables into multiple sections and loaded them from source-to-target in parallel, reducing the overall migration time from days down to within the downtime window the client could allow. This made the data migration feasible within the tight timeframe the client had available.
- Once the data was successfully migrated to AWS, Comprinno repointed the Kubernetes application running on GCP to the corresponding database instance on AWS. This step made sure the application continued to function seamlessly during migration.
- Following the initial migration, Comprinno migrated the remaining 12 CloudSQL instances to AWS, replicating the data to the corresponding database instances on AWS and updating the Kubernetes application on GCP to point to the newly-migrated databases.
- The customer utilized AWS DataSync to transfer data from their cloud buckets in a different cloud provider to Amazon S3. AWS DataSync is a fully managed data transfer service that simplifies and accelerates moving large volumes of data to and from various storage systems. In this case, the client leveraged AWS DataSync to efficiently migrate backup data and app specific data from the cloud buckets to S3. With AWS DataSync, the client could maintain a secure and reliable data transfer, taking advantage of the robust storage capabilities provided by S3.
Conclusion
In this post, Comprinno demonstrated how it migrated a fitness application’s workload to AWS. By helping the fitness app migrate from Google Cloud Platform (GCP) to AWS, Comprinno lowered their databases cost by up to 30% by leveraging Graviton-based RDS instances.
Comprinno has implemented numerous successful migrations to the AWS cloud, and its expertise extends to developing cloud setups that comply with international standards such as ISO27001, PCI-DSS, HIPAA, GAMP5, and 21-CFR-PART-11. Comprinno has extensive experience in highly regulated industries including telecom, pharma, healthcare, and finance.
To learn more about the migration services, reach out to Comprinno.
Comprinno Technologies – AWS Partner Spotlight
Comprinno is an AWS Specialization Partner that’s dedicated to helping organizations establish robust architectural practices. With extensive experience conducting thorough AWS Well-Architected reviews and guiding clients through the remediation of high-risk issues, Comprinno brings a wealth of expertise to the table.