Profile picture
Joe Beda @jbeda
, 12 tweets, 2 min read Read on Twitter
I made the mistake of reading the comments on HN around Kubernetes and there is a common thread around Kubernetes being too complex. This is something that I've been thinking quite a bit about for quite a long time. /1
For some context I talked on this at the last KubeCon NA. Video is here: . Slides: slides.eightypercent.net/kubecon-2017/i…. /2
First off: Kubernetes *is* a complex system. It does a lot and brings new abstractions. Those abstractions aren't always justified for all problems. I'm sure that there are plenty of people using Kubernetes that could get by with something simpler. /3
As an example my son (9yo) wanted me to teach him Kubernetes but I started with simple imperative Docker on the command line on a singleton GCE instance. Once he gets those concepts nailed we'll start talking k8s. /4
That being said, I think that, as engineers, we tend to discount the complexity we build ourselves vs. complexity we need to learn. /5
When you create a complex deployment system with Jenkins, Bash, Puppet/Chef/Salt/Ansible, AWS, Terraform, etc. you end up with a unique brand of complexity that *you* are comfortable with. It grew organically so it doesn't feel complex. /6
But bringing new people on to help on an organically grown system like this is difficult. They may know some of the tools but the way that you've put them together is unique. /7
This is a place where, IMO, Kubernetes adds value. Kubernetes provides a set of abstractions that solve a common set of problems. As people build understanding and skills around those problems they are more productive in more situations. /8
There is still a steep learning curve! But that skill set is now valuable and portable between environments, projects and jobs. /9
Beyond this, Kubernetes allows for "operations specialization". Not everyone has to be an expert in all parts of the stack. Things like operating a cluster can be handed off to specialists -- either on staff or via a cloud provider. /10
The story of computing is creating abstractions. Things that feel awkward at first become the new norm. Higher layers aren't *simpler* but rather better suited to different tasks. /11
Modern JavaScript, for example, is incredibly complex. There are a ton of concepts and ideas that are alien to, say, a C++ 3D game engine programmer. When we created Kubernetes we aimed to create the *right* abstractions for modern scalable server side apps. /end
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Joe Beda
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member and get exclusive features!

Premium member ($3.00/month or $30.00/year)

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!