FiveRuns Blog

On Rails production performance and monitoring

Posts by Section
People

MVC Public Service Announcement #5 - Outdated HTML

OK – after a brief hiatus, the RailsEnvy and Adam Keys MVC Public Service Announcements are back! OK, one more of them. But, stay tuned, because more is on the way!

Peanut Butter Jelly Time!

And, in case you can’t get enough, here are the links to the versions from RailsConf. Enjoy!

Thanks to Gregg Pollack & Jason Seifer. Film Production by Jason Hawkins and original music by Laura Balch.

Bookmark and Share

FiveRuns Developers Speaking at OSCON 2008

Heading to OSCON 2008 this week? Be sure to check out talks from a couple of our FiveRuns developers.

Join Adam Keys on Wednesday, July 23rd at 11:35 for What Has Ruby Done for You Lately. Ruby has lots of neat features for writing small, beautiful programs. But, borrowing features from other languages makes it even better! Learn how continuations, pattern matching, and actor-based concurrency can help you write Ruby programs that do more with less code.

Join Mike Perham on Friday, July 25th at 11:35 for How Not to Build a Service. FiveRuns launched the Manage monitoring service targeting the Ruby on Rails market in 2007, but not without making plenty of mistakes in the process. This talk will discuss the social, technical, and business lessons learned over the last year.

Hope to see you there!

Bookmark and Share

FiveRuns Developer Adam Keys in This Week's Rails Envy Podcast

FiveRuns developer Adam Keys joined Jason Seifer and Gregg Pollack in this week’s Rails Envy podcast. Tune in and hear the guys talk about git-me-up, Ezra and Rack, and more.

Bookmark and Share

The FiveRuns Library


What Books Do Great Ruby/Rails Developers Read?

Which ones do they recommend? Which ones do they bring to work, share with their team or ask to have purchased for the office? What’s on the rest of our staff’s reading list? Well, I’m the guy that buys them for FiveRuns, so here’s a snapshot of our bookshelf.

Programming Ruby: The Pragmatic Programmers’ Guide by Dave Thomas and Andy Hunt
The Ruby Way by Hal Fulton
The Rails Way by Obie Fernandez
Deploying Rails Applications by Ezra Zygmuntowicz, Bruce A. Tate and Clinton Begin
Best of Ruby Quiz by James Edward Gray II
The Ruby Cookbook by Lucas Carlson and Leonard Richardson
The Ruby Programming Language by D. Flanagan and Yukihiro “Matz” Matsumoto
Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson
High Performance MySQL
The Wisdom of Crowds by James Surowiecki
Design Patterns in Ruby by Russ Olsen, with Forward by Obie Fernandez
The Cathedral & the Bazaar by Eric S. Raymond
Winners Never Cheat by Jon M. Huntsman
Pulling Strings with Puppet: Automated System Administration Done Right by James Turnbull
Advanced Rails by Brad Ediger
Ruby for Rails: Ruby Techniques for Rails Developers by David Black

So which are we missing?

Bookmark and Share

FiveRuns Sunglasses Project

What happens when a FiveRuns teammate’s partner leaves her sunglasses in his car?

Bookmark and Share

FiveRuns Developer Bruce Williams Interviewed by RubyLearning.com

On the RubyLearning.com blog, FiveRuns developer Bruce Williams was interviewed by Satish Talim. In this post, Bruce shares his thoughts on the Ruby programming language and the community at large.

RubyLearning.com is a thorough collection of Ruby Study Notes for those who are new to the Ruby programming language and in search of a solid introduction to Ruby’s concepts and constructs.

Thanks to Satish for the opportunity!

Bookmark and Share

FiveRuns Development - Feedback Loops

For fun, I though I’d share some tidbits about development at FiveRuns.

Let me start by setting the stage…

We have a stunningly sharp team of five Ruby on Rails developers – Bruce, Mike, Brian, Eric and Adam – four of them here in Austin and one remote. Additionally, we work with Chad Fowler, Rich Kilmer and Dave Craine at InfoEther as well as two other contractors part-time (Ian Warshak and Ryan Heneise).

