CloudCamp Aftermath
Wow, that was great! It's so nice to finally be interested in a technology again - I was honestly starting to think that I'd never enjoy another conference. Half of the fun of a conference is discussing new concepts and ideas in technology, but the other half is meeting up with folks who have similar ideas and interests, both on a professional level but also in a social (ie: beer) environment.
It was also my first "un-conference". The idea behind this is that there's a schedule, but none of the talks are booked in advance, and people come with a talk or presentation that they'd like to give and sign up to do so on the spot. In the end it's more about discussions than presentations, and in fact I was drafted (or more accurately, "tricked") into hosting a discussion group on scaling Drupal in the cloud.
Now *that* was an eye-opener - I had naïvely assumed that most people working with cloud computing were working with web applications, as that's what most of the documentation out there seems to be. Or maybe I just pitched my session wrong, and should have stressed all web applications and not just Drupal. Or perhaps I shouldn't have scheduled the discussion at the same time as Dan Kaminski's discussion on cloud security. Regardless, the room began with approximately eight people, and as it became apparent that we were really looking for a technical discussion but most of the people were in marketing and management, the room shrank to four people.
What was awesome was that the four people were:
Wild! I got more out of that half-hour session than I have reading documentation for the past month and a half. As the session started, we basically went around the room discussing backgrounds and technical histories, and it became apparent that I was really the only person in the room with any technical experience at all working with the EC2 cloud, I began to present my experiences to date, focusing on the three big problems that I had butted my head against - how to "auto-scale" web front ends using load balancers, how to scale MySQL databases elastically, and how to share storage between EC2 instances. As I discussed these, Dean Dierickx from RightScale showed up, and had some interesting notes to add from a high-level design perspective, which we talked about at length. We then started discussing database scaling, and it became apparent that nobody in the room had any practical experience with that at all.
Right about then, Jonathan Lambert from Work Habit let himself in, and after listening to us fumble about for a couple of minutes, grabbed a whiteboard marker and launched into a fifteen minute in-depth technical discussion on different methods of scaling MySQL. This was *great* stuff, though it pretty much cleared the room of the marketing and manager types. As he finished, he validated my whole trip with one statement - he said something like:
"Now, there are three major problems that everyone attempting to scale any web application in the cloud butts their heads against, and there's no simple answer to any of these: how to launch instances automatically from a load balancer, how to scale MySQL, and how to share storage between instances. We've fought these problems hard for two years now, and we still don't have a good answer, but here's how we've managed to get everything working so far..."
...and proceeded to lay out a basic, scalable platform for Drupal on the whiteboard. Most of his layout matched my work exactly!
To top that off, just last week I downloaded a script from the RightScale website that purports to set up a basic EC2 instance to be a "RightScale" machine, and poked through the script to see exactly what they're doing to prep a machine. I was shocked to see that every step of the way, their work matched what I was already doing to setup my own EC2 instances! That may not sound like much, but frankly after fifteen years of Linux administration, I have some particular ideas about how a machine should be setup for optimal networked administration; which additional packages should be installed, which default services should be turned on or off, what changes should be made to the default shell environment, etc. Seeing two large, successful operations doing exactly the same things as I do in my personal environments, and facing exactly the same challenges, was vindication to say the least!
Anyhow - even though it was a "free" conference (with the quotes of course implying bus fares and hotel fees), I think I got well more than my money's worth.
CloudCamp
Sitting in a conference room in Amazon's headquarters, in the old hospital up on the hill in Seattle, waiting for the conference to start.
Goals today: learn more about shared storage between Amazon AMIs, learn more about how to automate launching of AMIs, make networking contacts with other EC2 nerds.
Round Two
Back on the bus, headed down to Seattle to try again. This time I have an overwhelming amount of documentation with me - carrying a copy of my last six months of gas bills, a copy of my mortgage, my home insurance policy, details about the CloudCamp conference, hotel booking confirmation, and return ticket. Hopefully that's enough, and I'll be able to cross the border again. Still pissed about having a permanent black mark on my record though.
...but still pretty gleeful about being able to write this entry on the bus.
I think this system is going to work out just fine on the boat.
On the boat front (the bow? *groan*) I've managed to bounce a few more items on Craigslist, but I've got an awful lot more to go. Monday I have a few people coming over to grab stuff, and probably later on in the week I'll have even more.
At Least…
...one good thing came out of it.
I just put the Rogers 'Rocket Stick' internet thingy to a real-world test: I went through the Massey Tunnel (a serious tunnel, under a major river) and didn't experience any dropouts in service. I was chatting with Trent at the time over MSN, even. Sweet.
Still. Sucks. I wonder if I should still try to make it down to Seattle this Saturday for CloudCamp. I'm registered, I should at least *try* to make it. *sigh*.
Embracing the Cloud
So work has me looking seriously into cloud computing, specifically Amazon's EC2 'Elastic Computing Cloud'. Basic idea: virtual datacenter. Launch "instances" instead of real servers, and pay by the hour. Benefit: say you need five servers to handle your daily load, but twenty servers to handle Monday mornings - no problem.
Anyway, as with any new technology, there's growing pains. I've been spending my last few days working with instances, building a custom instance based around CentOS 5.2, from scratch. The documentation makes it seem easy, but there are a lot of gotchas. For instance, you need to configure OpenSSH to allow root logins, which goes against both conventional sysadmin wisdom and the default configuration of OpenSSH. D'oh. That nugget right there represents a good hour of puzzling.
Another thing that I'm looking into is using Amazon's S3 storage system for backups. I've downloaded and installed 'JungleDisk', a utility that mounts an S3 storage repository as a network share. It has a very useful backup utility built in, and it's probably the first one I've used that actually works like I expected it to, and continues to work without any interference from me.
Now, the real question is how I can use a combination of these technologies to help rid myself of even more of the tethers to my household computing environment. Until recently, I've had four active computers in my house:
- my "work desktop", which has long been a laptop but for some reason I get more work done sitting at a desk, with the laptop up on a stand and a fullsize keyboard and a Bluetooth mouse attached.
- my studio desktop, a proper PC tower running Ableton Live, attached to a MOTU 828mkII firewire soundcard and a pair of Mackie studio monitor speakers.
- my "live-pa" computer, a custom-built 1U rackmount PC, similar to the studio desktop but hardened for use at clubs and raves.
- my router/gateway, aka my old studio desktop, running CentOS Linux, acting as a fileserver for the house and running an instance of Windows XP as a VMWare host, for downloading torrents and the like.
I've shut down the studio desktop PC, and parted it out somewhat. The PC itself is still sitting in the studio, but I'm hoping to either find it a home, or perhaps sell it on Craigslist. Used computers don't go for very much, unfortunately, so I don't know what I'll get for it. I'm not sure yet what to do with the household router box; perhaps I'll pull the drives and put them into portable cases, or maybe I'll just wipe the whole thing and sell it on CL as well. Ideally I'd like to leave the house with some form of internet, but that could just as easily be a LinkSys box in the laundry room.
I'd like to use the cloud for as much as possible. For instance, backups are now working just fine. My four email accounts are all stored in IMAP servers on Dreamhost, which I guess counts as "the cloud". I haven't yet signed up for Apple's 'MobileME' thingy, but I intend to eventually - perhaps after I get an iPhone. The idea is to move as much of my data off of my personal computers and make it accessible from anywhere. There's still a lot to sort out though.
Bah, it's late. More later.