Hacker News new | ask | show | jobs
by fivea 1612 days ago
> If you are using Go (which solves most of your dependency problems) and SQLite (which means you don't need to integrate with an external database via service discovery) why do you need Docker at all?

Dependencies is not really a problem with Docker, nor the thing it is designed to solve. If dependencies was the problem people cared about, everyone would just go with the single statically linked executable/fat JAR and no one would ever be bothered with Docker.

Docker is primarily about containerization, but it's also about ease of packaging and deployment. It's also a deployment format that provides horizontal scaling for free.

Also, the one-database-per-service architecture pattern is quite common, as well as ephemeral databases and local caching, and keep in mind that SQLite also supports in-memory databases.

1 comments

Okay, I'll bite.

> It's also a deployment format that provides horizontal scaling for free.

Um. Docker does not provide horizontal scaling at all, for that you need orchestration. And those tools are anything but free if your time has any value.

I think what the OP means that using Docker you can use tools that give horizontal scaling for free (see: Cloud Run etc.)
The claim that horizontal scaling is free with Docker is simply not accurate.

Maybe it will be some day, but these orchestration and deployment tools built on Docker have enormous hidden costs.

IME, Docker takes an enormous amount of focus away from the customer problem and moves it to the how to get this mess working problem.

Now may be the right time in a given business to make that shift in focus, but to claim that it will be "free" is just misleading (IME).

> IME, Docker takes an enormous amount of focus away from the customer problem and moves it to the how to get this mess working problem.

This is the opposite in my experience: Docker lets me focus on the business problem by making deployment easier.

Docker lets me focus on cool problems like "which commands can I use to free up space on this cloud-based container-running VM, given that there are 0 bytes free, and many tools will crash if they can't make a tempfile/dir?".

At least, that's been my experience when maintaining a mess of other people's Docker crap.

> Um. Docker does not provide horizontal scaling at all, for that you need orchestration.

It does. Please take the time to learn about Docker and it's Docker swarm feature.