I run all my tikaro web stuff (blog, Jira, Confluence) off a single dedicated server that’s somewhere in, I don’t know… Tampa? Or something?
It took me a while to get used to the fact that my server might be anywhere, and that I don’t know what it physically looks like. Actually, back in 1999, when I first had a dedicated server, I explicitly chose a host located in Kuala Lumpur, because I thought it was so awesome that my packets were going ALL THAT WAY to reach me. I liked to imagine that half the packets were going east, and half going west, because the server was as far away from me as it’s possible to be. Since I was losing half my packets (stuck in the Khyber pass?) I ended up moving the box to the States, but it’s still more of an idea to me than a machine. But it is a machine somewhere.
Anyhow, enthusiastic young programmer Dustin Whitney at [my current employer] (ha! ha! newbie blogger!) send around a coders-list email extolling the benefits of the Amazon Elastic Computing Cloud (EC2). Which works like this:
- You make a “virtual machine”, which is a computer that thinks it’s a computer, but really it’s a piece of software that thinks it’s a computer.
Okay, so far so good. My copy of Windows XP running on my MacBook thinks it’s a beige Dell box, but really it’s software. This is futuristic, but I’m used to it.
- You package up this virtual machine, and you upload it to the formless, massive grey mist of Amazon S3, the Simple Storage Service.
This is where my head starts to hurt, imagining a global mist of, you know, files and stuff. “S3 was without form and void, and darkness was on the face of the deep.”
- You issue a web-service command, and lo! The virtual machine living in the mist comes to life, and becomes AN ACTUAL COMPUTER THAT YOU CAN MAKE DO THINGS.
And the spirit of God moved on the face of the waters, and OH MY GOD IT’S A SHELL PROMPT! (crack of lightning)
- You pay by the hour during the time your “machine” actually “exists” (from ten cents to fifty cents per hour, depending on how “powerful” your “computer” is.)
See how I’m having to use scare quotes everywhere? Because nothing’s REAL, man!
- Your EC2-hosted application got Slashdotted? Issue some magical web-service incantations, and your virtual computer clones itself.
Like marching brooms! Like a magical pasta pot that makes pasta until you say the magic word! Like an army of unstoppable homunculi! And they’re all real — but not real — they’re AMAZON EC2 CLOUD GOLEMS!
- Your web application can even be configured to do this itself — if it sees that demand is exceeding capacity, it can summon more instances of itself, becoming more and more powerful!
See? Do you see why I’m foaming at the mouth here? Jesus H. Montgomery Christ!!! Voltron! Skynet! The first chapter of the Gospel of John ALL ROLLED INTO ONE!
Excuse me while I go sob quietly in a corner. And try to figure out how to get this public/private PEM key pair working.