Advertisment

Migrating Enterprise Apps to Cloud

author-image
PCQ Bureau
New Update

There are hundreds of thousands of companiesaround the world that are already using the cloudplatform to build successful global business. Theirearly adoption of the cloud is helping them to acceleratetime to market in rolling out their customer offeringsacross the world.

Advertisment

Developers and architectslooking to build new applica-tions in the cloud can simply de-sign the components, processesand workflow for their solution,employ the APIs of the cloud oftheir choice, and leverage thelatest cloud-based best practicesfor design, development, testingand deployment. In choosing todeploy their solutions in a cloud-based infrastructure,they can take immediate advantage of instant scalabil-ity and elasticity, isolated processes, reduced operationaleffort, on-demand provisioning and automation.

One of the key differentiators of cloud-based infra-structure services is its flexibility. It gives businesses thefreedom of choice to choose the programming models,languages, operating systems and databases they are al-ready using or familiar with. As a result, many organi-zations are moving existing apps to the cloud today.

Most applications, data or IT assets within an organ-ization can be moved to the cloud today with minimal ef-fort. This article will help you build an enterpriseapplication migration strategy for your organization.

Advertisment

Phase 1: Cloud Assessment Phase

This phase enables you to build a business case for moving to the cloud. It includes examining the costs, secu-rity and compliance, and identifies the gaps between your current traditional architecture and next-genera-tion cloud architecture.Weighing the financial consider-ations of owning and operating a data center orco-located facilities versus employing a cloud-based in-frastructure requires detailed and careful analysis. Inpractice, it is not as simple as measuring potential hard-ware expense alongside utility pricing for compute andstorage resources. Indeed, businesses must take a multi-tude of options into consideration in order to affect avalid comparison between the two alternatives.

Advertisment

If your organization has specific IT security policiesand compliance requirements, we recommend that youinvolve your security advisers and auditors early in theprocess. Data security should not be an issue in the cloudwhen handled properly. It is important that you under-stand your risks, threats (and likelihood of thosethreats), and then based on sensitivity of your data, clas-sify the data assets into different categories. This willhelp you identify which datasets (or databases) to moveto the cloud and which ones to keep in-house. Be awareof the security guidelines from major cloud providers. Inthe case of Amazon Web Services (AWS), for example,you own the data, you choose which geographic locationto store the data -it doesn't move unless you decide move it, you can download or delete your data wheneveryou like. Also, you should consider the sensitivity of yourdata, and decide if and how you will encrypt your datawhile it is in transit and while it is at rest.

A technical assessment is required to understandwhich applications are more suited to the cloud architec-turally and strategically. At some point, enterprisesshould determine which applications to move into thecloud first, which applications to move later and whichapplications should remain in-house. Perform a thor-ough examination of the logical constructs of your en-terprise applications and start classifying yourapplications based on their dependencies, risks, and se-curity and compliance requirements.

It is also important to iron out licensing concernsand work with a cloud provider that has teamed with avariety of vendors. CIOs will need to set specific successcriteria that are customized to organizational goals andculture. For example, the following is a table of compar-isons on how to measure success:CIOs will need to setspecific success criteria that are customized to organiza-tional goals and culture.

Advertisment

Phase 2: Proof of Concept Phase

Once you have identified the right candidate for thecloud and estimated the efforts required to migrate, it'stime to test the waters with a small proof of concept. Thegoal of this phase is to learn about the cloud provider fea-tures and ensure that your assumptions regarding suit-ability for migration to the cloud are accurate. In thisphase, you can deploy a small greenfield application and,in the process, begin to get your feet wet with the cloud provider.

Build a proof-of-concept that represents a microcosmof your application, or which tests critical functionalityof your application in the cloud environment. Start witha small database (or a dataset); don't be afraid of launch-ing and terminating instances, or stress-testing the sys-tem. In this stage, you can build support in yourorganization, validate the technology, test legacy soft-ware in the cloud, perform necessary benchmarks andset expectations. After this stage, you will have far bet-ter visibility into what is available with cloud providers, make careful assessment on the appropriate providerthat has a good track record of experience and innova-tion to give you the most flexibilities. You will get hands-on experience with the new environment which will give you more insight into what hurdles need to be overcomein order to move ahead.

Advertisment

Phase 3: Data Migration Phase

