Steve: Developing on the Edge - Private Clouds, good or bad?
Steve: Developing on the Edge
Thoughts on development, Web-services, technology and mountains.
28Jan
Thu2010
Private Clouds, good or bad?

James Hamilton -who I have a lot of respect for- has big posting, Private Clouds are not the future.

His Arguments

  1. You don't get the scale in hardware purchases
  2. Only the big datacentres can justify the investment in free-air cooled, low-power servers, negotiate low cost power from PNW hydro facilities, etc.
  3. "Cloud computing providers have some of the best distributed systems specialists in the world.They also have open source experts and depend deeply upon both open source and internally produced software."
  4. Costs of keeping High Availability are high, best outsourced

Interesting, but I don't agree with all of them

  1. If you are doing something private you don't get the economy of scale of a brand new rack-in-container setup somewhere near Yakima or Eastern Oregon, yes your power budget may be higher. But you don't need any upfront investment in your own hardware, you contact your favourite server vendor and tell them how many you want, where and when.
  2. You don't need brand new datacentre facilities. If you can get away with what you have: less capital outlay. Whereas AWS and facebook are spending $$$, and that has be paid for somehow
  3. Yes, the providers do have some of the experts. But here's the thing, a lot of that experience can feed back into the source, be it open or closed. When we get some wierd DNS bug or something, that gets patched, the app is better at working in those situations -or a least recognising them. Amazon may think they are gaining a strategic edge by not contributing back any of their bug fixes to the big applications, but all they are doing is forking their code away from everyone elses. In open source, regardless of the license, if you keep your patches closed, you gain a short term advantage, but risk the long-term. And if you roll-your-own app from the ground up (SimpleDB) then anyone who uses it is locked into your platform forever.
  4. HA is best outsourced. Maybe so, but I note that apps on EC2 aren't necessarily HA, as the task of keeping the application alive still belongs on that ops team. Only now if something is wrong you don't get access to the datacentre, to its routers, to find out why things are wrong.

I don't see why any infrastructure shouldn't have an API that lets me create VMs from my remote command line, web UI, build tools. Something that lets me share infrastructure with other people, rather than have dedicated machines to dedicated apps. Because in a sufficiently large organisation, there are always some old under-used apps floating around, and those apps that are used have varying demand. Exactly the kind of thing you need an agile infrastructure for

Comments