The Zen of Cloud Computing

What is This Thing, and Why Do I Want It?

A virtual machine is exactly what it sounds like: an imaginary computer, as imagined by a real computer. If you create one on your local machine with, say, VirtualBox, your computer will accept input and process data as though it were the virtual computer, with whatever software you specify (as long as you are running the VM, of course). This is great for things like trying out a new distro or window manager, or for maintaining a particular fixed environment without falling entirely behind the times, but it is resource intensive and doesn’t let you do anything with the virtual machine while your regular, real computer is off. That’s where the magic of the CLOUD comes in.

The magic of the cloud is, like many things, the magic of making other people do things for you. The essence of cloud architecture is that some other machine runs your virtual machine (or smaller service, if you don’t need a whole computer). You don’t need to worry about storage, and the service is up whenever you like, whether you are interacting with it or not.

You can use a cloud-based virtual machine to do things like host a game server or blog without running a dedicated server in your livingroom. Other types of cloud apps are good for collaborating with people working on multiple machines (including yourself at different times and in different places).

What Can I do with Openstack?

Basically anything. We use openstack to run our webserver, all of our various databases, the email server, a gitlab instance, three shell servers, and half a dozen other things. All of these services are run on dedicated virtual machines that were installed from a single image with certain defaults preconfigured. We added task-specific software and configuration, and now we just let the things run.

Openstack can be a bit of a bear to use, though, so if you just want, say, a place where you and a bunch of people can edit a latex document, you probably want…