In this phase, enterprise architects should ask followingquestions: What are the different storage options avail-able in the cloud today? What are the different RDBMS(commercial and open source) options available in thecloud today? What is my data segmentation strategy?What trade-offs do I have to make? How much effort (interms new development, one-off scripts) is required tomigrate all my data to the cloud?

When choosing the appropriate storage option, onesize does not fit all. There are several dimensions that youneed to consider so that your application can scale toyour needs appropriately with minimal effort. You haveto make the right trade-offs among various dimensions- cost, durability, query-ability, availability, latency, per-formance (response time), relational (SQL joins), size ofobject stored (large, small), accessibility, read heavy vs.write heavy, update frequency, cache-ability, consis-tency (strict, eventual) and transience (short-lived).Weigh your trade-offs carefully, and decide which onesare right for your application. The beauty about AWS isthat it does not restrict you to use one service or another.

Advertisment

Phase 4: Application Migration Phase

This phase determines if you should move part of or anentire IT infrastructure to the cloud without disruptingor interrupting your current business. There are twomain application migration strategies: Forklift or Hybrid.

Forklift Migration Strategy: Most suitable for state-less applications, tightly coupled applications, or self-con-tained applications. Rather than moving pieces of thesystem over time, forklift or “pick it all up at once” andmove it to the cloud. In this approach, you might be able tomigrate an existing application into the cloud with mini-mal code changes. Most of the changes will involve copy-ing your application binaries, creating and configuringVirtual Machine Images, setting up security groups andelastic IP addresses, DNS, switching to relational databasesin the cloud.

Advertisment

Hybrid Migration Strategy: Rather than moving theentire application at once, parts can be moved and opti-mized one at a time. This reduces the risk of unexpected be-havior after migration and is ideal for large systems thatinvolve several applications. This strategy can be used to integrate cloud applications with other cloud-incompatiblelegacy applications (Mainframe applications or applica-tions that require specialized hardware to function). In thisstrategy, you might have to design, architect and build tem-porary “wrappers” to enable communication betweenparts residing in your traditional datacenter and those thatwill reside in the cloud.

Phase 5: Leverage the Cloud Phase

After you have migrated your application to the cloud,run the necessary tests, and confirmed that everythingis working as expected, it is advisable to invest time andresources to determine how to leverage additional ben-efits of the cloud like auto scaling, edge caching yourstatic content, auto-recovery and most importantly,elasticity.

Elasticity is a fundamental property of the cloud andcan be implemented at different levels of the applicationarchitecture. Implementing elasticity might requirerefactoring and decomposing your application into com-ponents so that it is more scalable. In this phase, youshould try to automate elasticity which enables you toquickly start any number of application instances whenyou need them and terminate them when you don't,while maintaining the application upgrade process.Choose the approach that best fits your software devel-opment effort.

Many companies fall short in disaster recovery plan-ning because the process is not fully automatic and costprohibitive to maintain a separate datacenter for disas-ter recovery. Disaster recovery implementation in thecloud is much cost effective and sim-pler than traditional disaster recov-ery solutions. You can completelyautomate the process and bring upan entire cloud environment withinminutes. When it comes to failingover to the cloud, recovering fromsystem failure due to employee erroris the same as recovering from anearthquake. The beauty of having abusiness continuity strategy imple-mented in the cloud is that it auto-matically gives you higheravailability across different geo-graphic regions without any major modifications in de-ployment and data replication strategies.

Phase 6: Optimization Phase

In this phase, you should focus on how you can optimizeyour cloud-based application in order to increase costsavings. Since you only pay for the resources you con-sume, you should strive to optimize your system when-ever possible. In most cases, you will see immediate valuein the optimizations. A small optimization might resultin thousands of dollars of savings in your next monthly bill.

Terminate your under-utilized virtual instances, un-derstand 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.

Conclusion

The cloud brings scalability, elasticity, agility and relia-bility to the enterprise. To take advantage of the benefitsof the cloud, enterprises should adopt a phase-drivenmigration strategy and try to take advantage of thecloud as early as possible. Whether it is a typical 3-tierweb application, nightly batch process, or complex back-end processing workflow, most applications can bemoved to the cloud. By adopting this six-phase migrationstrategy to the cloud, enterprises can accelerate theirlearning, and achieve early success to help their busi-nesses gain competitive edge with the cloud.

Related Articles:

MS Azure For Custom App Cloud Hosting

Advertisment