Many firms assume public
cloud is the best place to host all apps, but that's not always the case.
Before you drink the cloud Kool-Aid, ensure it's a cost-effective move.
The public cloud is an
attractive option for many enterprises because of its scalability, speed and
pay-as-you-go model. But those benefits don't apply to all workloads -- in
fact, some applications could perform poorly or cost more in the cloud.
This means, before you
migrate apps to a public infrastructure as a service (IaaS) platform, you need
to ensure the move will provide business value.
First, understand what
your motivation is for a cloud migration. Do you want lower costs? Do you need
more flexibility? Some businesses move to the cloud too fast, only because they
assume they should, which could cause issues down the road.
Before you take the big
step and migrate
apps to the public cloud, start with these three questions:
1. How do I choose which apps to
migrate?
Assess your application,
and review its requirements -- for both performance and compliance -- to
determine if it is a good candidate for the public cloud. Check if the
application has any specific network needs or dependencies. Unless you also
migrate the systems on which your app depends, including databases, latency
could be an issue. Also, review an application's design before you migrate it
to the cloud; those apps that frequently read and write to storage systems, for
example, could end up costing you more off premises. In general, applications
that are "bursty" or have frequent spikes in demand are a good fit
for public cloud, while applications that run on a more consistent, predictable
basis might be better left in-house.
Cloud providers offer
tools, such as Azure
Cloud Migration Assessment and Amazon Web Services (AWS) Application Discovery
Service, to simplify the assessment process. AWS, Azure and
Google also offer pricing calculators to estimate cloud costs.
In addition, determine
whether the cloud provider you choose meets your security and compliance
requirements. Look at where their data centers are located, especially if you
have sensitive data that needs to adhere to strict compliance standards.
After you decide which
applications to migrate, determine a migration method. Two common options are
rehost, also known as lift and shift, and refactor, also known as rearchitect.
The lift-and-shift
process takes less time to accomplish than refactoring, since developers don't
have to change the application's architecture or design -- they just move it as
is. But while lift and shift is a simpler approach, it also has drawbacks. For
example, if you migrate apps to IaaS without any modifications, they might not
be able to take advantage of a key cloud feature: autoscaling. As a result,
those applications will still operate the same way they would on an on-premises
system -- at peak -- and the enterprise will pay for more cloud storage and
compute resources than they actually use.
This makes
rearchitecting, or refactoring, a better option for some legacy apps -- even if
it's more time-consuming and costly. Lift and shift, on the other hand, is best
for cloud disaster recovery.
Do not migrate apps to
the cloud too quickly -- start with apps that are the most cloud-ready and that
have the least amount of sensitive data. After you run a pilot, test the
application, get a feel for the process and then move onto more critical
applications.
3. What are my options for cloud
migration tools?
Migration is a complex
process that comes with risk and the potential for high costs. There are both
cloud provider-native and third-party tools that can aid organizations through
the process. If an enterprise needs to move large amounts of data to the cloud,
it can also perform an offline data migration. This requires an organization to
store its data on physical disks and then ship the disks to its cloud provider.
While this method might seem old-school, it can be more cost-effective than a
migration via a network if you have terabytes of data. Offline data migration
services from top cloud providers include AWS Snowball, AWS Snowmobile, Google
Transfer Appliance and Azure Import/Export.