Not everything new is sucky

2 minute read

Our team had a lively discussion yesterday around Kubernetes and the fallacy of innovation & ROI from tech. I am usually the curmudgeon old grey beard, but K8 is one of those stacks that make sense. Let me explain…

The days before the containerised world, we sysadmins (remember when we were called that!?) had to deal with packaging and deployment in unique ways. Also, we had to monitor the systems to ensure uptime. This included networks, logging, firewall, monitoring, security, etc.

This gave birth to various interesting tools like Jails, VMware, Xen, Zones, z/VM, etc., to host the redundancy and abstraction and Syslog, SNMP, Nagios, NetFlow, etc. to keep it all online. There were whole suites for the deployment of patches and code.

When you buy into the ecosystem from CNCF and the K8 world, you inherit so much of this as a byproduct. In the same way, running Win98 on my Linux machine with VMware v1.1 changed my whole outlook on IT, so too does K8.

This is all to say that I read a flow of posts online talking about how complex k8 is. That is entirely true, but so is running a small IT infrastructure to keep non-container systems online. Something still has to account for those pesky National Institute of Standards and Technology (NIST) and ITIL requirements.

K8 is not perfect. I have noticed sysadmins (DevOps, SRE, ??) have a total lack of understanding of how the underlying stack functions. That abstraction is amazing when it works and black magic when it doesn’t. Someone still needs to walk the OSI layers.

Those of us who cut our teeth on those first modern distributed systems and networks need to understand that we have a unique role in guiding this next iteration of tech. It isn’t a bad thing to shift the paradigm and look at systems in a new way. Each has pros and cons.

K8 is not the right fit for all orgs, but I also think you shouldn’t discount it without evaluating the tooling required in its place. K8 isn’t going to solve all your orgs problems, but neither is bare-metal machines. Look at your architecture holistically.

When we distil Kubernetes and Docker to simply be a deployment mechanism, we miss the peripheral benefits presented by the ecosystem.

When we see K8 as the silver bullet, we miss all the hard old lessons learned.

Balance!

And for anyone troubleshooting that black magic… it is always DNS. Unless you run DNS and there is an issue, then its the network teams fault and almost always a bad route :)

Updated: