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

Some thoughts on switching to Pulumi

2022-08-01 5 min read Devops Quick Tips
I’ve become very comfortable with Terraform over the past several years of my career. So of course, the company wants to switch from Terraform to Pulumi, a newer competitor with a very different outlook on how IAC should be written. Prerequisites Terraform uses declarative code for IAC — you declare what you want to exist, and it generates the path to get there itself. Pulumi is much the same, however, while Terraform is written in Hashicorp Configuration Language which boils down to a bunch of static json-like declarations, Pulumi code is written in any of a number of turing-complete programming language. 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

Enclosure and Net Neutrality

2017-12-10 4 min read Uncatagorized
Once upon a time, there was a poor woodcutter who lived on the edge of a forest with his two children. You all know how the tale goes from here, I trust: the breadcrumb path, the gingerbread house, the wicked witch. But for now, I want to focus on the beginning of the tale: the woodcutter, the edge of the forest. Who owned that forest? Whose land was the woodcutter working? Continue reading
Older posts