Ever deploy the same software to multiple servers, and it maddeningly behaves slightly differently on different servers, and you're not quite sure why?
This is the problem docker solves. Install exactly once, when you build the image. Then deploy the exact same code, down to the bit, as many times as you want, to as many servers as you want. Or quickly roll back to the Docker image for the previous version.
So this is how Docker helps you scale quickly and deploy as often as you want, with confidence.
Kubernetes, meh. Just some code for spinning up more or fewer Docker containers in an automated fashion. At least that's my impression, I haven't had to get my hands dirty with it yet.
Containers give you the ability to layer the pieces you need on top of each other, so you are only responsible for the parts that you maintain. No need to rebuild an entire VM image every time one piece of the stack is updated.
Distribution of containers is also far more efficient than full virtual machines (especially important in a highly distributed environment).
I think where Docker tends to shine is when you are operating at scale. For larger players using VMs to recreate a computing environment is expensive and eats into your bottom line. In such situations there's value in having some kind of tooling or API that partitions and simulates specific environments for processes running in the same kernel space. For better or for worse, in 2019, Docker is the best solution to this problem.
Your negativity is only rewarded if somehow you're right (which is more a result of broken clock syndrome than anything else), so you and people like you are incentivized to keep sniping from afar.
It just seems that that is constantly the case. We might well be another 3 or 4 decades away from software development technology hitting real maturity in terms of really streamlined tooling, frameworks, languages that help us work at the right level of abstraction at the fastest speed.
I don't think it's an entirely unwarranted comment. I think it's wise to constantly be thinking about and looking for "what awfulness are we accepting as a trade-off to get the great benefits of this particular way of configuring our process?"
By all means get into the hype, dive in, be excited. But don't forget to shit on yourself because you know the shit is coming at some point. If not in 5 years then in 10. It'll help you see it coming.
You didn't say anything particularly actionable or insightful. Just projecting vaguely pessimistic and defeatist attitude.
The rest of us reap the benefits of innovation, standing in the sun, while you rot in some forgotten basement where the last self-hosted server rack at a fortune 10 company is kept. You'll have cursed yourself to the menial task of caring and feeding the pets surrounding you, the last vestiges of what you've tricked yourself into believing was a simpler, saner time.
Pessimism loses against the unyielding light of positivity. It may feel good to take shots from the shadows, but you're developing a hunched back, hiding from view.
People often misconstrue my pragmatic hyper-realism for pessimistic defeatism. It's nothing of the sort.
Nice rhetoric though! I really pictured the rotting corpse at the computer in the basement of the fortune 10 and partying on the beach with models and bottles making the promo video for Fyre festival. You really took me there.
It's also just cheaper and more reliable at that scale.
This comment was true 15 years ago. It's now so outdated that you're flagging yourself as one of those basement dwellers I wrote about above...