We’re running separate zones for web, app, and db servers. To be able to know the health of our application and our servers, we rely on pnp4nagios for graphing performance data like CPU utilization, memory usage, etc. Using OpenSolaris zones, there is only one OS kernel running. This is different in e.g. XEN, where every VM runs it’s own kernel. Such a “one kernel setup” has some important implications for monitoring: Within a zone, you see CPU utiliziation and memory usage of the whole box (the kernel) instead of what is used by the zone. None of the available nagios check scripts is able to report that data by zone.
Nagios Plugin for monitoring OpenSolaris Zones CPU und MEM
[click to continue…]
- Testing Dash Metrics with Cucumber (Bradley Taylor) - A short article showing off a Cucumber feature for monitoring with Nagios.
- Kanban vs. Scrum (Henrik Kniberg) - A great, 26 page long PDF about the similarities and differences between Scrum and Kanban. Absolutely worth reading!
- Reconnoiter (Theo Schlossnagle) - Theo and his OmniTI Labs are working on a new monitoring and trending application - a combination of Nagios, Cacti and the like with the goal to ease administration and scale efficiently. No releases yet but looks promising.
For developing our Ruby on Rails based web site, we usually take regular SQL dumps from our production servers (of course, anonymizing sensitive customer data along the way). Always having a fresh dump allows us to be on the safe side when writing database migrations. Having an up to date development database enables us to run our test suite as well; it’s just a matter of rake db:test:prepare to get our test database up-to-date. So far, so good.
[click to continue…]
by Dan Ackerson on June 14, 2009
in General
I’ve been busier than a one-legged man in an ass-kicking contest the past few weeks. And because of this I haven’t been keeping up with my weekly posts. But yesterday, after getting through the guilt trip, I realized that I was missing more than just blogging. I was missing my weekly retrospectives and thereby losing focus of my priorities. Currently, I am an “Army of One” so the only retrospective I’ve been conducting is with me, myself and you - the reader.
Not writing about and contemplating my experiences, successes and failures from the week’s work meant I wasn’t improving, wasn’t honing my focus. Last week, I had a velocity of 0. For the first time in over six months, I literally delivered no customer value in my weekly sprint. And I chalk it up to not blogging - or at least not holding my strange sort of online weekly retrospective.
[click to continue…]
Recently, I was looking deeper into how we could add some automated acceptance tests to our Ruby on Rails based website. We’re using RSpec since quite a while now for TDD, but doing some high level acceptance tests was not on our agenda so far.
DRY Cucumber Scenarios
The new cool kid on the block is Cucumber. One of its main features is that you can describe acceptance tests in nearly plain English (or any other language) simplifying discussions with the product managers and other, non-technical stake holders. I’m really impressed by the ease, with which you can describe DRY scenarios like our login feature:
[click to continue…]
by Matthias Marschall on June 4, 2009
in General
To run automated tests for your Ruby on Rails webapp, not only do you need your latest database structure deployed to the test database (created by rake db:test:prepare), but you also need some seed data for lookup tables, e.g. like zip codes.
Common approaches like adding seed data through rails migrations are discouraged, and plugins like seed_fu only work for small amounts of seed data. In seed_fu, you can specify a seed method for your ActiveRecord models like so:
User.seed(:login, :email) do |s|
s.login = "bob"
s.email = "bob@bobson.com"
s.first_name = "Bob"
s.last_name = "Bobson"
end
Running the rake db:seed task provided by seed_fu will add all defined models to your test database.
DHH has even standardized a way to load seed data for Rails 3, making the rake db:seed task part of rails and setting up a file called db/seeds.rb for maintaining your seeding code. Using that file, you can load your seed data however you see fit, e.g. seed_fu.
How to Deal With Big Amounts of Seed Data
[click to continue…]
by Dan Ackerson on May 24, 2009
in General

My boss threw down the gauntlet Monday morning during our weekly meeting. In relaunching one of our decade old platforms, we couldn’t afford to get bashed by fickle finger of Google Search Results and I needed to take extra care in ensuring all redirects were properly made. With over twenty thousand pages, it was no small task and I struggled finding a way to automate it.
Ultimately, I had to make a compromise between feasibility and correctness, but I’m pretty satisified with the results. In fact, SiteSucker was able to confirm that, besides images, we did manage a 100% conversion for all the existing urls.
[click to continue…]

After watching a Pivotal Labs Tech Talk Making a Case for Cucumber, I decided to give it a try. Especially the seamless integration with rails and webrat made me curious. Webrat is a headless browser simulator, which can execute UI tests for you. You even can use the same syntax to drive a real browser using Selenium if you need Javascript support for some of your tests.
[click to continue…]