The cloud is becoming increasingly important to today’s businesses. We know this because they told us so.
According to recent Accenture research, four out of five companies operate as much as half of their business functions in the cloud, and plan to boost that figure in coming years. The vast majority see the cloud as an important driver of innovation and competitive advantage.
No doubt, the cloud holds immense promise, and one of the primary keys to unlock it is migrating existing applications to the cloud environment.
Companies have to not only execute this move efficiently, but, at a more fundamental level, make sure it is running the right apps in the right cloud environment.
The What, Why and How
How can you lay the groundwork for a successful migration? Start with a solid understanding of what the cloud is, what it is capable of and how this modern, elastic platform operates.
Many think the cloud is just another hosting environment, and that migration is a “like-for-like” switch: All it will take is moving everything currently in their data centers to the cloud platform.
This approach misses the whole point of the cloud and prevents you from taking advantage of the cloud’s unique capabilities to create something entirely new, the right way.
Once you understand what’s possible in the cloud, the next step is to determine how you will deal with four key aspects of your cloud-based applications:
Networking and connectivity - How will you use the cloud as a vital extension of your data center, not something that’s completely detached from it?
Security - Are the cloud services you plan to use sufficiently secure to host and process your confidential data?
Monitoring and operations - How do you translate the way you currently monitor your traditional data center to monitoring the cloud’s virtual data center?
Authentication and authorization - How do you maintain proper control over who can do what in the cloud, and how is that different from the way you manage access to your data center?
Once you have a firm handle on these four points, you can move forward to the meat of your work: carefully assessing your applications to determine which will migrate to the cloud, and to what type of environment.
Look at your current portfolio set first: The number of app families is much more important than the number of applications, because each family requires a different migration journey.
For example, you have to treat a family of Windows-based .net applications differently from a family built on three-tier Java source code.
Start with the Simple
You will also need to categorize each application along two dimensions:
Complexity (how brittle, integrated, entangled or antiquated it is)
Criticality (how important is it to the business)
To reduce risk, you will begin migration with low-complexity, low-criticality apps first, to get your feet wet and gain experience. From there, target increasingly complex and critical apps.
Then, identify the future state: To what target environments are your apps going?
Until recently, companies favored “lift-and-shift” (similar to the aforementioned like-for-like approach).
Today, because Software-as-a-Service (SaaS) solutions have become so feature-rich and mature, your first option for migration should be “drop-and-shop,” discarding the old application and finding a new SaaS solution to replace it.
“Drop-and-shop” enables you to avoid costly modernization of old apps and leapfrog over many generations of application architectures.
Protect the “Jewels”
However, SaaS is usually not an option for your “crown jewels”—the high-complexity, most critical apps.
Because these apps tend to be based on a source code created in-house and are vital to the business, migrating them to a Platform-as-a-Service (PaaS) is typically the best choice to preserve the logic and utilize new application patterns. Doing so enables you to refactor the apps in the right way, while maintaining their business-critical functionality.
In some cases, you will find there’s no suitable SaaS or PaaS solution for a particular app, so you are left with the last resort: good, old lift-and-shift. Using a migration factory, you will then transfer the existing apps as-is from the data center to a cloud environment.
There is certainly a lot more to say about what makes for a successful cloud migration, which I will cover in future blog posts. However, I hope this gives you some starting thoughts as you consider your next foray into the cloud.