Once upon a time...
We started off like many people I suppose, with a number of co-located boxes around the world and a list of phone numbers of people to call if things went wrong. It's nice having your own servers in places! You know exactly what's going on with them, what hardware they're running, what the situation is with their operating systems and you don't have to worry about shared hosting, or having to call a managed host if you need something done ( we still have account with managed hosts who won't give us root access, or even sudo!)
But most importantly of all, you get to name the servers yourself! Sounds sad, but knowing that in a cooled room in the Midlands with a 500mpbs pipe to Telecoms House each are Fred. Barney, Wilma and Pebbles, the NAS connected to all three. It's a nice to actually know what it is when you SSH into it first thing in the morning, to know you've installed all the HDD's yourself, and to know that you've stuck a picture of the Flinstone character on the front of each one for quick recognition for the Co-lo staff.
There was an Evil Demon...
But from time to time, something comes along and spoils your day. Work.
That phone call, that says you're going to have to find another 30% capacity for just three days for a new job. Bugger! You want me to install X servers, and sign Co-lo contracts, for three days? You know the Co-lo is going to laugh, because they're working on a minimum three month contract to get things into the rack, and your hardware provider is going to laugh when they see the order for those nice new servers. Of-course, you could call the managed hosting company, see what they can do... but once again the minimum contact rears it's ugly head and you've no control over the hardware (and you know shared hosting isn't going to be popular with the amount of traffic you're about to put through those boxes!)
And once you've got that dealt with, it's time to talk to Adobe for that ohh-so-not-cheap Flash Media Interactive Server licence per server...
We had this problem a few times. When your industry runs on a last-minute princible there's little you can do. Sure you can tell yourself once again that you'll tell the client 'No! No written contract or deposit a week before the event? Can't be done!" but you know you'll always take the job, because who can afford to turn down work? Sporting events never have this kind of thing sorted out, and the web-streaming / TV / DVD / screen-hire side of things is the last-of-the-last to have it's budget confirmed.
Along came a Brave Knight
Calling it 'Cloud' computing wins you no favours in the office. Your co-techies think you're spitting the latest buzzwords around to get out of another road trip with a car full of U1 servers, and the higher-ups think you're spitting a load of buzzwords to get a promotion and a company car for those trips. No, don't use 'Cloud Computing' because it's vague and doesn't tell the truth of the matter. There is still a room full of computers somewhere, you just don't... have... control... wait this sounds against all the wonderful things I stated above! No hardware control, you don't know Dave the security guard at reception and you don't get to talk to Steve the guy in the states with the co-lo details over there. Boo! But wait... when that peak arrives I can just turn more servers on... that's good.. and only be charged pence per hour for them... and we can rent the software licences as well! Now the boss is listening, bringing you cups of tea while you do some more research! Co-techies are seeing their hours spent dealing with failing RAID's dropping and worrying how to allocate the next 2tb HDD upgrades..
Utility computing is useful. Trust us.
... Who fought with the Demon ...
Our real-world situation is this. We canned all our Co-lo contracts. We maintain a core of our fully purchase licences running on some Amazon instances, and turn others off-and-on when we need to to the events we're going to cover. I know what the theoretical bandwidth is for the AWS instances, and I know from experience what kind of traffic we'll get from one sporting event to another, so we fire up the servers as and when we need to. We've not yet gone down the route of making this process automatic as, to be honest, we don't get 'unexpected' spikes. We always have people at the event doing the web-casts, and they all know how to fire up another batch of servers, it's not that difficult (Elasticfox and some batch scripting is al you need)
When we need more servers than we own 'traditional' licences, we rent them. Subscription services and paid-for AMI's are a great way to add flexibility to the system without those big up-front costs. Do you need a media server for live streaming for three hours? Rent one! Need some big-iron to crunch some data? Rent some! Need a pre-installed LAMP stack with Joomla! already installed? Deploy one! You get the idea. Pre-buying servers also saves you a good amount of cash, for example taking an 11-cent-per-hour small instance in a European data centre down to 4-cent-per-hour.
We even ditched our traditional data stores. We've got backups dotted around of course, but we found moving all our footage over to AWS ended up being cheaper than it was to host it in Co-lo.
... And some problems of his own ...
There are serious things to consider. First is learning curve. If you're used to calling a company and then being faxed login-details for your new server, you may struggle. The biggest problem you'll run into is persistence of state. For example, think while you're reading this page the power goes off... the room goes dark and your PC makes a little wurring noise before silence. You know that when that power comes on, the files you've saved are still there.. but you don't get that with AWS images. Think of it as booting from a DVD drive. It'll work and you can play with it, but you can't make any changes to the DVD. That's the biggest problem we have. To be fair to Amazon, they have plenty of tools and solutions to help with this, mostly different methods of data storage that act as mapped drives so you never notice the difference, but you spend a lot of time working ways to automate the mapping of these drives and setting up of various services and configurations. Once you've got your instance just as you like it, you have to learn how to create your own AMS (Amazon Machine Image) - think of it as burning a new DVD to boot from... You can see where this is going: if anything changes that can't be automated when the instance fires up, it's time to spend an hour creating a new instance.
... and we'll tell you the ending when it ends ...
If you want to pay for exactly what you use, then have a good long hard look at utility computing. The migration may be a bit of a bastard, but you don't have to work everything out at once. Plus at 10cents per hour you've no real financial reason not to have a play at things!
