Troubleshooting Dockerfile builds with checkpoint containers

(This was originally published on Republished here with permission and some minor edits.)

The scene

I recently ran into some problems compiling code while building a docker image using a Dockerfile.  The compile process wasn’t working, so the failed make install was stopping the container image from being built.  There’s 3 ways I could have approached troubleshooting this failed build.

I used what I’m calling a checkpoint container to troubleshoot quickly and get back on track with the rest of the build process.
Continue reading Troubleshooting Dockerfile builds with checkpoint containers

My other identity is also a superhero

Today on the radio I heard the story of Benjaman Kyle.  What struck me was a comment by the host, “Without a Social Security Number, it doesn’t matter, he can’t get a job, he can’t go to a shelter, he can’t do tax stuff.  All he has is a card that says ‘Oh yeah you’re Benjaman and you live in Jacksonville Beach.”

No SSN, no official existence.  How many things do we realize are actively tied to a number originally intended to track New Deal Social Security accounts for individuals.

Continue reading My other identity is also a superhero

Working draft of Atomic fleet config

This is the first draft at making a repeatable workflow, I’m looking to get a few more eyes to make sure I’ve captured everything.  My next step is getting this into an ansible playbook.  Replace the inline IPs with the eth0 IPs of the VMs you build.  Hit the link to see the steps and very spare comments:

Continue reading Working draft of Atomic fleet config

DevOps isn’t just about pager duty

A recent DevOps conversation I had with a good friend who is a development manager went a little something like this:

H: Can you imagine me having to get Developer A or Developer B to really understand how to subtleties of distributed tablespaces and shards?  That’s why we needed Ops DBA C, to fix all that when it got to Staging…

That’s when I realized this is the fundamental issue I’ve had and continue to have with a lot of DevOps conversations, presentations, and on.  Everything focuses on Developer Responsibility, getting developers on the pager rotation, Infrastructure as Code. Continue reading DevOps isn’t just about pager duty

Microservices, microservices everywhere

At OSCON I got the opportunity to bend Steven Pousty’s (developer evangelist extrodinaire) ear about microservices during vert.x office hours.  He was good enough to let me ramble on and then give me some new things to think about.

The one thing I’ve not seen a satisfactory answer to is the scope of a microservice.  That is what makes it micro?  There’ve been objections to Fowler’s “business capabilities” as still too vague; he’s even written a “sizing” side bar commentary.  I’ve heard the “nothing new under the sun” folks claiming that this is folderol that’s been best practice since the dawn of programming.

I’m going to throw my hat in the ring with what may be a blend of the two positions.

Continue reading Microservices, microservices everywhere

Docker, docker everywhere

If I hadn’t been hearing enough about docker, OSCON was replete with docker.  Then I go two days of Dan Walsh on docker.  So I think I finally got it.  Docker that is.

Now let me be clear, at the $OLDDAYJOB I used Solaris zones to build dev / test environments at a fairly decent scale.  So I get containers qua containers, the missing bit was what docker brought to the table.  Turning to the internet was less than helpful because docker is in the midst of a massive hype cycle.  That, and research on the web is painful.

“Doing research on the Web is like using a library assembled piecemeal by pack rats and vandalized nightly.” – Roger Ebert

Continue reading Docker, docker everywhere