DuploCloud Case Study: Customer Achieves Frictionless Migration to AWS
The customer connected with DuploCloud while looking for DevOps expertise to bring in automation. As part of a successful POC, their processes were automated end-to-end, improving backup time from days to 15 minutes. DuploCloud then partnered with the company to implement a seamless migration to AWS using automation.
About the Client
Founded in 2006, our client manages Intellectual Property (IP) assets for large corporations. Innovation is at their core with a patent life cycle management system through which customers are able to unlock value from within their patent portfolio and identify a roadmap to further developing their IP portfolios.
Intellectual Property Management in the Digital Era
With increased access to data, the Intellectual Property management landscape continues to rapidly evolve. Companies are faced with challenges as individual patents’ values vary on a daily basis based on external market conditions that patent holders need to be aware of. As experts in Intellectual Property, our clients’ team of IP professionals leverage this data for patent portfolio managers, attorneys and paralegals in their portfolio development and monetization.
In order to best service their customers, a web-based platform has been developed and maintained.
To start, data is aggregated via documents, emails, as well as crawling the web for patent data published by each jurisdiction. The web data goes through an ETL pipeline in order to extract relevant information and put that in a storage backend for easy search. In some cases, text from documents is also extracted using OCR technologies. The metadata, index and data are stored across different storage engines like relational databases, Elasticsearch and object store depending on the use case.
OCR is done on Windows machines and some of the application components are deployed on Ubuntu Linux VMs. The end goal is to extract data and make sense out of text through the ML and indexing technologies to provide various features related to writing, updating and managing a patent portfolio. This is also used by the team for insights around the data for claims scoring.
This data is used both in assessing portfolios but also in designing responses to patent offices based on the documents that are identified and are related to the current Active Patent.
The applications themselves are run primarily in Docker Containers across a cluster of VMs. RabbitMQ is used for scheduling and orchestration between various tasks like ML, OCRs and also to communicate between applications.
Some of the products are not set up to be multi-tenant. For this reason, we create a separate set of resources for specific customers and give the client a specific link to access these resources. This means they have many deployments of their product, something to consider during the migration. The organization’s goal is to move towards a multi-tenant infrastructure architecture and simplify their operations in deploying, testing and managing their applications.
Migrating to AWS
The primary motivations to move to AWS were cost, performance of cloud operations and overall ease of use. The team found the operations on Azure to be somewhat slower and in some cases non-intuitive. Although nothing was broken with their current infrastructure, there were a few minor issues as well as a slight overall preference towards AWS. Issues such as delays when deleting and re-provision or reusing resources on an on-going basis were a pain. Although interested in trying AWS it was not clear on how the data migration would happen, how much downtime would occur and how long it would take to bring up the complete application stack on another cloud. At the outset of this initiative, it was unclear how ‘locked in’ the applications were to Microsoft Azure.
As a DuploCloud customer, it was asked how DuploCloud can help with the overall migration if they wanted to try it out and test the software. DuploCloud helped them create a migration plan which consisted of some automation using scripts and rest of the automation using DuploCloud software.
Transferring the data was the number one challenge when making the move. In order to do so. Elasticsearch was migrated by taking snapshots and copying them into an S3 bucket. Similarly other data sources needed to be copied to S3. Once a copy of data was available, they could use DuploCloud to bring up the application as well as Elasticsearch containers on AWS. The client had never done an Elasticsearch migration like this. For this reason, the DuploCloud team stepped in with technical guidance to ensure best practices were followed through this process while setting up containers.
In standing up their applications, our client was able to export their service configurations as JSON, make some changes by updating the config file as per AWS infrastructure and use DuploCloud’s APIs, then import to AWS and everything came up there after — DuploCloud brought up the containers and services. In other words, the pain of having to bring up each individual Docker Image was avoided through this automation.
For database migration they were able to copy a database dump into a file, compress it and upload that into S3. They created an RDS database using the snapshot from S3. DuploCloud provided an easy way to create, test and destroy RDS instances using these snapshots. DuploCloud also took care of stitching together all the resources in AWS in terms of networking, security and access control. They had to do some manual work to make some networking connections across Tenants. Tenant is an abstraction that DuploCloud provides to launch a single application.
The main obstacle was managing the downtime needed for the production database once the testing was completed. Overall relational database migration took time, few iterations to get right and automate using scripts and finally led to a small amount of production downtime of 3–4 hours. For this reason, the final migration was done over the weekend.
All changes were done through a UAT/dev environment first — with testing & sizing for the RDS database based on the concurrent connections required. Equivalent was done for VM sizing and DB sizing as the performance testing was done. Any configurations that needed to be done for AWS were identified at that time. Testing was required prior to doing production migration and even so there were a few minor issues when moving the production application that needed to be looked at. Being able to quickly create new resources such as RDS instances allowed for faster UAT and final migration using DuploCloud.
Overall the process went smoothly given that the team had done enough testing prior to the actual migration.
Key Benefits of Using DuploCloud
DuploCloud helped in multiple ways in doing a successful and less stressful migration:
- Architecture guidance around data migration from Azure to AWS.
- Migrating application containers using an export and import functionality from DuploCloud with some manual configuration changes
- Creating an environment on AWS quickly using containers, RDS, S3 and other resources without having to worry about network connectivity, IAM roles and access from one resource to another
- For UAT and performance testing, DuploCloud helped create, tweak and destroy various containers and other resources quickly without worrying about the proper cleanup and writing a lot of code to do the same.
Security and Compliance
Their security needs have largely been driven by customer requests. They don’t have to follow a regulatory standard but they do want to follow all the best practices. They kept very minimal resources with any kind of public access in Azure and took a similar approach in AWS. They also leveraged DuploCloud’s approach to providing security from the provisioning of resources and following up of best practices. Post migration, the client was in a place where their infrastructure and application are ready for their future security questionnaires and annual reviews through vulnerability assessments and penetration testing.
DuploCloud was also helpful for managing security groups, IAM policies, key management and network security. They are more confident in AWS with granular IAM policies being managed through DuploCloud.
Savings were achieved in two forms. First, their monthly cost was reduced by over 20% on an ongoing basis. Leverage the AWS Migrate program in order to offset their transition costs in the form of a few months of cloud spending.
The bulk of the migration with core production apps running on AWS was done within 45 days.
Operationally, the team noticed developer productivity has increased through less time being taken in order to provision or tweak any services related to their infrastructure. They also feel that DuploCloud provides them an additional layer of security and control on top of AWS.
Contact us at www.duplocloud.com to learn more.