At any given point in time, there’s several different projects underway – we are maintaining two existing applications already in production, doing a huge amount of work on a new version of an application as well as some smaller projects we’re kicking off or maintaining.

From my POV, the underlying principle to our development approach is simple: feedback loops – make sure they’re closed, make them tight / small, look for open loops and figure out how to make them closed.

So how is this realized in our day-to-day work right now?

We take Scrum as our starting point and adapt it. Looking at our work from a ‘feedback loop’ POV, you would see:

  • Release – this is our largest / longest ‘feedback loop’
    • at the beginning of the release, we take off the ‘right’ set of user stories from the product backlog, using their high-level estimate, we create the release plan (aka release backlog)
    • while in development for a release, we may adjust what’s in the release in response to new knowledge (e.g. market changes, new product knowledge, new project knowledge, etc.) – by adding or removing user stories from the release or by changing the scope of user stories in the release.
    • the feedback loop is closed by the results of the release – actual release into production – the marketplace gets to see the results and we use their feedback to adjust course for the next release.
  • Sprint – this ‘feedback loop’ is typically two weeks long
    • at the beginning of a ‘sprint’, we take off the most important user stories off the release backlog, estimate out how much we can get done by the end of sprint and identify the tasks for each user story.
    • at the end of the sprint, we take whatever user stories are complete and present the development results in the sprint review. This garners feedback internally – the larger company gets to see the results and we use their feedback to adjust course for the next sprint.
  • Daily stand-up – our smallest ‘feedback loop’
    • each day individual developers identify what they’ve done since the last standup, what’s to be done between now and the next stand-up and any obstacles; this organizes the flow of the teams work into smaller increments around a similar feedback pattern, results from each developer are visible and this visibility enables feedback to adjust course as needed.

Additionally, for tools we are happily using Mingle to manage the user stories, product backlog, release backlog / plan and sprint backlog. As somewhat of a tool junkie, I’ve used a variety of tools and Mingle comes closest to the tool I’ve wanted to build myself.

This is working well for us now and we’ll continue to evolve from here.

However, I can’t go over all of this without some what of a commentary: most of the approaches & tools I’ve seen pre-suppose a single team works on a single product / project, i.e. a 1-to-1 relationship between a project and a team. It’s surprising how often this is baked into both tools and approaches – yet I can’t remember the last time this was true for me or any of the teams I’ve worked with. In my experience, and here at FiveRuns, there’s typically a single team and mutliple projects that may be underway – even during a single sprint, i.e. a 1-to-many relationship.

Mingle (Trac, and the other tools I’ve tried) come by default with a 1-to-1 relationship baked in – they treat the project as the largest container, and the team is assembled within the container. So not only does this place the project as the highest order concept, it insists on the 1-to-1 relationship. This is especially noticeable in Mingle because it is so close in its inherent flexibility, e.g. defining different cards, properties and views – but it doesn’t extend that same flexibility to the relationship between teams and projects. I hope Mingle moves toward more flexibility in this way and enables us to use Mingle to better model our actual situation.

Bookmark and Share

Rails TakeFive: Five Questions with Todd Barr

This week, we’re happy to introduce Todd Barr, FiveRuns’ new Vice President of Business Development, and get his thoughts on open source, Rails, and why he came to FiveRuns. As you may have seen, Todd joins us after spending the last six years at Red Hat, where among other things, he was responsible for launching and growing their Enterprise Linux ISV ecosystem.

FiveRuns: First of all Todd, welcome to FiveRuns and congratulations! You have a deep background in open source, starting with Linux, JBoss and now with Rails. What parallels do you see between them today, and/or between Rails today and Linux 6-7 years ago?

Todd Barr: Just to set some context here – I’m not a developer (although I did sleep at a Holiday Inn Express last night). So my perspective on open source tends to be a bit more theoretical than technical. From what I’ve seen, successful open source movements tend to have three things in common: 1) an overwhelming user advantage, 2) strong leadership, and 3) a vibrant commercial ecosystem. Some examples are useful here: Linux allowed users to get off of Solaris and save a ton of money moving to Intel servers, has Linus Torvalds (and a bunch of other strong technical leaders), and has attracted an amazing commercial ecosystem with the likes of Red Hat, IBM, Oracle, Dell, etc. JBoss allowed developers to download a full J2EE app server for free and save a ton of money over BEA in production, was led by Marc Fleury, and has developed a growing ecosystem of tools, SIs, and SOA partners. The list could go on and on.

