Migrating Microsoft SQL Database to AWS Cloud
Managing database in traditional environment is getting increasingly more challenging as data output is growing at an exponential rate. Enterprises using traditional database systems are faced with scalability and performance issues as procurement methods are tedious and the need for over provisioning makes it expensive.
Also, database have lot of manageability issues which require constant capacity planning; administrative tasks such as patching, upgrading, backing up, monitoring, authentication all of which takes up a lot of employee productivity. Consequently, organizations are moving to the Cloud to take advantage of inherent scalability, lower cost-structures and managed database services.
But database migration is complex and requires detailed planning to achieve desired objectives. Customers must conduct thorough assessment of the IT estate and plan the migration diligently. Based on our experience of helping customers migrate SQL database to AWS Cloud, customers must determine following specific things during pre-migration stage.
Consider Network Connectivity: Time taken to transfer data from on-prem to AWS datacentre depends among other things the size of bandwidth connectivity and if the speed is inadequate, you might need to bump up capacity for the duration of migration.
Define RTO and RPO: Depending on the industry and business requirement, define the Recovery Time Objective and the Recovery Point Objective of data loss during migration. This will determine what kind of tools and methodology to adopt while migrating database. Network connectivity also plays an important role in finalising RTO and RPO for database migration.
Select the Right Database Option: Important to select the right database aligned to your current and future business needs—map the criticality of workload with size, availability, speed and performance as well as version and feature requirements. Also consider what licensing option best suit your needs.
Integration points: Determine database and application dependencies and what integrations are necessary after migration.
Availability of skill sets: Take stock whether you have internal capabilities to migrate database or else seek the help and expertise of an AWS APN partner.
After this stage, choosing the right migration strategy is important to achieve organizational goals which may vary from cost-cutting to take advantage of specific features of Cloud-based database service or simply to overcome the problems of a legacy system. There are different approaches to migrate on-prem SQL database to AWS Cloud depending on your comfort level and business requirement.
Rehost: If you want to continue with familiar administrative experience and greater control over the environment then rehost SQL server on EC2. All SQL features and versions are available.
Replatform: If you want optimized architecture with automated patching and back up and high reliability then go for SQL server on RDS.
Refactor: You can eliminate SQL server licensing cost and opt for AWS native database services such as Amazon Aurora – SQL/OLTP; Amazon Redshift – SQL/OLAP; Amazon DynamoDB – NoSQL; Amazon Neptune – Graph. All of these services are managed.
Next decide on migration strategy. What migration methodology to adopt determines the success and depending on the business tolerance for downtime and cost one of the following methods may be adopted.
Back-up and Restore: Ideally suited with small size of database. Where need is to keep cost low and when tolerance for downtime is higher, for example non-critical applications. But is also used for critical applications in conjunction with log shipping.
Transactional Replication: Used to offload data from on prem primary to secondary database in AWS Cloud for read-only purposes. This approach is used where the source database has a high data generation and low schematic or object level changes.
Always-On Availability Group: Used when there is need for real-time data replication and is effectively used to migrate large mission -critical database with near zero downtime. Used to achieve both synchronous and asynchronous replication.
Log Shipping: Enables continuous replication of data at periodic intervals to perform one-time migration to SQL on EC2. Used when business tolerance for downtime is low and need to keep costs low. It works with Back-up and Restore.
Database Mirroring: Used in business-critical applications with high availability requirement. After back-up and restore, data is continuously replicated to a secondary database in AWS Cloud to minimize or avoid downtime during cutover. Once database is updated, secondary database becomes primary.
AWS Data Migration Service (DMS): Used to migrate business-critical applications where need for continuous data replication. Source database remains operational during migration and testing. Used in conjunction with AWS Schema Conversion Tool, DMS supports homogeneous migrations such as Microsoft SQL to SQL server on EC2 and RDS for SQL server; as well as heterogeneous migrations such as Microsoft SQL to AWS Aurora for Postgres. Quick and easy to use compared to self-managed replication solutions.
AWS Snowball: Used to move terabytes and petabytes of data into AWS using a storage device. Eliminates network costs, long transfer times, and security concerns.
Database migration is complex with multiple phases which must be correctly executed to achieve success. For example, assessment challenges include correctly identifying disparate database systems across geographies, plan how to normalize the data and convert the schema. During migration, ensure data is safely moved without loss or corruption and plan how to test for data loss or corruption.
Database migration requires experience and expertise—with testing and more testing required at every stage. Umbrella Infocare has helped many organizations migrate Windows SQL to AWS Cloud to modernize and transform systems. Our certified engineers combine deep understanding of AWS database offerings, help choose the best licensing and database option, plan and execute the migration by transferring data, configuring instances, integrate network, security, storage and system management services to have your systems up and running with minimal downtime using accelerators and proprietary processes.