> Run your applications in Docker from day 1 (with docker-compose it’s as valuable for dev as it is for production) and think carefully before letting your applications store local state.
I think this is the key take away for many startups. Get it so you:
1. Have a single-command way to bring up your entire backend
2. That command can run on your dev machine
3. You document all of the settings for your containers and deps
Once you have that in a docker-compose.yml file migrating to something like kube when you need health checks, autoscaling, etc is easy.The only thing you must be critical of is bashing people over the head to make everything you run in your company run in this environment you've created. No special deployments. Establish 1 method with 1 tool and go from there.
Every company I've worked at I've brought a single command `docker-compose up -d` workflow and people were amazed by the productivity gains. No more remembering ports (container_name.local.company.com), no more chasing down configuration files and examples, no more talking to shared DBs, etc.