I've heard the Kubernetes vs VPS a lot now. I think it's the wrong way to think about it.
It's more about a learning curve of best practices.
- Building your application with a CI pipeline is a best practice. It helps to ensure your code builds from the repo and your tests run.
- Building your app into a container is a best practice. The Dockerfile tracks your dependencies as code, and you can version control it.
I can tell you from bitter experience these 2 are essential.
Once your app is containerized you have many choices in the way you deploy it. You can use PaaS i.e. heroku or azure web apps.
This is orchestration.
If your service has a few containers and maybe some jobs then Kubernetes starts to look like a good option. K8 is $50 a month on digital ocean, you can run a few projects on that.
Continuous deployment/delivery is a best practice. It takes the stress out of releases.
Infrastructure as Code is a best practice. It's immutable infrastructure and once you have it gives you so many options in the way you manage failover etc.
If you are concerned about uptime during deployments then Blue/Green is a great option too.
We're not overcomplicating things, these skills will transfer from a side project to a billion dollar corp concerned with safety critical software.
So you have to hit a few learning curves, but after that your a better developer.
It's more about a learning curve of best practices.
- Building your application with a CI pipeline is a best practice. It helps to ensure your code builds from the repo and your tests run.
- Building your app into a container is a best practice. The Dockerfile tracks your dependencies as code, and you can version control it.
I can tell you from bitter experience these 2 are essential.
Once your app is containerized you have many choices in the way you deploy it. You can use PaaS i.e. heroku or azure web apps.
This is orchestration.
If your service has a few containers and maybe some jobs then Kubernetes starts to look like a good option. K8 is $50 a month on digital ocean, you can run a few projects on that.
Continuous deployment/delivery is a best practice. It takes the stress out of releases.
Infrastructure as Code is a best practice. It's immutable infrastructure and once you have it gives you so many options in the way you manage failover etc.
If you are concerned about uptime during deployments then Blue/Green is a great option too.
We're not overcomplicating things, these skills will transfer from a side project to a billion dollar corp concerned with safety critical software.
So you have to hit a few learning curves, but after that your a better developer.