[Editor’s Note: With so much talk about the cloud and cloud computing — is it good, is it bad — we thought we’d bring in some industry experts to break it down. Marty Abbott and Michael Fisher of AKF Partners have years of experience working for and consulting with tech companies debating what has become a common question: Is it time to convert to the cloud?]
Cloud computing is the buzzword du jour. It promises to keep your data in a readily accessible swirl of loosely linked virtual servers rather than in the confines of a grid of connected computers. And that’s a great proposition for some. Software-as-a-Service (SaaS) companies in particular could use the cloud to develop and deploy their products much faster than before. But companies thinking of implementing it across the board should be wary of several limitations that could severely impact their future success.
As consultants to some of the most forward-thinking tech companies in the business, we’ve gained early insight into the risks and advantages of embracing the cloud. (One of our clients is an early adopter of a majority of Amazon’s suite of web services in this category — EC2, S3, SDB, SQS, EBS — a whole lot of acronyms for software that lets you host your application in the cloud as well as quickly store and retrieve large amounts of data from it.) So based on that experience, here are our top five concerns:
1. Security. Not a month goes by without us hearing about a security breach or leaked personal information. Which begs the question: In the cloud, where exactly is all this data being stored? Who has access to it? And how easy is it for someone who doesn’t to get it? The answers to these questions just aren’t as clear cut as they need to be for many SaaS businesses, especially those handling loads of personal data.
2. Non-portability. While some cloud computing platforms can work with industry standard software like VMware, they still differ from vendor to vendor. An example to illustrate why this is significant: Let’s say you want to store an application or website on Amazon’s EC2 cloud platform. In this case Amazon is the vendor, and you build what is called an Amazon Machine Image (AMI) -– basically the code you used to develop your creation, and any related libraries or data. Then you debug it and ensure everything works. But now that you’re done, you can only use this AMI within EC2 clouds. If you want to access or use the data you’ve stored from another platform, you have to go about recreating your AMI all over again –- probably not the time saver you were hoping for.
3. Control. When you entrust an application to the cloud, you’re basically turning control over to a third party. This third party determines whether your application runs or not, whether your site loads or not and how to respond if your application or site fails to work properly. This raises the issue of service level agreements (SLAs), documents that outline the service a cloud platform provider agrees to give its users. Many platform providers don’t guarantee anything. Amazon offers 99.99 percent availability only on its S3 storage service. If the major advantage of cloud computing is greater availability, more companies offering clouds should guarantee uptime, as well as remuneration for clients when problems prevent their applications or sites from working properly.
4. Limitations. Even though cloud vendors are actively whittling away at the limitations of their platforms, businesses should always ask about limitations before committing, as they can lead to serious problems if not considered. Here are some things to take a close look at:
Persistent storage on virtual servers. Make sure when a cloud server reboots, the information on its drive is retained. Oftentimes, it is lost.
Public and static IP addresses for virtual servers: Be wary of cloud providers who only offer dynamic IP addresses. They cause problems when servers restart and are assigned different IP addresses.
Certification of databases in a virtual environment: Few database vendors have certified their software for use in clouds. So when something goes wrong, little to no support is available.
Load balancing hardware or software: Clouds are just now starting to offer load balancers –- services that evenly distribute the workload between servers operating in the cloud. Without this capability, your domain may have a hard time interacting with the large volume of different servers (with different IP addresses).
5. Performance. In the cloud, many virtual servers are maintained by a smaller number of physical servers. This virtualization process requires a lot of memory and system resources and in turn can cause applications running in cloud environments to run slower than they would on actual hardware. We mentioned that we had several clients using cloud-related web services. Well, we ran some basic performance tests to see how one particular cloud performed versus a physical server of equivalent size. One scan asked both the cloud and the server to count 173 million distinct database rows. The cloud took three minutes to complete the scan, the server took less than a second. Another database query we tried took 23 minutes to process in the cloud, and only 20 seconds on the hardware. Even if these results were off by a factor of 10, the difference is still so striking that it should give pause to any company thinking about converting to the cloud.
So now that we’ve badmouthed clouds, you’re probably wondering why they’re catching on so rapidly. There must be something to like about them, right? We thought of a few things:
1. Cost. We’re definitely fans of the cloud computing cost structure. Paying only for actual usage makes perfect sense for growth-oriented companies, especially startups. Jeff Barr, web services evangelist at Amazon, notes that he can’t name a single failed startup that used the company’s EC2 and S3 platforms for its core infrastructure. That’s certainly something to consider when you’re deciding how to host your next billion dollar idea.
2. Speed. Another thing to love about cloud computing is how fast and easy it is to pull in resources from other servers to improve the performance of an application or website. This is great for companies looking to scale. Let’s say your site is slammed with traffic after a major announcement. With the cloud, you can simply deploy a few more servers to handle the load until the storm passes — and then draw back down later to keep costs under control.
3. Flexibility. What you give up in control, you gain in ability to implement new servers at a low cost and without server procurement lead time. Want more compute cycles for your software engineers? Do you need more testing environments for your code? Pay for them and voila! You’re in business.
All in all, we’re left with the impression that cloud computing is good for some companies, but not for others. If your business’ growth is unpredictable, if speed is of utmost urgency and cutting costs is imperative to survival — if you can’t afford to allocate headcount for operations management or predict what kind of capacity you may need down the line — cloud computing could be just the ticket. It’s a solid choice for young, pre-product or alpha companies with little to no revenue.
Mature SaaS companies, on the other hand, are characterized by high growth and have even higher expectations for their production platforms (usually reinforced by contractual obligations). Outages have the potential to cost them a lot of money, so control over response and resolution time is vital. For these reasons, cloud computing is probably not the best idea. A good rule of thumb: If the cost of just one outage would exceed the benefits of speed and flexibility, you’re better off managing your own infrastructure. This doesn’t mean there’s no place for clouds at more developed SaaS companies. They can leverage them for other needs, like disaster recovery, or short-term surge capacity.
Of course, most importantly, we should all keep an eye on how cloud computing evolves over the coming months and years. This technology has the potential to change the fundamental cost and organization structures of most SaaS companies. And as cloud providers mature, we’re sure they’ll address our top five concerns, becoming more viable companies in their own right.
Marty Abbott and Michael Fisher are partners at tech and startup consultancy AKF Partners. Both have executive experience at Fortune 500 and startup companies. Prior to AKF, they worked at internet advertising company Quigo, which they sold to AOL in 2007.