Welcome to part two of CIO's guide on how to migrate enterprise applications to the Amazon Web Services (AWS) cloud.
Read part one of the series.
Application migration: Phase 4
This phase determines if you should move part of or an entire IT infrastructure to the Cloud without disrupting or interrupting your current business. There are two main application migration strategies: Forklift or Hybrid.
The forklift migration strategy: Most suitable for stateless applications, tightly coupled applications, or self-contained applications. Rather than moving pieces of the system over time, forklift or “pick it all up at once” and move it to the Cloud. In this approach, you might be able to migrate an existing application into the Cloud with minimal code changes. Most of the changes will involve copying your application binaries, creating and configuring Virtual Machine Images, setting up security groups and elastic IP addresses, DNS, switching to relational databases in the Cloud.
The hybrid migration strategy: Rather than moving the entire application at once, parts can be moved and optimised one at a time. This reduces the risk of unexpected behavior after migration and is ideal for large systems that involve several applications. This strategy can be used to integrate Cloud applications with other Cloud-incompatible legacy applications (Mainframe applications or applications that require specialised hardware to function). In this strategy, you might have to design, architect and build temporary “wrappers” to enable communication between parts residing in your traditional datacentre and those that will reside in the Cloud. These wrappers can be made “Cloud-aware” and asynchronous so that they are resilient to changing internet latencies.
Leverage the Cloud: Phase 5
After you have migrated your application to the Cloud, run the necessary tests, and confirmed that everything is working as expected, it is advisable to invest time and resources to determine how to leverage additional benefits of the Cloud like auto scaling, edge caching your static content, auto-recovery and most importantly, elasticity. Elasticity is a fundamental property of the Cloud and can be implemented at different levels of the application architecture. Implementing elasticity might require refactoring and decomposing your application into components so that it is more scalable. In this phase, you should try to automate elasticity which enables you to quickly start any number of application instances when you need them and terminate them when you don’t, while maintaining the application upgrade process. Choose the approach that best fits your software development effort.
Many companies fall short in disaster recovery planning because the process is not fully automatic and cost prohibitive to maintain a separate datacentre for disaster recovery. Disaster recovery implementation in the Cloud is much cost effective and simpler than traditional disaster recovery solutions. You can completely automate the process and bring up an entire Cloud environment within minutes. When it comes to failing over to the Cloud, recovering from system failure due to employee error is the same as recovering from an earthquake. The beauty of having a business continuity strategy implemented in the Cloud is that it automatically gives you higher availability across different geographic regions without any major modifications in deployment and data replication strategies.
Optimisation: Phase 6
In this phase, you should focus on how you can optimise your Cloud-based application in order to increase cost savings. Since you only pay for the resources you consume, you should strive to optimise your system whenever possible. In most cases, you will see immediate value in the optimisations. A small optimisation might result in thousands of dollars of savings in your next monthly bill.
Terminate your under-utilised virtual instances, understand your usage patterns, improve efficiency of your application architecture by implementing caching wherever you can. Invest in advanced monitoring and telemetry of your applications so you get better visibility into your applications remotely.
The Cloud brings scalability, elasticity, agility and reliability to the enterprise. To take advantage of the benefits of the Cloud, enterprises should adopt a phase-driven migration strategy and try to take advantage of the Cloud as early as possible. Whether it is a typical 3-tier web application, nightly batch process, or complex backend processing workflow, most applications can be moved to the Cloud. By adopting this six-phase migration strategy to the Cloud, enterprises can accelerate their learning, and achieve early success to help their businesses gain competitive edge with the Cloud.
This is part two of CIO's guide on migrating enterprise applications to the Cloud.
Jinesh Varia is the technology evangelist for Amazon Web Services.
Why cloud won’t kill IT outsourcing or consulting
Cloud computing: Why you can’t ignore chargeback
Businesses still wary of cloud says survey