Cloud computing benefits have influenced businesses to such an extent that they are getting eager to migrate some or whole of their traditional applications to cloud platforms. One method to accomplish this task is to completely re-architect the traditional applications for deployment in the public cloud. This can be a viable option, depending on the budget, time constraints, compliance concerns, number of available developers and other technical resources. But the process can be time consuming and can turn tediously too lengthy.
The alternative method is a lower-risk, incremental path to the hybrid cloud that involves dividing an application into separate components located in the dedicated hosted environment and the public cloud. By doing so, business users can enjoy the cloud-bursting benefits of the public cloud while storing their most sensitive data and performance-hungry database and application components on dedicated gear.
Strategically speaking, moving to Hybrid cloud depends solely on the application. Let us assume that the user has a VMware environment and is migrating to a three tier application with separate web, application and database components. The migration might have been made to achieve elasticity, performance optimization, security and most importantly cost optimization.
Hence, here are five steps to migrate your three tier applications to hybrid cloud.
1.) Profile your Application- The first step towards migration will be to profile your application to understand where it is at in its lifecycle and how to streamline it for more efficient cloud integration. Identifying ways to reduce costs through consolidation and modernization might prove helpful in this process. Application profiling typically involves creating a data flow model or diagram that highlights all the components and processes of your application. The diagram helps in understanding how data flows between the different processes, where data resides, and more. The idea of presenting the process in the form of flowchart is to understand the components of your enterprise applications, their dependencies within components. This will help in knowing which apps will work in cloud and which parts will need to be rebuilt or designed around. It will also help in identifying levels of complexity and risk and determine whether public cloud, private cloud, virtualization or bate metal infrastructure is the best fit for your application’s components.
2.) Examine key application characteristics- Once the process of profiling the application is completed, the decision maker should carefully examine the web layer of the enterprise application. This recheck will help in identifying specific characteristics and requirements that will affect deployment. Specifically, one can figure out the nature and dependencies of each process, and how they interact with each other.
For example, in the web layer of your traditional application you may have a server that knows something unique about a given client or connection. That’s a red flag for an application to be deployed in the public cloud because the web layer operates independently and may not be aware of the failure of another server or have access to the unique information contained on another server.
Another key consideration relates to the latencies and tolerances between processes. If the latency of a switching fabric is too heavy—in other words, if your application is designed such that all application-oriented processes must live on the web head—then the processes may need to reside on the same servers or in close proximity. If not re-architected, this application characteristic may require a vertical rather than horizontal scaling strategy. You may also be forced to adopt a two-tier architecture where only your database traverses the dedicated fabric.
3.) Build out the hybrid environment- Image porting and data migration are good options for migrating traditional applications to a hosted environment. Here the first step to go forward will be to use resource monitoring tools to identify the baseline resource requirements of application, including the CPU, memory and disk requirements. Start by lining up the total resources you have available to each component of your application in its current state, and then start comparing the total resource allotment to trends in resource utilization. Make a note of peak requirements of busy utilization times as well as your most common baseline. By having a good understanding of resource needs and trends of your application, users can decide how much infrastructure they should deploy on an initial note. For a large-scale application with notable spikes in utilization, focus on sizing your dedicated footprint to meet the baseline demand, and where possible leverage the public cloud for periods of higher utilization. The closer you tune the environment to match the demand pattern, the more cost savings you can achieve.
- Image porting- The fastest way to move your applications to a hybrid cloud is by simply moving image files over. With some VMware tools imaging porting can be done with ease and simplicity.
- Data Migration- Image porting can be a solution to some solutions, but data migration is the most common practiced solution. Businesses and professional service partners have performed data migrations for a long time, and many options are available. By going for this process, user can first stand up the new environment and then perform whatever configurations are necessary to get the application running on the new environment. User can then copy all the unique of dynamic data from existing environment to the new environment.
But remember that data migrations can be a fairly cumbersome process. And to make things easy for qualifying customers having easily scriptable solutions such as Linux web server front ends, service providers such as Rackspace offer free, automated script migrations from its Cloud Movers Team.
4.) Perform a proof of concept- One of the best advantages of moving to the hybrid cloud instead of re-architecturing for the public cloud is that users can perform a proof of concept to test their application in the new environment before going down the costly and time consuming path of re-architecturing. A third-party provider is usually needed to help you perform load testing to capture the performance metrics you need. The specifics of the load test will depend on your application. If data doesn’t impact your app performance, one time-saving possibility is to perform the load testing before copying( backing up) all your production data and moving it over to the new environment. If you’ve implemented scaling groups in your cloud environment, you will want to verify that the environment is scaling up and down as desired. If it’s not configured to be automatic, make sure to thoroughly document your process for manually scaling the application up or down.
5.)Finally call- In the final step, traffic is flown to the new dedicated environment. This usually involves changing DNS settings to point them from your existing IP addresses to the new environment. If your application will support it, you’ll want to take an incremental approach in this step to reduce your risk. You may, for instance, want to bleed off some users before you migrate all of them over to your new environment.
NOTE-Rackspace, IBM cloud, Google Cloud computing, Amazon, Microsoft Azure offer hybrid cloud computing services.