What on earth is OpenStack?
Your guide to the Linux of cloud computing
It was back in 2010 when Rackspace, the company famous for hosting lots of websites, got together with NASA, the agency famous for pretending to send astronauts to the moon.
The whole project kicked off after a single blog post by a NASA contractor. The post read: "Launched NOVA - Apache-Licensed Cloud Computing, in Python. It's live, it's buggy, it's beta. Check it out."
Together, NASA and Rackspace went on to create a kind of online fantasy world, where storage, resources and performance would be no object, and small startups could build their ivory towers in the clouds, knowing that when their day came, they'd be able to scale everything up, quickly and efficiently, before quickly selling their stock to Facebook.
OpenStack makes all this possible because it's open source, and so works like Linux itself. In fact, some people refer to it as the Linux of cloud computing.
You can pay for someone to run OpenStack for you, or you can experiment with it knowing you're playing with something that can easily be expanded. Just like Linux.
Q. Please, not the cloud. I don't get it.
A. Perhaps the best analogy we can make between real clouds and those of the computing variety is that there's no single definition of what a cloud is.
Get the best Black Friday deals direct to your inbox, plus news, reviews, and more.
Sign up to be the first to know about unmissable Black Friday deals on top tech, plus get all your favorite TechRadar content.
It's a definition that's always changing, like the weather. It could be your Gmail and your Google Docs, but it's also your Facebook account or your Exchange calendar.
If you're a tech company, there's a good chance your IT department might already be replacing its own racks of servers with rented space and capacity on someone else's cloud, or you might want to farm out CPU-intensive science to Amazon's EC2 to get the results of a calculation in minutes rather than the weeks it might take on our desktop machine.
Q. Does that mean you can't be any more specific on what OpenStack does?
A. Getting more specific means using some dangerous acronyms. Start with IaaS, for instance, which rather than being a self-deprecating insult, stands for Infrastructure as a Service.
This use of the cloud is closest to our IT department in the previous example, where a company replaces its own infrastructure with one it rents by capacity in the cloud.
This is the business Rackspace wants to dominate, and with good reason.
There are massive economies of scale to be had when a single company manages the infrastructure, with potentially big savings for any company that wants rid of its own IT. That makes for a very attractive business model.
This is also the level at which OpenStack works. It's a solution for IaaS because you can do anything you want with it - just as you can with a virtual machine, for example.
At the other end of the scale we've got SaaS, which is Software as a Service. This is easier to understand because, rather than managing the entire infrastructure, you need to worry only about a specific application.
It could be a company CMS, or any of your company-wide systems that need high-availability.
The important difference between SaaS and older server models is that these applications are usually provided by the cloud vendor.
The simplest example is paying for corporate access to Google's mail, calendar and document suits, rather than running those services yourself or paying a company to host your servers...
SaaS means that you don't need to take responsibility for installation, deployment or maintenance (unless these services are running on your own cloud, of course).
SaaS becomes relevant to OpenStack only when you configure it to offer a service that you then sell to customers, such as your own cloud-based email or document editing.