Technical Posts Overview and Roundup
While I write about various things I find interesting, specific technical topics tend to be recurring themes. So, as both a way to organize the posts for a future long-form synthesis and for the influx of new subscribers, an overview and roundup of posts I've written over the last two years.
On Docker. One of my areas where I've gone deep technically. Docker is interesting because it solves three different problems – (1) a runtime to execute workloads in a distributed system, (2) a packaging format for production artifacts, and (3) a developer tool.
On cloud strategy. This is only the iceberg of cloud penetration. There are significant workloads to be lifted from on-premise data centers and net-new use cases. However, all types of dynamics are at play – cost advantages, distribution channels, and developer experience.
On version control, package management, and other software workflows. Shipping code has never been more of a coordination problem. How do you share and reuse code quickly and efficiently? So much happens between a developer writing code and that code making it to production.
On WebAssembly. WebAssembly can be useful on the client – as a runtime that opens up the web to other LLVM-based languages. It can also be useful on the server – as a granular runtime that is more lightweight than a container.
On infrastructure-as-code. As cloud standardizes APIs, we can start to treat infrastructure as code. Of course, this opens up entirely new workflows – embedding infrastructure into CI, easy replication of entire stacks for preview environments, staging environments, reproducible infrastructure, and more. Still, a lot to figure out.
On software configuration. Configuring software is changing due to clouds, runtimes (Docker and WebAssembly), and infrastructure-as-code.
On Kubernetes. A complex yet essential part of the software stack. I worked on Kubernetes open-source at Google, so I'm biased. But I like to think that I provide a nuanced view of it.