Friday, 07 April 2006
The Great Kiva Migration pt. 1 - Coming Up For Air
Wow. It's been a while since my last posting. I've been so supremely focused on dominating the new Kiva website that I've forgotten the most important thing in the world - blogging. I've also forgotten less important things like personal hygiene, basic nutrition and keeping in contact with people (sorry!!). Somehow my life has become totally absorbed by things like HTML tables and PHP magic quotes. It's crazy to think that I was this close to having been in East Africa right now instead of in a rented room in San Francisco.
For the past two months, we've been working our asses off on rewriting all of Kiva's code from the ground up. I can't remember the last time I went to bed before 5AM - not that I'm complaining - code is meant to be written by moonlight, and anyone who says differently is a punk who doesn't know a class from an object. By now, Carl's left for Uganda (according to my watch he's just landed in Dubai), and Matt and I are left to switch the site from the old version to the new one.
Neither of us has ever done anything like this. Basically, here's what the switch entails:
- Disable logins on the website and logout all the current users
- Put a warm and polite "Kiva is down for maintenance" message on the old server (where the URL 'www.kiva.org' is currently pointing)
- Write a massive SQL script that will import all the info from the old database into the new one. The current Kiva database has 16 tables, and the new one has 27. I'm a little nervous about this part because between the two of us I am the most experienced at SQL. That's scary, cause I don't know shit.
- Pull all the new code onto the new server and sanity check it by logging in and testing the crap out of all the new features.
- Redirect the URL 'www.kiva.org' to point to the new server. This is called a 'DNS Change', and it usually takes between 48 hours for all the servers to be updated with the new information. The effect of which is that when you type the address into your browser there's no way of knowing whether or not you'll get the new site or the old one - it all depends on which servers your request gets bounced around by. During that time, Kiva will remain down.
- Drink beer, watch ultimate fighting, eat Indian pizza, and pray.
Hopefully by Monday the new site will be up. Don't get excited though - the stuff you'll see will remain largely the same. You probably won't even notice any differences. This version is primarily focused on functionality for Kiva's partners (i.e. the people in Africa/C. America/E. Europe/etc who will be posting the businesses).
I'm both really excited and really nervous about this. If it works, it'll be awesome - our partners will have total control over the businesses that Kiva users will be lending to. However, if it bombs/is mad buggy it'll be like I've spent months training for the Octagon only to lose the fight because of a strategic error like allowing myself to get caught in a figure-four leglock.
Posted by flow Frazao on April 7, 2006 at 07:43 PM in Kiva/VEF | Permalink