The Missing Stair in IT

2023-01-10 4 min read Devops
Photo by John Tuesday on Unsplash There are missing stairs all over software development, and I’m willing to bet your organization, if it’s larger than the smallest of startups, has one. Do you know who it is? And if so, why do they still work for you? What do I mean by “missing stair”? The Missing Stair is a concept that started in BDSM communities but quickly spread like wildfire across all sorts of nerdy or alternative communities. Continue reading

Porting Jenkins logs to Newrelic

2021-03-01 7 min read Devops
Greetings, world. It’s been a while, hasn’t it? It’s not as though I haven’t had interesting technical problems to blog about in the past few years, only that my previous job had kept me so busy I didn’t have the time or energy to write up the problems I solved. But as of last December I started another new job, and I now have the time I need to really reflect and write up the things I’m learning. Continue reading

Dockerization Part 3: Deploybot

2018-02-01 12 min read Devops
One of the key components to making a good integration between products is understanding the mental model of each product. What one product calls a “counter” another could call a “metric” or a “stat”, for example; or worse, one product could be reporting, say, the amount of free memory, while another is reporting the percentage. The same goes for integration points between teams. When I built our previous release pipeline, I discovered very quickly that while developers were comfortable talking about repositories, operations thought in terms of applications, and neither knew nor cared how many moving parts went into a single app so long as it was all on a server together. Continue reading

Dockerization Part 2: Deploying

2018-01-20 7 min read Devops
Now that we have containers, we need to push them to our subprod environments so they can be tested. Bear with me, this is where things get a little complicated. Docker Setup Most people take the easy way out when they move to docker: they ship their containers to the cloud and let someone else manage the installation, upgrades, and maintenance on the docker hosts. We don’t do things the easy way around these parts, though, so we have our own server farm: a series of VMs in our datacenter. Continue reading

Dockerization Part 1: Building

2018-01-10 6 min read Devops
I’ve been long overdue for a series of articles explaining how our current build system works. One of the major projects I was involved with before this recent reorg involved overhauling our manual build process into a shiny new CI/CD system that would take the code from commit to production in a regulated, automated fashion. As always, the reward for doing a good job is more work like that; when we decided to move to Docker to better support our new team structure, I ended up doing a lot of the foundational work on our new build-test-deliver pipeline. Continue reading

Selenium Grid on Docker and Vagrant: Part 2

2016-07-10 11 min read Longer Tales SQA
Last time we got Vagrant configured to run a single VM with three docker containers: a Selenium Grid hub, a Chrome node, and a Firefox node. This is a good start, but I wanted to configure a Selendroid node to round out the browser selection. That’s when things got a little… messy. So upon investigation into how the Docker images I was already using were constructed, I discovered a few key points: Continue reading

Selenium Grid on Docker and Vagrant: Part 1

2016-07-01 10 min read Longer Tales SQA
I’ve been putting together a quick proof-of-concept here at work about how we could use Docker to run a Selenium Grid. I’m not sure we’ll go that route, but I was curious how it could be done. One of the main advantages of doing this sort of rough proof in Vagrant is that it becomes very portable. At the end of the day, I have a mini testing cloud I can run my tests against — and any member of my team can check out a few files and have their own mini testing cloud. Continue reading
Older posts