
Getting started with Docker and Kubernetes - sturza
https://dev.to/itnext/learn-how-you-can-get-started-with-docker-and-kubernetes-a92
======
vpEfljFL
Kubernetes and containers is an awesome approach to unify deployment process
across the company. It allows you to build CI/CD process and automate/unify
many things across your stack.

One thing though that I feel like in most cases using it, especially for small
companies without separamte DevOps team, can overcomplicate the technology
stack and Docker Swarm will be more simple approach without overspending
limited resources on what you don't need yet.

If you want to self-host then Kubernetes is like Email, you can do it yourself
but most likey it will consume too much resources to maintain and keep it up
to date, so you end up choosing service provider for it.

------
MuffinFlavored
I go back and forth with my old boss all of the time on this:

> The big question is why we would want that?

from [https://dev.to/azure/docker---from-the-beginning-
part-i-28c6](https://dev.to/azure/docker---from-the-beginning-part-i-28c6)

Those are great reasons on why you would want to run Docker for local
development, but why would you want to run Docker in production? My old boss
takes the side of "I do not want to run Docker in production" and argues it is
too much code/too much headache to be responsible for.

~~~
wayouteast
In production it is pretty good without Kubernetes (i.e. using it on elastic
beanstalk).

One of the biggest reasons for me is that the base instance's only dependency
is docker. Without docker you have to install binaries on the main system and
hope that virtual environments or something similar exists for the binaries.
With Docker I can test the exact code that will run on production and
guarantee that with an image hash.

when I put an image on elasticbeanstalk, all I have to do is specify the image
and the commit hash (built with travis) I want to deploy. If I want to roll
back to a previous release by changing the hash. All the instance has to do is
pull in docker layers and go. I dont have to worry if package managers are
going to fail or a plethora of other things that can go wrong.

I think kubernetes is overkill TBH but docker is worth it just to standardize
environments between local and prod.

~~~
MuffinFlavored
> Without docker you have to install binaries on the main system and hope that
> virtual environments or something similar exists for the binaries

I _think_ you can achieve "environment equality" through
Terraform/Chef/Ansible. Or, you can just deploy your VM as a custom image.

~~~
spiffytech
I have seen a number of companies try this without Docker, and it's never as
thoroughly, reliably identical as Docker makes it. Plus it's a surprising
amount of work.

------
millstone
> Docker helps you create a reproducible environment. You are able to specify
> the specific OS

Does Docker support target OSes other than Linux? I'd love to have a way to
test on non-Linux OSes.

~~~
redis_mlc
> Docker helps you create a reproducible environment. You are able to specify
> the specific OS

Not exactly ... containers use the host kernel, but the libraries within the
container. Also, global system settings can be changed at the system level.

> Does Docker support target OSes other than Linux? I'd love to have a way to
> test on non-Linux OSes.

Your target OS must support linux cgroups, etc. So no.

