Geoff Rayback has been writing software for more than 13 years. He spent much of that time working as a consultant, so he has pretty much seen one of everything (good and bad) over the course of his career. His focus recently has been on services, service oriented architecture, testability, continuous delivery, and devops. Outside of work he loves playing bass, recording music, drawing, and reading history books.
Building an Operationally Successful Component – Part 3: Robustness My previous two posts discussed building components that are “operationally successful.” To me, a component cannot be considered successful unless it actually operates as expected when released into the wild. Something that, “works on my machine,” cannot be considered a success unless it also works on… Read more
Building an Operationally Successful Component – Part 2: Self-correction In my last post I talked about building components that are “operationally successful,” by which I mean that the software functions correctly when it is deployed into production. I suggested that there are three things that a software component must have, to some degree, in order… Read more
On our team at Ancestry.com, we spend much of our time focusing on the operational success of the code that we write. An amazing feature that no one can use because the servers are constantly down is of little use to anyone and can be deemed a failure, even if the code worked from a… Read more
Every once in a while when building NAnt targets you will come across the desire to create a <fileset> which is defined at runtime. Maybe you’d like to define the <fileset> as a property in a previous target or a calling target and have it be used in a subsequent task. For example we have a… Read more
We have been working hard at Ancestry to build automated server health monitoring into our service infrastructure. One of the most recent efforts was the addition of some simple health tests that our load balancers could run by themselves to check on the health of our servers. We added three types of tests for each… Read more