Like other technical fads, everyone will probably come back to servers they can reach out and touch when needed, sooner or later.
Like other technical fads, everyone will probably come back to servers they can reach out and touch when needed, sooner or later.
This was the role of shared hosting in the past. Several years ago, everybody realized that having root is better. Now, instead of colocating two servers and negotiating transit and dealing with remote hands, you can spin up two Linodes for $40 and have enough power to build anything. Critical mass? Add three more. You're not waiting for a shipment of servers to the datacenter to handle a sudden load from a positive mention on HN.
Saying that the cloud is a fad and we should all own our gear does two things: (a) increases humanity's carbon footprint, since most organizations never utilize hardware to their full potential, and (b) guarantees that only those with significant capital to buy a fleet, a cage, and power will ever compete in the Internet space, which is where we were many years ago. It is very arguable that the cloud is progress, and everybody sitting on the sidelines calling it a "fad" is scared by it.
Jeremy Edberg of Reddit had a good comment later in that thread, to someone who paralleled the cloud to electricity generation:
http://www.reddit.com/r/blog/comments/g66f0/why_reddit_was_d...
What sucks is, my remarks really depend on what you define "cloud" as, which -- partially thanks to Microsoft television commercials -- is currently up in the air.
So you're right that the cloud is great for startups. It is not so great for established stuff.
I think private clouds are fantastic for established stuff, and many companies use public clouds to their benefit as well.
I added this in an edit after you replied, but cloud is a term that is difficult to nail to the wall: my explanation to people that I like to run with is that the cloud is a way to think about your architecture.
Rather than have a DNS box, two Web servers, a DB box, and so on, then another server for every development environment, virtualizing the hardware makes a lot of sense. You get a lot more traction out of each U, and with a large number of of-the-shelf utilities, you can automate the hell out of that. Need a clean test environment to try an installation of your software? There are ways to accomplish that in minutes, and dispose of it and reuse the space. That to me is a cloud. Virtualization and automation on top of it. That's what Linode has been doing for nearly eight years now, so it's arguable that Linode pioneered the cloud space. In 2003, it was just called VPS hosting.
Integrating a public cloud and a private cloud makes a lot of sense, and a lot of established big-iron is taking this approach. Big players are realizing that the cloud makes a lot of sense, which we see with HP's announcement that they intend to enter the cloud market.
See http://qconsf.com/dl/qcon-sanfran-2010/slides/AdrianCockcrof... for more.
VPS providers give you the tools, cloud providers give you the tools and a few finished products with less flexibility. You can use VPS as part of a cloud implementation, just like you can use dedicated servers as part of a cloud implementation, too.
Reddit for example doesn't seem to have one and seems quite stuck.
The "exit plan" is, really, not marrying your entire architecture to one provider. Spreading the love gives you a bargaining chip and flexibility to see which provider will perform better for you in the long run, and allows you to see the strengths and weaknesses of each. Internet latency is pretty bad, though, so sharding an app across multiple providers can be a bit of a challenge.
PaaS = Productize(VPS);
You are wrong.
> everyone will probably come back to servers they can reach out and touch when needed, sooner or later.
No they won't, because most of us don't want to be managing hardware, ever.
There are definitely hiccups, but I can't imagine many guys running an internet-heavy business going forward are seriously going to say "let's build out our own datacenter rather than solve the issues with the cloud" unless they're doing something really, really, specialized.
Personally, if I'm going to be operating a large computing environment, I'd rather stick 80% of my workload in a cloud environment and pay someone to deal with utilities, buildings, hardware, etc.
The remaining 20% may require a "higher touch" setup at a colo or a facility that I control. The smaller I can make that 20%, the less I need to spend on setting up and maintaining infrastructure.
There ain't nothin' new under the sun...