The convenience and potential cost savings of AWS Elastic Compute Cloud is appealing, but the unknowns make many...
IT pros hesitate. Migrating existing applications, especially legacy apps, to the cloud has served up more than enough inertia to keep administrators firmly on the ground.
It turns out that making the switch is not so hard, but there are some guiding concepts to bear in mind in an AWS migration. Organizations should follow three steps before to moving an application to Amazon Web Services (AWS).
First, conduct a portfolio analysis, looking at individual applications and their workloads to see if they are good candidates for the cloud. "The original cloud value proposition was about reducing cost, but nowadays it is clear that the real value is in having an application that can really take advantage of the cloud's flexibility," said David Bartoletti, analyst at Cambridge, Mass.-based Forrester Research.
A second consideration is to determine whether you want to add new or novel capabilities to the application once it's in the cloud, such as big data or Hadoop.
The third point to consider is whether the application is already virtualized, which would ease the move to the cloud. However, "if you are just sliding a VM over to the cloud, it may provide some initial cost savings but probably won't save you money long term unless it provides some other advantage," Bartoletti said.
Use AWS migration tools
IT teams need to carefully complete a full transition to the cloud. Consider virtualizing an application first, then look at using a cloud migration tool. "If you are using VMware, Amazon has a VM Import/Export tool to help you migrate directly," Bartoletti said.
Migration tools can help admins evaluate network connectivity issues and reestablish links to previously hard-coded addresses in an application. This should be done in accordance with a plan. However, you can also take the brute-force approach of simply copying an application to AWS and then making the necessary adjustments so it works correctly. There are third-party services available to help facilitate an AWS migration.
But not all migrations are the same; legacy applications need extra care. For example, for smaller X86-based applications, the process is usually a simple "lift and shift." However, in the enterprise, few standalone applications fit this description; most applications are interfaced into a larger application ecosystem.
"In this situation you are potentially breaking an interface," said Joseph Coyle, Capgemini North America CTO. Capgemini applies a method to identify targeted applications and business processes, and any interoperability between them.
AWS as well as nearly all private clouds support only X86-based technology, Coyle noted, and the overwhelming orientation is toward Windows or Linux OSes. Businesses operating with legacy systems that don't conform to those types or rely on a database not supported in the cloud will probably need to convert to one of those technologies.
"For legacy applications that do need some type of remediation, you need a process to determine the changes required and where the remediation will take place," Coyle said.
Six steps in the AWS migration process
Once you know what components you want to move, there is a logical sequence to the migration process, according to Avishai Wool, CTO at AlgoSec, a Boston-based network security policy management provider.
1. Identify all the servers on which the application relies and to which the code connects -- not just the servers running the code.
2. Identify all clients using the application and the network segments in which they are located.
3. Select which servers will migrate to AWS, as some may need to remain in the data center.
4. Clone migrated servers and place the copies in AWS instances, then assign IP addresses to the clones.
5. Reconfigure the servers to refer to the newly selected addresses of their peers.
6. Configure the AWS firewall and traditional firewalls around the data center to allow all the application's flows using the new IP addresses and taking their new network paths.
Glitches and gotchas that could cost ya
Most companies new to AWS will make mistakes when selecting or provisioning instances or when selecting the type of storage that's needed. A less common mistake with a big consequence is ignoring network considerations.
"In the AWS consumption-based model, being wrong on provisioning can be very quickly remediated with AWS capacity and toolsets, but a networking error can bring the migration and user access process to a halt," Coyle said.
Another potentially costly error is selecting On-Demand Instances versus Reserved Instances. "This type of error has no compute or performance issues but could carry a large financial impact," he said.
Migration doesn't have to be an all-or-nothing process. Shlomo Swidler, CEO Orchestratus, Inc., recommended, "Just get your feet wet, have a road map, perform a portfolio assessment to determine which applications should migrate first, and then have a measurable criteria for each stage to help make go (or) no-go decisions."
AWS beats the enterprise application migration drum
Can proprietary databases be securely migrated to the AWS cloud?
Using microservices to deal with legacy applications