8 comments

[ 3.1 ms ] story [ 25.6 ms ] thread
Unfortunately regardless of the merits or otherwise of this article, it’s basically impossible to read - even on a large tablet, the content is relegated to a 3”2 inch area surrounded by ads, they have broken reader mode (only the first two paragraphs show up), and the second you scroll past the first paragraph a giant modal popup appears. I don’t doubt it is absolutely chock full of tracking cookies and other user-hostile garbage.

This publisher can, charitably, get in the sea.

Stylistically, the writing feels like fluff too
I decided to put off learning kubernetes for 2 years because I wanted to see if people would still love it and if it would last. People went from loving it to fairly mixed feelings in their blog posts. Now I’m trying to decide whether to jump on the bandwagon and it’s a little hard to read the situation. I know a lot of people have given up on micro services for now but still think containerization is transformative. What has your experience been?
Containerization does help with immutability(images being specified in deployment specs for k8s as an example), which does help in reducing the drift in infrastructure states.

Managing k8s in itself is a hard problem. And having done that before as part of a team which used to manage self hosted clusters, moving on to a managed k8s service does free up a lot of time from the team managing the infrastructure.

Shameless plug: Wrote down a piece which goes about self hosting and going with a managed solution based on past experiences https://tasdikrahman.me/2020/11/27/to-self-host-or-to-not-se...

Each use case is going to be different but my experience with containerization and managed Kubernetes has been fantastic.

We have a small team (5 people) and have over time managed physical servers, virtual servers in the cloud, and some solutions like Azure's "web app" hosting.

Using a managed Kubernetes solution (AKS for us) along with containerization has made everything vastly easier to manage. We now use terraform to setup new deployments and GitHub Actions to run the builds/deployments. At this point everything we need is managed in source control and the amount of time we spend on DevOps related tasks gone down.

Personally I love Kubernetes, it makes life simpler for developers, it super charges your scalability and lowers your cost. That being said almost every company I have ever worked at loves to set up servers and ignore them until they pretty much start on fire, including in the cloud. Kubernetes does not jive with this mentality at all. Its not a set and forget service, even in the cloud. It requires some maintenance, the more custom your solution the more maintenance it will require.

I would never recommend setting up a custom self managed Kubernetes solution for almost any situation. The number of times its actually needed is rare, and if you don't already have a good Kubernetes maintenance culture then it doesn't matter because you cant support it. Use one of the cloud solutions.

IMHO containers are great for a lot of reasons, and still have benefits without kubernetes. For example even when you have monolithic apps, if the setup is complicated and requires a lot of time to setup, containers can be an excellent option as they help devs get up and running really quickly. This is especially true if you have specialized functions for developers like the classic FE/BE split.

Personally I also find setting up containers nicer then using something like Puppet to manage updates/deployments, but if you have a lot of infrastructure relying on Puppet already or deep experience with Puppet then the gains are marginal for switching to containers.

I have maintained bare metal servers. Deploying manually was a pain, it was simplified with ansible, but decommissioning services was still a pain.

Then I used systemd+docker with ansible, it was less of a pain but still required manual operations.

Now, with a managed Kubernetes, I can do everything from a Git repository and automate the rest.