A cloud transformation journey based on Gartner’s 5R model
Moving to the cloud has many benefits, including improved speed and time-to-market, enhanced security, and reduced operational cost and TCO. However, cloud migration is not an easy task. Enterprises need to evaluate various cloud options that can meet their demands of scale and elasticity, choose the right approach, and decide what to rebuild and reuse before moving to the cloud.
Cloud migration can be broadly classified into three stages — discovery, analysis, and implementation.
This blog details the ‘analysis’ stage, which helps determine an effective cloud migration strategy. Though enterprises have expanded their research horizon to include retain, retire, and remediate, Gartner’s 5R — rehost, refactor, revise, rebuild, and replace — is a good starting point for cloud migration strategy.
Here’s a closer look at how we leveraged some of these strategies to help one of the top 10 global DNS providers achieve the following migration goals:
1. Save data center cost
2. Improve capacity, scalability, and performance
3. Ensure deployment with zero downtime
4. Ensure high availability for applications
5. Improve time-to-market to deliver new releases every week
The DNS provider wanted to move their Oracle database to the cloud to improve scalability, reduce maintenance, and address failovers faster. To address that, their Oracle database, caching servers, Memcached server, multiple monolithic applications (including SOAP-API-based, RESTful API-based, and UI-based applications), along with business services (integrated with XML RPC) were rehosted to AWS.
Services like Lookup, which had stringent SLAs, latency requirements, and legal compliances, were retained in their data centers but moved from physical hardware to virtualized instances.
Some of the challenges addressed while rehosting the database on AWS are as follows:
1. Performance — Moving from bare-metal to virtual instances impacted performance SLAs, which was addressed by choosing the correct instance type
2. Cost — Moving data out of the cloud involves high transfer costs. Ensuring inter-service communication within the cloud as much as possible helped them to contain data transfer costs.
3. Security — Ensuring security in the cloud is a major challenge. Starting with security groups and subnets, and regular audits to enhance the security helped them mitigate security risks.
A diagrammatic representation of the system after rehosting is given below:
Rehosting applications and databases on the cloud-enabled vertical scaling, adding new storage, and handling application failovers easier.
After rehosting, the Oracle database was replaced with RDS (AWS Aurora), Memcached servers with ElastiCache (Redis), shared storage with AWS S3, and integrated business services with SQS. Refactoring on AWS enabled the DNS providers to:
1. Use loosely coupled business services
2. Reduce database maintenance overheads
3. Achieve horizontal scalability
4. Reduce single point of failures
5. Increase availability of provisioning services from 99% to 99.9%
A diagrammatic representation of the system after refactoring is given below:
Refactoring had challenges like:
1. Tuning Aurora’s performance to match Oracle’s performance, which was addressed by changing SQLs and re-indexing a few tables
2. High cost for Aurora I/O usage in the lower environment, which was addressed by SQL batching and proper indexing
3. Designing a replication service to provide feeds to Lookup nodes
4. Ensuring robust interaction among proprietary and cloud services like retry, reconnect, failover, and graceful degradation, which was addressed by circuit breaker patterns
After refactoring, the whole system was rearchitected into a microservices-based system to realize the following benefits:
1. Single-click CI/CD deployment pipeline for ensuring:
a. Zero downtime or maintenance window during upgrade/rollback
b. Faster time-to-market
c. Ability to deploy whenever a release candidate was ready
2. Increased service availability of public and private cloud
3. Improved query response time and capacity in the private cloud
4. Enhanced operational support through the implementation of DevOps
The microservices were connected through RESTful APIs or queues (Kafka) using AWS services like VPC, ASG, Lambda, SNS, SES, CloudWatch, DynamoDB, CloudTrail, CloudFront, etc. Rebuilding also involved replacing virtualized data centers into a private cloud and implementing self-service capabilities for instance creation, network route settings, multiple ISPs, network announcement strategy (anycast, unicast), etc.
While rebuilding the system, we:
1. Used a green-blue deployment model to ensure zero deployment downtime
2. Traced IDs for each event and imposed centralized and uniform logging to ensure event tracing
3. Leveraged event sourcing and object state management, and a transaction failure tolerant schema design for distributed transaction
A diagrammatic representation of the system after rebuilding is given below:
To improve service, the customer’s native CRM application was replaced with Salesforce and exchange servers with Office 365.
Migrating to AWS enabled the global DNS provider to reduce annual licensing costs by ~$2 M, increase capacity by 10x to serve up to 800 billion queries per day, and ability to host 100 million unique domains.
A cloud migration strategy needs to be determined based on multiple criteria:
· Cloud experience
· Nature of the application
· Business roadmap of the product
· Timeline of migration
· Business continuity needs
· Performance and security requirements
Impetus Technologies has helped several Fortune 100 enterprises successfully transform and secure their business on the cloud. While the needs and challenges of cloud transformation vary across businesses, the core strategies are applicable to all. To know more about how we can help you determine the right migration strategy, connect with us.