Tagged: cloud computing

Cloud computing is the most overhyped, misunderstood computing trend since “Web 2.0.” In recent polling it’s also the #2 CIO initiative for 2010, with virtualization being #1. Like any popular IT fixall buzzword, people seem to ignore the prerequisites required for a successful implementation.

Cloud computing is really just an evolution of virtualization. Like virtualization, there are prerequisites that are required for a successful implementation. In the case of virtualization, a sound SAN strategy is needed. Having a hypervisor utilizing one local disk controller among 10-20 virtual machines is a recipe for disaster.

In the case of the cloud, whether it’s internal or external, full stack OS provisioning is a requirement for any true cloud computing initiative. What is full stack OS provisioning? It’s the ability to provision a production ready server (physical, virtual, or cloud) without requiring any manual software configuration handoffs before it is production ready.

When you look at most organizations, there is generally a large gap from the time a server is requested till the time that server is ready for business. Base OS installation is generally not the problem; it’s everything that goes on after the operating system is laid down: monitoring, backup, middleware, applications, and application configurations. Each one of those items usually requires human handoffs and manual configurations in order to finally get a server to a business ready state.

If your server OS provisioning process is not producing business ready compute nodes, then any cloud initiative is going to suffer from the same problems your organization already experiences with regular servers. Cloud computing and virtualization can rapidly speed up the ability to provision new compute nodes, but its only as fast as your provisioning process.

The marketplace for startup funding is something that has always fascinated me. Venture capitalists seem to behave like trendsetting hipsters trying to go to the next “it” club. Once the new “it” business plan is identified, VC’s will gladly fund mediocre startups that resemble or piggyback to “it” regardless of their potential for long term viability.

In the mid to late 90’s “it” was any business plan that involved e-commerce. You could write a business plan to sell dogshit online, and “it” would probably get funded. The Napster phenomenon caused a funding frenzy towards P2P startups, even though their potential for revenue was mediocre at best. The success of Myspace caused a funding boom for anything to do with social networking, even though that business model is extremely questionable. Today, the “it” trend is probably cloud computing.

Venture capitalists are like hipsters looking for the next “it” nightclub, but most of the time they end up with a bunch of “me too” companies that go nowhere, but get funded with buzzword laden business plans. Some of the most successful startups in the history of technology are boring companies in established markets.

Was there really anything exciting about Google? Search was already being done by 20 different players in the late 90’s. Search was boring. I’m surprised they didn’t get passed over in order for a VC to fund the next Pointcast screensaver.

The point is that some of the best startups are boring companies, that do boring things, in already proven boring marketplaces.

Cloud Computing is the latest in a long history of overhyped computing technologies. I won’t try to define cloud computing, since wikipedia does a good job, but the most prominent example of cloud computing is Amazon’s EC2 Service.

Instead of finding space in a data center, and dealing with all the IT related headaches that come with servers, storage, networking, and hardware, business can simply purchase instances in the cloud. Instead of paying upfront for a ton hardware, companies only pay for what they use.

Its a great model, especially for software startups. Instead of spending a bunch of money upfront on IT infrastructure, startups can spend money on their core-competencies. Need regional servers? EC2 provides multiple datacenter locations around the world. No need to deal with networking, hosting providers, hardware, and all those other IT annoyances.

So whats the problem? Well first off, you are entirely dependent on Amazon for the availability of your IT infrastructure. Amazon had 6 hours of downtime the other day. Secondly, if you actually care about performance, cloud computing will never be the best option, since its really just a slick interface on top of virtualization.

Virtualization is another overhyped technology, that allows you to split up one piece of hardware in to multiple instances all running on the same machine. So what’s the problem? You’re adding additional layers on top of the hardware, so performance is a problem. Multi-core CPU’s certainly help, but the biggest virtualization bottleneck is storage.

So you have 5 VM’s running on one server using local disk storage? Every VM instance is utilizing the same storage controller. Local disk storage is huge no-no when it comes to virtualization. The way to get around the storage problem is to use SAN for storage, but a lot of organizations are SAN-allergic.

My biggest issue with cloud computing and virtualization is reliability. With cloud computing, a software bug is no longer isolated to a single server, it can literally bring your entire infrastructure down. A hardware failure on a VM server will bring down every guest. A failure of 1 box, is really like 10 boxes going down at the same time.

In the financial industry, current cloud computing offerings would never be used due to performance, security, and risk concerns. At financial firms, virtualization is limited to dev/test configurations since financial applications are extremely latency dependent. What works for a Web 2.0 startup, doesn’t necessarily translate to other industries.

Cloud computing is definitely a interesting technology, and virtualization is here to stay, but its not a magic bullet. There are huge downsides to these technologies.