The lure of cloud computing may make it seem like all of an organization's resources should be migrated immediately....
In certain cases, public cloud platforms can be tremendously helpful. In others, however, a cloud migration probably doesn't make sense.
Organizations need to take a hard look at their existing investments in infrastructure -- from hardware to application portfolios to network architecture and beyond -- to determine if a move will be beneficial.
1. Evaluate current infrastructure
One of an organization's first considerations as part of the cloud migration process is its existing data center investment. This involves not only licensing costs, but also costs associated with hardware resource consumption and support infrastructure. As such, an organization almost always has significant investments in on-premises servers. Outsourcing a server's data and/or functionality to the cloud may mean an enterprise abandons that on-premises investment unless it can repurpose those servers.
Although a lift-and-shift approach to cloud migrations may not make financial sense for organizations with a large investment in an on-premises data center, an organization can still benefit from migrating certain on-premises resources to the cloud.
Update your hardware lifecycle. No matter how good your server hardware is, it will eventually become obsolete. Enterprise-class organizations traditionally cope with this expected obsolescence by adopting a hardware lifecycle policy -- for example, to retire and replace servers after five years. Instead, an organization could integrate a cloud services roadmap into its hardware lifecycle policy, which enables IT teams to migrate on-premises resources to the cloud rather than move them to newer hardware.
Although the cloud is increasingly popular with large corporations, small organizations and startups are particularly attracted to cloud computing because it provides access to enterprise-class hardware and fault-tolerant features that otherwise may be unaffordable. Similarly, startups can benefit from cloud services because they can quickly ramp up their operations without investments in on-premises data center resources.
2. Weigh application migration factors
As part of a cloud migration plan, administrators must consider whether the application can function in the cloud, and, if it can, how the cloud might affect its performance.
Compatibility usually isn't a big problem for newer applications that run on top of modern OSes. It is also easy to assume that performance won't be an issue for such applications because most cloud providers allow you to allocate resources on an as-needed basis. However, for older applications that run on legacy OSes, a move to the cloud may not be an option.
There's a lot to consider before you shift applications off premises, so what should be the priority items on your cloud migration checklist?
Plot your app's cloud performance. Besides potential cost savings, a big reason to move applications to the cloud is to improve their performance. That can mean better response time or faster transaction processing. Pick the right cloud services that will increase your application's performance, or that will at least maintain the performance of an on-premises application server.
Ensure availability. Even though you can provision a cloud VM with nearly unlimited compute and memory resources, internet bandwidth may impede application performance. It does little good to host a high-performance application server in the cloud if bandwidth limitations stand in the way of good UX. Make sure your cloud connectivity supports your application's performance needs.
Plan for portability. It is often easy to migrate a virtualized application server to the cloud, but an application might have external dependencies that rule out -- or greatly complicate -- a cloud migration. Determine all of an application's dependencies so there are no loose ends after the cloud migration.
Weigh scalability versus cost. Some IT analysts suggest that cloud services are ideal to host hardware-intensive workloads because cloud platforms generally offer nearly unlimited scalability. A cloud provider can usually scale its offerings to meet even the most demanding workloads, but this scalability comes at a price.
Public cloud providers, such as Microsoft and AWS, generally charge fees based on resource consumption. As such, a cloud-based, high-performance computing environment can become cost-prohibitive. A client told me, for example, that it costs thousands of dollars per month to operate a single high-performance application in the cloud, mostly due to CPU and disk I/O consumption.
Establish baselines for comparison. Lab testing is the only way to know how an application will behave in a cloud environment. Figure out the baselines for your application's on-premises performance and availability. Then assess how it'll run in the cloud. Testing provides clear goals for what to expect, and it identifies where performance could lag when you migrate for real.
3. Assess the network
Another factor to consider when you build a cloud migration plan is the on-premises network. If an organization wants to keep resources on premises, even temporarily, the cloud network must function as an extension of the on-premises AD forest. Typically, an organization deploys cloud-based domain controllers, domain name system servers, and possibly Dynamic Host Configuration Protocol servers. More importantly, the organization establishes a secure communications path between the cloud-based virtual network and the on-premises network.
This requirement usually isn't a deal breaker for organizations with an existing on-premises network, but it does mean that an organization may require extra planning around its cloud migration.
As an organization contemplates the risks and benefits of cloud migration, it is important to keep in mind that a successful cloud migration is not an all-or-nothing proposition. In most cases, it makes sense to move certain services to the cloud, and continue to operate others on premises.