Everything You Need to Know Before Migrating Your Apps to the Cloud
The cloud can make for unsurpassable efficiency, but it also introduces overprovisioning risks that need to be addressed and managed.
So, you’ve made the decision to migrate one or more of your applications to the cloud — bravo! The cloud offers unparalleled flexibility and elasticity, and you stand to benefit from considerable cost efficiencies while preventing critical downtime (you may even get to slough off the costs of physical hardware). The thing to know about the cloud, however, is that none of those savings are guaranteed.
While some applications benefit from the ability to rapidly scale capacity, others perform clunkily, causing the cloud to overcompensate (and charge you more than necessary). Before you start lifting and shifting your apps, you need to first identify whether they’re good candidates for rehosting, comprehensively model the switch (performing a proof of concept), and then monitor you capacity and app performance to ensure that every dollar is well spent.
What Are Your Goals and Methods?
It’s important to ask whether apps should be rehosted at all. As a TechTarget White Paper, Which Apps Will Soar in the Cloud?, observes, heavily interwoven legacy systems that make high use of physical compute systems or storage units likely won’t be good candidates. Their sui generis support resources are often built out over years of careful calibration and vertical design — you might have trouble finding seamless replacements in the cloud.
Other key questions: What SLAs do you need to meet? What are your performance goals? Do your legacy systems have compliance standards you’ll need to maintain?
You also have to establish which migration path your apps will make: redeployed as-is on a service (IaaS), tweaked and hosted on a platform (PaaS), or a number of other options. Sometimes, it’s easier to replace an app with software that already exists in the cloud (SaaS). But you should always be acutely aware of any limitations with specific cloud providers, which may come in the form of storage systems or security configurations.
The best candidates, as the white paper notes, are standalone apps that are prone to wide fluctuations in traffic — oftentimes, those that threaten to down your system with capacity spikes, like on holidays. Examples include e-commerce services and mobile apps. Best case, those apps use a very small amount of resources a majority of the time (using a smaller, relatively inexpensive node instance), and automatically scale to a larger node when traffic surges.
Where the Cloud Hides Costs, Monitoring Uncovers Them
One trap that many companies fall into when migrating apps is that they place too large an emphasis on performance, which can hide inefficiencies (understandable, given the need to meet SLAs). For example, an app’s performance may appear stellar (response times clocking in under two seconds), but that may only be because auto-scaling is compensating for poor functioning.
In a physical environment, you would hit a capacity ceiling, but on the cloud, you can ride a costly glass elevator right on through the roof. You need effective capacity management and monitoring tools to guarantee that this doesn’t occur.
Without such software, it’s difficult to know whether your server instances are cost efficient. I mentioned that companies can save by utilizing a medium- or small-sized node until traffic surges. However, organizations often reserve larger, more expensive instances without realizing that they’re being charged 24/7 for its use — which can be as much as six times costlier than a physical server of the same power would be.
When migrating applications to the cloud, IT departments need to use automated tools like TeamQuest’s Monitor to comprehensively track performance and resource utilization. This way, they can ensure that both the most efficient migration paths and cloud configurations are selected while continually optimizing cloud instances. Like any IT project, the cloud presents opportunities for cost savings and enhanced services, but success can’t be assured without applying the proper tools for the job.
To learn more, download our white paper, DevOps Development: Keeping the Lights On
(Image credit: 贝莉儿 NG/Unsplash)