Hello, I'm a ~10 years Android developer. These days I'm looking into building my own applications with Spring and Kotlin. Firebase doesn't fix my problems of data integrity hence I've coded the backend of my app too (which is sad considering how promising Firebase was)<p>I'm trying to find a way to deploy my servers. Currently I'm running my production and staging servers as two Hetzner instances running docker-compose stacks. But I've heard it's not a good solution since docker-compose can't really create a development environment as a copy of production (I don't know why this is bad.)<p>I've looked into Kubernetes but if you're not paying to someone to manage it for you (for example DigitalOcean or Amazon EKS) it's incredibly complex. Also if you chose to use a cloud provider to manage it for you every load balancer adds another item to the bill. I'm running a 3 node cluster on DigitalOcean now but it's too complex to even deploy a container to it.<p>So what are your thought on how a lone developer should deploy their APIs to production and staging?
> Currently I'm running my production and staging servers as two Hetzner instances running docker-compose stacks. But I've heard it's not a good solution since docker-compose can't really create a development environment as a copy of production (I don't know why this is bad.)<p>What are your concerns? What bad things™ will happen if your production environment goes down for a few minutes, hours, or days? Where do you store your state on the server?<p>What can kubernetes do that you can't do by hand assuming you are available to do it?<p>How much do you spend on production vs non production infrastructure?