Brilliant Dilbert comic. Hitting a little too close to home… pic.twitter.com/axDlwj7bYB
— Daniel Dib (@danieldibswe) September 5, 2019
I was flipping through Reddit and found this hilarious post referencing a Scott Adams Dilbert strip on Kubernetes.
Join 35,000 others and follow Sean Hull on twitter @hullsean.
What I found even funnier were the comments on the Reddit thread. Read on for fun!
1. Watch your memory
One engineer said he had a dockerized app running with 3GB of memory serving just 7 customers.
Not to be outdone another ops guy pipes in that he has one using 180Gb of memory serving just a few hundred customers.
Of course this is the internet, and along comes a guy who has an app using 1TB of memory, with only one user!
Optimization be damned!
2. Beware growing application complexity
As you dockerize your application, you can support multiple versions of software and packages. This can keep you flexible but also enable engineers to kick the can down the road. Technical debt is real!
What’s more each microservice *can* be on a different stack, using a different language and framework. But just because you *can* do something doesn’t mean you should.
Though docker & kubernetes will enable the above, keep in mind your team has to support it. Using some cool new language that hasn’t really achieved critical mass? Remember the engineer who championed that, and built your business crown jewels on top of that, will eventually leave. And when he or she does, you will be faced with the challenge of finding someone who knows the stuff!
Related: 6 Devops interview questions
3. What is a microserved monolith?
Well it’s not really a thing, except it sounds fun. And a bit absurd. If all those docker containers never get optimized, they probably have layer upon layer of useless stuff. Start with a smaller base image, dont include debug stuff, and extra layers. And cleanup after installing packages.
Here’s a more detailed howto optimizing Docker image sizes.