Lifting the Fog from Cloud Computing
Back in August 2008, at LinuxWorld in San Francisco, the big buzzword was "Cloud Computing". It's a neat concept, but after a week of hearing folks talk about "in the cloud", I was about at the end of my rope. To add insult to injury, it seemed that the San Francisco fog confused many folks, and "Cloud Computing" started to be used synonymously with "Grid Computing", "Clustered Virtualization" and "My Company Is Cool".
For clarity's sake, I thought a brief vocabulary lesson was in order. Cloud computing is indeed a viable, exciting idea—but it helps if we all know what we're talking about.
The idea behind cloud computing is that services, not servers, are offered to the end user. If people need a Web server, they buy Web services from the "cloud", and have no idea what is actually offering them the serving. The "cloud" essentially hides the server infrastructure from the client, and ideally scales on the fly and so on. Much of the confusion in terminology happens, because the cloud of services almost always is powered by a grid of computers in the background. Cloud computing itself, however, is just the abstraction of services away from servers themselves.
The advantage is that a vendor can offer more reliable, diverse and scalable services to a user without the cost of dedicating hardware to each user. This allows for more graceful temporary spikes (Slashdot, Digg and so on), while not letting servers sit idle during low times. Because the back end is transparent to the user, those actual grids of computers in the background can be geographically diverse, and oftentimes virtualized for easy migration, all without any end-user interaction. Ideally, it offers a reliable "service" to the end user, at a lower cost, and gives vendors flexibility in the back end, so they can manage servers in the most efficient way possible.
Most people don't realize that cloud computing ultimately is shared hosting. Vendors avoid terms like "shared hosting", because that implies multiple people sharing a single computer. By its strictest definition, however, cloud computing certainly could be run from a single back-end server. With current scalability and virtualization technologies, vendors have much more robust ways to serve to the "cloud", and the traditional hangups with shared hosting are largely eliminated. Still, it's important to understand what cloud computing really is, so you don't get fooled into buying more or less than what you truly need.
- What sort of back-end servers are you running?
- Do you have the ability to fail over to a secondary data center behind the cloud, transparent to me?
- How do you differ from traditional shared hosting? (This one should spark some heated retorts!)
- How well do you scale, and how does pricing work for occasional spikes?
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.
- Building a Multisourced Infrastructure Using OpenVPN
- Happy GPL Birthday VLC!
- Unikernels, Docker, and Why You Should Care
- diff -u: What's New in Kernel Development
- What's New in 3D Printing, Part III: the Software
- Giving Silos Their Due
- Controversy at the Linux Foundation
- Non-Linux FOSS: Snk
- Don't Burn Your Android Yet