Movin' on Up: 3 Things to Consider When Migrating Legacy Applications to the Cloud
By Jonathan LaCour, VP of Cloud, DreamHost.
Even the most powerful application in the world has limited value if it can't reach those who need it, or if isn't compatible with the use profile and UX that they require. With the industry undergoing a decisive shift toward solutions provided through the cloud, customers are expecting to be able to access the tools they use on any device and from any location. For organizations currently providing legacy applications that are not yet enabled with cloud functionality, a migration to the cloud might be timely and rewarding—breathe new life into your stalwart solution.
The process of undergoing that change may seem daunting, but migrating legacy applications to the cloud isn't as challenging as it may appear. These three considerations aim to help you better understand what to expect.
1. Moving Your Legacy Applications to the Cloud Isn't Magic
The work of implementing a functioning cloud solution may come off as complicated and mysterious if you aren't acclimated to the ins and outs of the technology, but in reality it's all much more down to earth and similar to traditional network solutions than you may realize. The first step in the process is to simply replicate your existing infrastructure in the cloud. You may find it helpful to seek out cloud platforms with sophisticated virtual networking technology, because they'll likely be your best bet for closely and successfully replicating the physical networks that power your legacy apps within a multi-tenant cloud environment. In this way, your infrastructure in the cloud can end up looking a heck of a lot like what you were working with before—and that familiarity can pay dividends as you operate your upgraded solution.
2. Optimize Your Architecture for Scalability
Has your application successfully migrated to the cloud? So far so good, but work remains to get things humming. You've ditched your expensive in-house infrastructure and management, but you can't yet take advantage of the elasticity and flexibility of the cloud. To truly maximize these advantages, you have to re-architect your application. Modern, cloud-native applications are able to sense spikes or lulls in traffic, and can scale their infrastructure up and down automatically. Your application architects will need to break up your legacy app into smaller, horizontally scalable components, so that you then can take advantage of your service provider's auto-scaling capabilities. Although in some circumstances the costs of this necessary redesign can become sizable, virtualization technology again can be valuable in decreasing the scope of the architectural changes needed, and allow for an end product largely familiar in operation to its pre-cloud predecessor.
3. With Cloud Infrastructure and Architecture in Place, Turn Your Attention to Data
Once you have your application established in the cloud, it will be able to scale its compute resources up and down to match the user demand it's currently experiencing. Now is the time to also think about how your data is being accessed and utilized. If your application's data lives entirely in expensive block storage, you very well may realize structural advantages and cost savings by relocating or setting up tiers for your data across more appropriate locations. Your cloud service provider will likely have an object storage service with costs significantly lower than block storage; take advantage of it. In many cases, this will amount to paying less for a better fitting product. By locating your data in object storage, your solution will have an easier time continuing to scale horizontally, and the move can simplify your application's architecture as well.
It's very possible to migrate your legacy application to the cloud with minimal difficulties, and the end product can be more similar to your current design than you might think. By leveraging virtual networking to replicate your current infrastructure and easing the transition to new architecture, by optimizing your compute utilization and breaking your application into horizontally scalable units, and by ensuring that you're taking the most advantage of the data storage options your cloud service provider offers, you can please your current customers and better win over new ones by moving your legacy solution out of inflexible legacy infrastructure and into the cloud.
About the Author
Jonathan LaCour is VP of Cloud at DreamHost.
This article was contributed for exclusive use on Developer.com. All rights reserved.