Welcome to this week’s Rails TakeFive, our weekly discussion about Ruby on Rails with noted developers from throughout our community. This week, we thought we’d take a little different tack and bring you words of wisdom from one of our customers on how they use Rails and FiveRuns Manage to help keep their site humming.
James Elwood is Network Ninja Master for Geezeo.com, a free web-based personal finance application that makes it easy to track all your finances, see where all your money is going, set financial goals and learn from others. Built in Rails, it’s an awesome application and community, and has received a ton of great buzz from the financial community.
FiveRuns: Welcome James, and thanks for taking the time to share your thoughts! Let’s start by talking about how you got started with Rails at Geezeo. When and why did you decide to build Geezeo on Rails? What are some of the biggest benefits you’ve seen?
James Elwood: I came on board a little after Geezeo made the decision to build on Rails. One of first early iterations of our product was built in PHP by an outsourced team. This first iteration provided an initial idea for the site but did not allow a process where the team could rapidly take an idea and make it functional in a short period of time. Coming out of the outsourcing experience the team had been reading Agile Web Development with Rails. Because of this experience and all the buzz in the industry about Rails, we decided to go with Rails full steam ahead.
Sitting back mainly on the sysadmin end I am impressed with how rapidly the team can take something sketched on paper and push it out the door. In prior jobs, often the littlest changes would involve stepping back through legacy code trying to shoehorn in new features with no guarantee that a deliverable would happen in the current quarter or even year. The challenge for me in supporting them is just trying to keep pace with them as the requirements shift and they find new and inventive ways to boost performance and streamline operating costs. My experience is that Rails and the development methodologies surrounding it play a huge part in our ability to dream, design, build, and deliver.
FiveRuns: How has FiveRuns helped streamline and enhance your systems management processes?
James Elwood: By nature I am lazy and have an extreme dislike for perpetual repetition. I also hate re-inventing the wheel when I could be innovating the next big thing. But let me clarify, lest my bosses think that 70% of my time on the job is spent asleep. My feeling is that if you can automate a task then do it because that will free you up to tackle more pressing tasks or ones that add increased value.
At my last job we had the horrendous daily task of writing out the back up logs. (Literally writing them out. By hand, With pencil and paper). It was one of those jobs that you grit your teeth and wish that you could convince the powers that be to look at how you could manage that process by exception. FiveRuns lets me do that for Geezeo.
I rest easy knowing that FiveRuns will wake me up in the middle of the night to tell me that something is wrong with the server. Glancing over graphs on the dashboard gives me a quick and concise view of how my entire stack is performing and if something looks amiss I can drill in for more detail. That beats gnawing on the end of a pencil logging into every server, every morning of every workday. If anything FiveRuns has lowered my pencil budget substantially.
FiveRuns: Can you name a time when FiveRuns was vital to Geezeo’s upkeep?
James Elwood: FiveRuns helped point out an oversight on my part that killed our MySQL backups for a better part of the day (not one of my prouder moments!). We use replication so that we can have an online spare as well as for backups. Since we have been on EC2 since the early days we got into the habit of using mysqldump to get a snapshot of the database off the slave and tossing it up on to S3 for the inevitable “what if?” scenario.
The problem started when I forgot to uncomment one little line in the backup script, the one about stopping the slave. The slave was dutifully replicating while earnestly trying to dump the database to file and in the process just getting plain ugly with itself. So one morning, on a chart scanning expedition, I noticed that the CPU on the slave was tweaked which led me to check into what the instance was or was not doing.
By pointing out my shell scripting oversights, FiveRuns also made it obvious that I really ought to write a report that tells me if I missed any backups in a given period (no way am I picking up that pencil again). Being reminded of my shortcomings and mistakes is critical for me to not drop the ball. I guess in that regard, FiveRuns is like my mom on the job, “Don’t forget to look over your homework and when you get a chance would you please clean out that temp directory sometime this century?”
FiveRuns: How has using FiveRuns improved the user experience at Geezeo?
James Elwood: Soft spots and weaknesses, that it what I am looking for when I use the service. Is there anything on the server side that I can tighten or add capacity to? Are there any controllers that are sucking the life out of the Internet that the team should be made aware of? FiveRuns is part of the process aimed at refining and improving our stack. I’m never really satisfied with anything I work on because when I get the chance to step back I can see where I could have done things differently so I use the service to continually solicit feedback with the hope that I can make the things I do feel a little less unfinished.
FiveRuns: What types of product features or integrations would you like to see in the future from FiveRuns?
James Elwood: Some of the things I love to see is more push reporting, there are times when the work load gets too much and the only applications you might have open are mail and a terminal. Getting the charts pushed out in an email even on a weekly basis would be nice, especially the application metrics. If that could be configured to report on the pieces that a developer is working on and just push those metrics out on how it is performing in the various the environments we are monitoring it could be a big win. Everyone is often heads down during a sprint and can loose sight that the sun still comes up and goes down everyday. Combined with TuneUp I think it would give developers insight into how the code is performing.
James Elwood is the Network Ninja Master for Geezeo.com, the go-to guy for all networking and web development projects. With 10 years experience in network administration and information technology, James has been a integral part of Geezeo’s success. Before coming to Geezeo, James served as Network administrator for BKM total office, one of the worlds largest distributors of Steelcase office furniture. James holds a Bachelors degree from Connecticut State University and an MBA in Technology management from the University of Phoenix.
















Continued Discussion
3 responses to this entry
James, how long did you prepare first production version of geezeo on Rails?
on October 18, 2008 at 02:18 PM
@Sebastian We went through several iterations, each building on the prior, starting in February until about June (about four months). The first piece was working through the account aggregation piece and then delivering bank balances to users via their mobile phone. By June a good portion of the financial management groundwork had been laid and since then we have been adding and refining features.
on October 20, 2008 at 08:32 AM
Nice interview James!
on October 24, 2008 at 09:54 AM