So, let’s apply the formula to Rails: 1) an overwhelming user advantage – CHECK… developers can develop code in a fraction of the time, and they actually enjoy it. 2) leadership – CHECKDHH, along with a growing group of community leaders, and 3) commercial ecosystem – EARLY… and there-in lies the opportunity for a company like FiveRuns, and the answer to why I’m here.

FiveRuns: What was your first experience in Rails, and what led you to make the jump here and now? What do you think are Ruby and Rails’ biggest assets? Biggest challenges?

Todd Barr: My defining experience with Rails was when I discovered this presentation. DHH had me at “First they ignore you…” (that particular Gandhi quote adorns the lobby of Red Hat’s HQ, and is in this awesome video. As I said, I’m not a developer – but even I understand Ruby on Rails. It’s beautiful in its simplicity. Convention over configuration makes sense to me – in this day and age, I think we are all looking for a few less things to worry about. A language that a mere mortal can understand makes sense, from the perspective of future supportability of an app. It has a real design sense (that is user-centric). And I think it is at the cusp of much broader adoption. But there are challenges – not unlike the challenges Java faced years ago – some real (like the lack of enough Rails development talent), and some perceived (does it scale? does it perform? is it appropriate for mission-critical workloads?). Everyone’s now asking that unanswerable question – is it ready for the enterprise?

FiveRuns: So, is Ruby on Rails ready for the enterprise? Hey, you tee-d this up…

Todd Barr: Who cares? Seriously, I think it’s the wrong question, and always has been. A better question is this: can enterprise development organizations be nimble enough to adopt Ruby on Rails? Can developers learn to take advantage of Rails development velocity, by embracing rapid prototyping alongside their business customers? Can we, as the extended Rails community, tell our story in such a compelling way that companies can’t resist it? Can we prove out IT-ism’s like scalability, reliability, performance, etc. but with real world, contextual examples where Ruby on Rails really makes sense? Our challenge is not to change Ruby on Rails to get it ready for the enterprise – our challenge is to make it valuable and easy for companies to adopt Rails.

FiveRuns: So in return, are you going to make Matt Asay an offer he can’t refuse, or what? In all seriousness, though, does your hiring signal that open source is going to play more formally into the overall strategy for FiveRuns?

Todd Barr: Hey Matt – check’s in the mail (kidding). Open source is a big part of why I’m here. And it’s not because FiveRuns didn’t “get” open source before I arrived – they absolutely do. Bruce, Adam, everyone – they get it. They get the fact that you can’t exploit an open source community and hope to succeed. You have to make meaningful contributions that help rise the tide and float all Rails boats. So, to answer your question a bit more directly: yes, at FiveRuns we will both make and influence meaningful contributions to the Ruby and Rails communities, and we will be working to grow the commercial ecosystem around Rails – all while building products that help customers succeed and that don’t exploit the community.

FiveRuns: You have a strong track record in building out partner programs, for example, growing the partnership and certification programs for ISVs at Red Hat to more than 1000 certified applications in the first two years. As the new VP of Business Development at FiveRuns, what are your immediate priorities in the first 100 days? How is the Ruby on Rails ecosystem different than the Linux and JBoss ecosystems you are used to?

Todd Barr: The Rails ecosystem is much different. In my short experience, I find it to be much more modern and decentralized because it is growing-up in a different time, alongside three other emerging industries: hosting (specifically, virtual hosting), SaaS, and freelance development shops. Taken to the extreme, apps of the future are going to be in-the-cloud, on-demand and outsourced, or “in-on-out” (I made that up… can you tell?). So at FiveRuns, we will develop partner programs that build toward that future. Hosters, development shops, and SaaS providers will certainly be a priority, along with ISVs that are embracing Rails. And I think there will be interesting relationships to be had with those who are trying to integrate Rails into existing paradigms (like JRuby, IronRuby, etc.). As a company focused on Ruby and Rails application performance, I think we will also want to play nice with existing systems management and infrastructure players, so I’m sure we’ll spend some time there. Finally, an immediate priority is selling my house so that I can move my family to Austin. Know anyone who needs a great house in Raleigh?

Todd Barr joined FiveRuns as VP of Business Development in February 2008 from Red Hat, where he spent six years in various senior marketing and business development roles. At Red Hat, Todd built and grew the partnership and certification programs for independent software vendors (ISVs), achieving over 1000 certified applications for Red Hat Enterprise Linux in the first two years. In his most recent role, Todd’s team was responsible for building Red Hat’s global go-to-market campaigns, along with channel and partner marketing. Previously, Todd was with the corporate venture capital group at Dell and was an early sales and marketing employee at CitySearch.com (now part of IAC). Todd blogs about open source, marketing strategy and closed-loop marketing at marketingfree.typepad.com.

Bookmark and Share

FiveRuns is SXSW Web Awards Finalist

SXSW has announced the finalists for their annual web awards, and FiveRuns has made the cut under the CSS category! We’re definitely honored and excited for the recognition, but must certainly thank our friend and designer Scott Boms at Wishlingline for his awesome work. Not only does Scott do the best website design we’ve ever seen, but he also helps drive the user experience around our products.

We’re firm believers that Rails provides the best development experience in the world today, and FiveRuns is happy to extend that experience to the products you use every day to monitor and manage your Rails applications.

The Interactive Web Awards will be handed out by emcee Eugene Mirman on Sunday, March 9th at the Hilton Austin Downtown. We’re keeping our fingers crossed!

Bookmark and Share

Rails Rock Star?

More on the ongoing rock star developer “label” debate: Should companies advertise for rock star Rails programmers? Do coders want to be so labeled? Computerworld has a nice article on the topic featuring our friends at Viget Labs and other folks from the Rails community. One thing is for sure, whether for rock star Rails developers, jazz programmers, or all-around solid contributors, the Rails market is one of the most innovative, productive, and rewarding places you can be.

Bookmark and Share

Bruce Williams on Ruby 1.9

FiveRuns developer Bruce Williams gave a talk on “Ruby 1.9: What’s New and Why it Matters” at last night’s Austin on Rails meeting.

You can find it here.

Enjoy!

Bookmark and Share

RubyConf notes from the Dev Team

Mike’s RubyConf diary: Day One Day Two Day Three

Brian’s thoughts on Rubinius and Marcel’s talk

Bookmark and Share

Sharing the Knowledge

I love it when smart people come up with something cool and decide to share it with the world. It is even better when they choose not to sell their cool thing for $499 – $599.

Paul Dowman is giving away his Ruby on Rails virtual appliance for EC2. Just check out his post and get started. You don’t even have to wait in line.

This is the first iteration of this appliance, so expect it to get better as more people use it and share their customizations.

Bookmark and Share

Congratulations to Chris Schneider!

Chris Schneider of Go Daddy.com was the winner of our MacBook Pro giveaway at the MySQL Conference.

The conference was a very successful event for us. We met a lot of people working on some really cool projects and we got a lot of great feedback on the FiveRuns Enterprise Management Platform.

Now we are gearing up for RailsConf starting on May 17th. So if you aren’t Chris Schneider, you still have a chance to win a MacBook Pro at RailsConf. Watch our site for details.

Bookmark and Share

FiveRuns at SXSWi

Steven and Marcel had a great turnout for their discussion on Rails and Ajax at SXSWi yesterday. When the podcast is available we will post it on our Events page. The 500 person room was nearly full and Steven and Marcel hung around afterwards to chat and answer questions. I hope you got the chance to see Marcel in his cool madras blazer, just don’t ask where he got it.

Thanks to everyone who came to the FiveRuns/Austin on Rails party at Buffalo Billiards last night. It looked like everyone had a great time, but I can’t say for sure since I was at the door trying to keep up with the guest list. Special thanks to Laura, Lauren and Josh at Porter Novelli, you guys are lifesavers! I will post some pictures from the event as soon as I have them.

Bookmark and Share