Cloud Migration Won't Happen Overnight

2012-04-04by Joseph Mathew

There is an enormous difference between migrating some code to the cloud and migrating an entire application to the cloud. Yes, the heart of any application is indeed it's codebase, but your code is useless without your data, and accessing that data is the biggest challenge for cloud migration. Moving your data to the cloud might sound like a solution, but most storage devices in the cloud tend to run on cheap disks which are virtualized and shared across several tenants. Storing data has become cheaper than ever, but you get what you pay for - these databases can be slow, and they can drag down your cloud application's performance. Your code may be running faster with the elastic computing power of the cloud, but it can only run as fast as the data that it retrieves and processes.

It's no secret that the key to Java performance tuning is usually optimizing data access and management. Many enterprise companies tend to see their databases running at 80% CPU utilization while their web and app servers are running at only 30%. This inequality holds true in the cloud, where databases are often shared by multiple cloud customers. Even though storing your data may be cheaper, it doesn't necessarily make your application more efficient, a fact that your application monitoring tools will immediately make apparent.

Some cloud application services providers will claim that all you need is an IaaS or PaaS provider to successfully move your existing applications to the cloud. The truth is that many applications that run successfully in the cloud today were either developed from the ground up or completely re-architected for the cloud to allow the application to be elastic with its data. Using technology like NoSQL, these applications are able to scale horizontally as needed. The PaaS companies you see today that offer to deploy your application to the cloud will not provide this re-architect your application for you to give you this benefit - they will simply take your code, provide you with a management interface, and put your app on a few EC2 instances. The only thing that runs in the cloud is your code - good luck with your data.

The exception to this rule may be Microsoft's Windows Azure platform, which will host both your code and your data. They are the first vendor that is focused on the entire application rather than simply its infrastructure. Other PaaS vendors must follow their example if the public cloud is truly going to catch on - otherwise, the performance hit (and the work and cost of re-architecting your app) will be too much for most businesses to handle.

Today it's easy to provision IT resources to the cloud. The hard part is getting your application code to work in the cloud without investing significant time, effort, and cost. Until PaaS providers allow you to store your data in a scalable way, this isn't going to change.

news Buffer

Joseph Mathew

AppDynamics is the leading provider of application performance management for modern application architectures. That means not just the kinds of old-school app environments that existed 5 years ago, but the new ones: distributed, agile, and extremely hard to manage. They're sometimes in the cloud, sometimes in the physical data center--and always causing headaches for ops and dev teams.

View Joseph Mathew`s profile for more

Leave a Comment