This is the first in a series of articles discussing the pros and cons of various strategies for migrating to the cloud. In this article we explore “the Cloud” at a high level.
As an Azure Data Architect with nearly a decade of experience, I have performed numerous migrations to Azure and helped clients find the right path to “the cloud.” In 2010, Gartner defined the Five Rs of Cloud Migration: Rehost, Refactor, Revise, Rebuild or Replace. (Link) The Five R’s refer to HOW to migrate each application and database to the cloud. Even in 2022, these five approaches still apply to applications and to data.
Before deciding HOW to move to the cloud, it is critical to understand WHY. Knowing why can help answer how. For example, if your cloud migration is mandated to cut the costs of on-premises (on-prem) hosting and renting space at a DR site, you might choose rehosting to get into the cloud faster. On the other hand, rehosting may cost more without sufficient planning and design. However, if your cloud migration is part of a multi-year strategy to modernize aging applications and infrastructure, the other four R’s become critical to your migration strategy.
The Five R’s and Five Key Benefits of the Cloud
All major cloud providers offer a wide array of products designed to meet specific needs with each product appearing as part of an “as a Service” package. For example, virtual machines are part of Infrastructure as a Service, commonly known as IaaS. Relational databases provide a Platform as a Service or PaaS. These services offer clear benefits over bare metal servers. By leveraging commodity hardware, cloud providers can offer scalability not available on-prem. To take advantage of cloud scalability, migrating databases and applications, some amount of work will need to be done. Consider VM scalability. When a VM is scaled up or down, the operating system (OS) and all of it’s components are scaled as well. If a VM is replaced with a service such as a database as a service, all of the overhead is removed and the database becomes the core focus of cost and manageability.
That level of scalability not only promises the potential for growth but also the potential to reduce costs by only using the resources that you need. Cloud providers also offer ways of controlling costs by leveraging spending limits as well as automated scaling to ensure the right amount of resources are available to meet business requirements. Consider the costs of running a database server on-prem. Not only are there licensing fees for the database and the OS, but also hardware costs for storage, compute and memory. By migrating from a database server to a database service, the database is abstracted from the host it is running on and all you pay for is the database and its performance level.
How much did you spend on SQL Server last month? Do you suspect that the new application your company recently deployed costs more in hardware and software than anticipated? Itemized cost management and billing are available on all major cloud platforms. Reducing costs can become a strategic initiative with itemized billing. For example, if you hear that storage is cheap but the itemized bill shows that daily backups cost more than the application and database combined, look for strategies to reduce the specific costs rather than guessing and cutting back with little to no return on changes.
All major cloud providers also operate in multiple regions with multiple data centers. This alleviates the need to rent rack space or pay for bandwidth or travel to an off-site disaster recovery center. With careful planning, the cloud can offer SLA and data protection across regions without significant cost increases. Careful planning is required otherwise, you might just double your bill by having an unused replica database running in a data center or a cluster of unused VMs idling away. Automation to pause, stop or shutdown unneeded services is key to reducing costs while maintaining the scalability and recoverability benefits of a cloud platform.
Agility and Flexibility
Agility and Flexibility in the cloud generally refers to how quickly new resources can be provisioned. Looked at another way, this refers to how quickly you can spend money. Balancing costs and agility requires planning and controls to prevent unexpected costs for rogue projects. Planning should include implementing roles so that only certain users can create new resources or scale existing resources as well as implementing a deployment pipeline to facilitate an approval process and auditing.
Migrating existing databases, applications and infrastructure to the cloud requires understanding motives, analyzing existing systems and careful planning. The next article in this series will focus on five key steps to plan for success.
“If you fail to plan, you are planning to fail.”Benjamin Franklin