I attended an interesting panel discussion the other night about cloud computing. Six startup CTO’s were there to talk about their experiences with Amazon’s services:

Prakash Khot from Dimdim

Aaron White from Doink

Mark Pascarella from Gotuit

Joe Berkovitz from Noteflight

Philip Jacob from Stylefeeder

Brian Whitman from The Echo Nest

I really liked this panel because they were all technical and heavily involved in real day-to-day dealings with cloud computing. It’s easy to find breathless hype about how EC2 is going to revolutionize startups. This was a much more balanced view of what it’s really like.

I took some sketchy notes. Perhaps because the speakers knew everyone had heard the positives, or perhaps because I already knew the positives, these notes skew toward the negatives.

All used Amazon services, and most if not all of them seemed to use RightScale to manage them.

Cloud is great for quickly deploying new servers. Load testing: set up two machines, let them pound each other. Handling unexpected demand.

It’s scalable, but not like normal computing: Higher latency. Higher error rates. You have to pay much more attention to your error handling code.

Cloud limitations: Can’t send lots of emails, since you need a spam-whitelisted server. Disk I/O in the cloud is a lot slower than in real machines (“punishingly slow”). Want a db server with 32Gb RAM? Amazon doesn’t offer it. Want dual hardware load balancers? Amazon doesn’t have it. PCI (credit card) compliance is a problem: use a 3rd-party cart or PayPal instead of doing it yourself in the cloud.

Amazon is clearly the leader. Microsoft has a service (Azure) in beta, but it’s very Microsoft-specific. Intuit is creating a service. No one mentioned Google App Engine.

The lock-in is latency: Transfering data within the Amazon services is free. Transfering data to an Amazon competitor: not free.

Cost: cloud is more expensive than real machines. Cloud is good for elastic computing, not for high constant demand. Cloud is good for getting started without capital outlay. Many of the six startups represented got started before being funded.

Cloud further enables virutal companies. A bunch of guys with laptops can move office wherever they want, don’t worry about where the servers are.

They all muttered knowingly about the day Amazon’s cloud was down. “You could read about it on Twitter, but all the avatars were missing, because Twitter kept them on S3.”

Cloud encourages queue architectures. Pipelined role-based “machines”. The work of the app is broken into smaller pieces, distributed onto a broader network of virtual boxes. Number of machines in each role can be altered dynamically to deal with the actual load right now.

You need monitoring services external to your cloud!

One interesting side-node: the panel was at the Vilna Shul, a historic temple on cramped Beacon Hill. They could invest in some cushions for their 1840 high-backed pews, but other than that, it was a nice change of pace to be hearing tech discussion not among monitors and keyboards but torah holders and time-worn paint.