Hacker News new | ask | show | jobs
by mrweasel 1957 days ago
Maybe it's because Nomad is a commercial product as well, but it's really sad that it doesn't get more usage. Kubernetes is the new hotness, to the point where people don't care that the don't really need Kubernetes. They just know that the big boys are using it, so regardless of scale, so should they.

Kubernetes is exceedingly complex, and it needs to be, to support all it's use cases. However, I would claim that the vast majority of small project running on Kubernetes is just after one thing: Easier deployments.

These users would be just as well served, if not better by Nomad. It eliminates much of the complexity of running a Kubernetes cluster, but it still utilizes hardware better and you get a convenient way to deploy your code.

2 comments

I’ve often thought that when developers saw Kubernetes, what they actually wanted was some form of PaaS
Are there any lightweight but production-ready PaaS offerings out there?

I know there's Dokku, https://flynn.io/ looked super promising but I think it's basically dead now, same for Deis that is dead and forked to https://web.teamhephy.com/.

There seems to be a significant lack of open source PaaS as you mentioned. And Dokku is unfortunately a very leaky bucket of abstractions - fun if you're learning docker, annoying otherwise.

This kind of makes sense given how much work it is and how easy it is to monetize as a paid service.

As the maintainer of Dokku, I'd love to hear more about what you think we can improve here. It is certainly an abstraction over basic Docker commands, but so are other schedulers and platforms.

That said, any feedback is more than welcome.

I can't recall the specifics, but keep running into issues when setting up port forwarding, attaching networks, etc. where I end up chasing the reason things don't work down to "docker inspect"-ing things. Usually it's some step I missed or overlooked, but the state I'm in just doesn't do anything useful. It makes sense I end up in that situation because I'm using something that maps to docker commands. I guess I expect a PaaS solution to own more of the system and tell me something like "the way you try to proxy doesn't make sense with the container you spawn", or "you added a network to attach to, and made other changes, the app will be restarted to apply it".

To be clear, I didn't want to say Dokku does things wrong. I'd like something that can validate changes and expected state. But if Dokku is supposed to be a "thin layer", that's cool.

Others I've came across on HN are Caprover, Flynn and Apollo.
Capnrover seems like the best option. I have the same perception of Flynn. Dokku is nice but I don't really see how you could use it in production since it's limited to a single server (there are definitely some cases where that's all you need but I can't imagine you'd need a PaaS for most of them).
Maintainer of Dokku here:

It isn't limited to a single system, and has a scheduler component for Kubernetes (https://github.com/dokku/dokku-scheduler-kubernetes) and Nomad (https://github.com/dokku/dokku-scheduler-nomad).

Cool! It looks like those are in beta/not very widely used though. And my impression is that I'd probably have to understand k8s/nomad pretty well to use them; really I'd like something with an experience closer to Heroku where that layer is as abstracted as possible.
I love the developer experience of Dokku!

That said, I would be very nervous to advocate using Dokku for any critical production systems. Are my fears ill founded? Or if not, is there any roadmap to making Dokku production-stable? How can people help?

If you're on AWS, you might be interested our product https://apppack.io.
Thanks for the link. Honestly one of my goals is to avoid becoming too dependent on on proprietary clouds. If I wanted something that only works on Amazon, there's always ElasticBeanstalk/Amplify & friends.
it's not a PaaS per say but Hashicorp new product waypoint looks promising at least when it comes to deployments. A common deployment interface over several of the tools we love/and hate(docker, k8s, nomad,...) making them feel like good old heroku. The operators are probably going to keep wrestling with the underlying complexity but at least the developers won't need to add yaml dev to their CV anymore(HCL is much better in my opinion).
I think we have passed the first stage where people have gone through a couple of disasters and have learned they actually didn't need majority of the features k8s offers at their scale. They are now actively looking for simpler tools which opens space for nomad and co. Plus success stories from companies like https://fly.io(yes I like them) with nomad are pilling up.