3 ms·
I am a solo developer and I have been running my side projects on Kubernetes (GKE) for several years now. It helped me a lot to focus on things that I like: de
by deforciant 8y ago
I am a solo developer and I have been running my side projects on Kubernetes (GKE) for several years now.
It helped me a lot to focus on things that I like: development instead of ops. I never had to SSH into any machine or do things manually. I just tag a github release and in few minutes I get my application updated.
With Docker I believe it would be lot more complicated, no zero-downtime upgrades, no load balancing, OS vulnerabilities. Then, when I would need to add a new service into my setup, I would have to yet again go into the host or multiple hosts :)
So no, I don't believe people who say that for small projects you shouldn't use K8s. It saves a lot of time and helps you not to burn out on your side projects as it takes the pain of running a service away.
P.S. I am an author of Keel https://github.com/keel-hq/keel https://github.com/keel-hq/keel, it's a relatively successful CD solution, I hope it saved a lot of hours for other companies too :)
- XVincentX 8y agoQuestion: Why not Heroku or any other hosted service like that? They seem to give you the right compromise for solo developers as well as mid size applications. If it was a learning experience than I totally get your choice — otherwise I'd be interested in the motivations! Thanks!
- deleted 8y ago[deleted]
- deforciant 8y agoI wanted my own ports with non http services as I had a grpc endpoint :) not sure how it is now but heroku only offered http.
- meddlepal 8y agoPersonally, Heroku has too much magic around the build packs and what not. Kubernetes for stateless apps is easy: 1. Create a Docker image with your app. 2. Write about 20 lines of YAML for a Deployment 3. Write maybe 10 lines of YAML for a Service Done. You can automate the entire roll out via Travis and using some `sed` replacements on the Deployment. I have got blue-green roll outs working with two deployments and two service descriptors and maybe 30 lines of `bash`.