5 Ways to Optimize Public Cloud Applications
Moving to the public cloud can be as easy as migrating your applications and paying your monthly bill. But are you spending more than you should? These five public cloud application optimization techniques will help you save money and improve performance to boot.
Tue, July 31, 2012
CIO — Last month, a Friday night storm caused an Amazon Web Services (AWS) outage, knocking out Netflix, Pinterest and Instagram services for many users in the eastern United States. For Netflix in particular, Friday evening is a peak demand time, so customers could not have been too happy about the outage.
Meanwhile, Roundup is one of many genome mapping applications that predicts the evolutionary relationship between genes, organisms, and biological functions. The algorithm Roundup uses is compute-intensive, so the Harvard researchers behind it had to use a combination of Simple Storage Service (S3), Elastic Compute Cloud (EC2) and Elastic MapReduce (EMR), all provided by AWS. To optimize the application, the Roundup team reduced disk I/O, cut its use of in-memory caching and calculated the optimal number of instances it needed. In doing so, Roundup reduced its bill by 40 percent and made sure it could accommodate future computational growth—all without affecting performance.
An application may run properly without optimizations such as those that Roundup did, but performing them may improve associated aspects of the application, including availability, resistance to disaster and, most importantly, the cost of using the public cloud. Here are five specific optimizations you can apply to your application when moving it to the public cloud.
1. Refactor Code to Address Cloud Service Providers' Billing Patterns.
AWS charges not only for computes, storage and network bandwidth used—it also charges every time you access your storage for a read or a write. As a result, you may want to gather up reads and writes in your application and bunch them into single operations wherever possible. That way, once you have spent the money on your own servers, you don't incur additional costs every time you do a read or write operation.
The overall effect of this cloud optimization technique depends upon the pricing methodologies of the public cloud service provider (CSP) you sign up to use. Irrespective of which CSP you sign up with, however, re-factoring can be seen as an opportunity to improve application performance.