1. 18

  2. 56

    I work on Kubernetes on the daily, at work, and I still think this is ridiculous. Now, not only do you have to setup a Kubernetes cluster, you have to deal with maintaining Kubernetes itself. And here’s the kicker, all this for a static blog? Just use GitHub Pages or Netlify.

    “Just do X, that’s so much simpler”

    Yes! Any other deployment solution is most definitely simpler than Kubernetes — at least, for the use-case mentioned here.

    I think Kubernetes has fallen into the Vim/Haskell trap. People will try it for 10 minutes to an hour then get fed up.

    Well, yes, but I don’t fault them for giving up on it while attempting to setup their blog, heh.

    I was told Vim was too complex and I should just use Sublime Text or Eclipse, but I bit the bullet and now I fly through code, and feel like I’m moving through molasses when I have to use, e.g. XCode. Since that experience, I give complex tools a bit more of a chance. Sometimes I’m burned (why did I ever switch to Dvorak, total waste), but sometimes I find a Kubernetes.

    Vim is not a good analogy here. Vim is merely complex in its learning curve — it is still a relatively simple text editor; low resource consumption and blazing fast. Kubernetes is akin to spinning up a full-fledged browser environment to edit your code. Oh wait.

    1. 18

      Obviously OP needs to be teaching classes on Kubernetes. If they grokked the entire Kubernetes documentation “in a few hours”, then clearly they are a lot smarter than me… It took me over a year to be completely comfortable in the k8s API.

      1. 5

        Now, not only do you have to setup a Kubernetes cluster, you have to deal with maintaining Kubernetes itself.

        Agreed that this is like swatting a fly with an aircraft carrier, but judging from their mention of DigitalOcean provisioning nodes, I’d assume they’re using the hosted Kubernetes product, so all the hard work of maintaining it isn’t really their problem.

        1. 4

          It’s essentially just a calculation:

          benefit = time_spent_on_k8s - time_saved_by_k8s

          In some cases the benefit might be positive, but in a lot of cases I suspect it might be negative. It’s a classic case of spending a day to automate a 10 minute task you need to do only once every few months.

          1. 1

            I fundamentally disagree with a calculation like this. It’s not about time and it never will be. It’s about cognitive burden, if I need to remember a task every few months — no matter how small it is — then I now have a source of stress. What if I forget it? What if I am travelling somewhere or at a wedding or whatever? If the backlash is small (a little money or some slight increase to maintenance burden) then I can just forget it and it’s fine but if it’s important to me then I will absolutely want to automate it.

            The equation should be about the cognitive burden of a task, how much cognitive capacity does it passively occupy? how much cognitive capacity is actively used when performing the task? How much stress can I save by being allowed to forget about it?

            My cognition is my most finite resource and I’d like to free up any leaks as far as possible. That is why I will never use kubernetes for my blog and it’s also why I prefer to have a declerative operating system.

            1. 1

              We’re talking about doing a manual deploy vs. an automatic deploy; this isn’t something that you can forget or need to stress about; it’s something you either do or don’t. We’re not talking about SSL certificates that can expire or some such.

              1. 1

                Oh I thought you were trying to suggest that this time calculation holds in general and got triggered. My bad.

                1. 2

                  Yeah, that’s alright :-) In reality, of course, things are always more complex than the simple reductionist faux-calculation I made before. For example if it’s easy to accidentally do something wrong then it might be a good idea to script it no matter what. This is why I tend to script database stuff instead of running SQL queries directly even when I know I’m only going to need it once or twice. We’ve all forgotten a where clause or accidentally put a ; before a where or something like that, and depending on the query this can be a big oopsie.

                  Anyway, I think the most important thing to keep in mind is that these sort of things are essentially a calculation. Sometimes it’s easy to get carried away with scripting stuff (or things like refactors) but when you stop and think, you realize you’re actually not really working on something that’s all that useful.

                  A while ago I spent half a day on a script to copy Stripe products from live mode to testing. It still didn’t work after half this day, and then I realized I was automating a 10-minute boring manual task I need to do once a year maybe. It was a waste of time in hindsight.

            2. 1

              Swap those operands there if you want a high benefit to be a good thing.

              1. 1

                Oops 😅 Too late to edit now. Ah well, I think the point should be clear.

            3. 2

              Yeah it’s more akin to booting up a whole virtual LispMachine just to edit text.

              (Just a joke emacs users, I’d take elisp over yaml+helm any day)

              1. 2

                Don’t be ridiculous, we emacs users don’t spin up a whole virtual LispMachine just to edit text, we use nano for that. We spin up a whole virtual LispMachine so we can convince our bosses we’re editing text when we’re actually playing tetris.

              2. 2

                Oh my gods, I would vote it up to the stratosphere if I could.

              3. 5

                I think the one thing that isn’t really spoke about is that the points in this blog are completely correct using Kubernetes. The main points against this (as also highlighted in the comments) is about maintaining it. But I do think the author has a valid point, and when paired with managed k8s solutions it can be quite compelling experience.

                1. 4

                  So, why do you need containerisation for a personal blog?

                  1. 2

                    so that you can build and push to deploy. Oh wait.

                  2. 1

                    I get wanting to play around with k8s and containerization at home. I do that, and it’s neat. I’ve made stupid little operators for k8s that I run on kind on my laptop, I’ve put things like CLIs in containers as part of a build process to see how that works.

                    I can even see why you’d want something facing the public internet, so you can really try out the networking/ingress stuff in k8s. But…a static site? I feel like that’s akin to building a cannery in your backyard because you want a tuna melt. But that’s my opinion, and kudos to this guy for doing something.