Docker, Kubernetes, Terraform, and AWS crash course series
Oh boy...<p>Guys and gals, learn the basics.<p>You don&#x27;t need Docker, just a version control system (e.g. git).<p>You don&#x27;t need overpriced cloud offerings in the first place.<p>First of all, pick the right language. For me, that&#x27;s Go, because it has lots of performance for little resource usage.
Docker is written in Go. Why would I put a Go proxy in front of my Go program to have nothing but what&#x27;s essentially a zip file with some startup script and then have to fight the Go proxy, Docker, and its configuration.
Learn about systemd. It&#x27;s the defacto standard init system for most popular Linix distros nowadays.
Terraform? Ansible if you must. If you&#x27;re managing more than 1 host maybe you do, but it&#x27;s likely you don&#x27;t. Or pick something like NixOS if you just have to define your machine state.
AWS (and GCP, etc)? A, one, dedicated server where you can host all the projects your heart desires for a fixed price with low costs for bandwidth&#x2F;traffic.<p>Kubernetes, you do not need it.
Go can handle about 500 million visitors a month on 12 year old hardware per 1 server. 
You will almost certainly not reach these numbers.<p>So you don&#x27;t need much to live a stress free and cheap but efficient life.
What this article tries to teach you is how to become a tool for public cloud providers.<p>Running k8s requires at least 9 servers. Managed k8s, like those cloud providers offer are expensive, because even if you think it isn&#x27;t so, the devil is in the details.
I see that guy posting of how easy it is. BS. Nothing is easier than a single host with a front proxy like nginx, which btw k8s also uses, they call it ingres proxy, a simple nginx config, some letsencrypt, your Go backend and the database on the same server.
It doesn&#x27;t get easier.<p>What this article tries to teach you is stuff you will only ever need if you expect over 5k concurrency (note that&#x27;s not 5000 users).
When do those situations occur? 
Eurovision Song Contest.
Very popular chat app (but even there you&#x27;d not use http).<p>You don&#x27;t need all this.<p>And you also don&#x27;t need microservices.
Monoliths are fine.
When are microservices useful?
When you need to scale particular components of your big program.<p>Is it worth the trouble? Hell no.<p>Especially because now you have to deal with a problem so huge with very little benefit to going the event driven microservice route, because that&#x27;s the only route that matters regarding microservices. 
And that&#x27;s the only, ONLY time k8s makes sense. That&#x27;s also where you can afford to pay those ridiculous prices for cloud traffic and managed k8s.
Those are multilateral enterprise levels of business size, ok?<p>Forget all that crap.<p>In these comments you&#x27;ll find people trying to BS you to get hyped for their product, promising &quot;there will be only one&quot;. It&#x27;s all BS.
Just learn the basics. It&#x27;s not hard.<p>Disclaimer: truly failsafe setups should run on 3 servers (hn runs on 2 and has regular downtime). So if you have a money maker of course do that. But until then even a single server setup with regular backups will do just fine.