Live data from Hacker News

An Open Source, Self-Hosted Heroku

bitmatica.com

61–70 of 123 posts

Re: An Open Source, Self-Hosted Heroku

#61

This is a great overview of the kubernetes/self-hosted PaaS landscape, but is also clearly a bit of marketing for Flynn. Flynn looks awesome, but also as/more awesome at a glance from my research and test runs is https://github.com/convox/rack which I got closer to working more quickly than Flynn, though it helped that Convox builds on top of docker-compose.yml files, which we were already using for development. For…

+1 for convox - takes the headaches out of AWS application orchestration best practices.

Re: An Open Source, Self-Hosted Heroku

#62

I looked into all the "Self-Hosted Heroku's" a few few months ago. One feature I found they all lacked is multitenancy, meaning that there is no security model in place to trust that you could host multiple pieces of code from different clients without them hacking each other. I'm not talking about the deployment specifically, but rather isolating the code once it is deployed. Am I missing something there?

You aren't missing something here, it's necessary for reasons best explained -- by way of slight analogy -- by Sir Humphrey Appleby:

> Jim Hacker: People can wait in the lobby. Or in the state rooms.

> Sir Humphrey Appleby: Some people. But some people must wait where other people cannot see the people who are waiting. And people who arrive before other people must wait where they cannot see the people who arrive after them being admitted before them. And people who come in from outside must wait where they cannot see the people from inside coming in to tell you what the people from outside have come to see you about. And people who arrive when you are with people they are not supposed to know you have seen must wait somewhere until the people who are not supposed to have seen you have seen you.

This is one of the priority engineering efforts for Cloud Foundry at the moment. People want it.

Disclosure: I work for Pivotal, the majority donor of engineering to Cloud Foundry. I guess that makes us competitors to Flynn.

Re: An Open Source, Self-Hosted Heroku

#63

I just migrated a hobby website to Dokku, which also markets itself as a self-hosted Heroku. I was curious how Flynn compared. Fortunately, there was a blog post giving an overview[1]. I get the impression that Flynn has all the benefits of Dokku, but has the ability to scale to multiple servers. It seems like Flynn is obviously better than Dokku, so I guess I get to do that this weekend. Keeping up with new containe…

Yeah I really would be cautious, I just did the reverse (Flynn -> dokku), and found that even after re-deploying a few images on Flynn it wasn't cleaning up images and disk space was disappearing fast (was hitting my 20GB linode limit without having half of my apps deployed). So I ended up giving dokku a shot and that thing is lean in comparison, I was able to setup all my apps (about 7 of them) including redeploying some of them many times to get them working, and they only ended up totally around ~10GB on my server. Which left plenty of room for me to also host my music library (~6GB) there too with my music player[1].

[1] http://benkaiser.github.io/stretto/

Re: An Open Source, Self-Hosted Heroku

#64

Is there a way to dynamically auto-scale hosts? One of my app has very bursty traffic, and would require scaling from 2 to 10 host servers and then back down over a period of several hours. I can't see this referenced in the docs? I can see you can scale processes but that's not increasing host resources available, right?

Flynn itself doesn't communicate with infrastructure APIs currently, but you could hook this up so that there is a base set of three servers that are always running and then an autoscaling group that watched your metrics or a schedule and added/removed servers. I'd be happy to explain this more on IRC if you're interested (#flynn on Freenode).

Thanks for the reply. Is this something that you have planned in the future?

This aspect is a really big part of Heroku/AppEngine/Elastic Beanstalk and saves me a tonne of money each month due to the auto-scaling that we get (we're on AppEngine). Is there a reason projects like Flynn have not tackled it? Or is it just a question of time?

Re: An Open Source, Self-Hosted Heroku

#65

I just migrated a hobby website to Dokku, which also markets itself as a self-hosted Heroku. I was curious how Flynn compared. Fortunately, there was a blog post giving an overview[1]. I get the impression that Flynn has all the benefits of Dokku, but has the ability to scale to multiple servers. It seems like Flynn is obviously better than Dokku, so I guess I get to do that this weekend. Keeping up with new containe…

Yeah I really would be cautious, I just did the reverse (Flynn -> dokku), and found that even after re-deploying a few images on Flynn it wasn't cleaning up images and disk space was disappearing fast (was hitting my 20GB linode limit without having half of my apps deployed). So I ended up giving dokku a shot and that thing is lean in comparison, I was able to setup all my apps (about 7 of them) including redeploying…

> re-deploying a few images on Flynn it wasn't cleaning up images and disk space was disappearing fast

I'm really sorry to hear that you switched off of Flynn. We're aware of this issue, and are in the process of fixing several things that can cause it (it only happens when not using an external blobstore backend like S3). Hopefully you'll try Flynn again at some point in the future!

Re: An Open Source, Self-Hosted Heroku

#66

I'm curious about any compelling reasons I should use something like Dokku or Flynn if I already prefer to manage my own infra with something like Ansible or Salt. Serious question, not a sarcastic rhetorical remark about this type of tool :)

Great question! We designed Flynn to solve a bunch of the common problems around running apps in production. This means that we're working full-time just on the automation and stability of your production environment. As you grow and scale, Flynn will scale with you and provide integrated features without any additional effort. Here's an incomplete list of things that Flynn provides out of the box: - Automatic high a…

I work on Cloud Foundry, a competing system. Flynn is unarguably ahead in certain features (and vice versa, in my biased opinion).

I agree with the thrust of your comment here: rolling your own PaaS is hard. Just plain old hard. There's so much, so damn much that you wind up having to do.

Before I worked on CF I worked in Pivotal Labs. I got to see various custom home-grown PaaSes. Some were brilliant. Some were terrible.

Every single one of them was a millstone.

A lot of people don't realise it yet, but the Linux of our time has been written -- in the sense that nobody writes an operating system if they're not in the OS business.

I don't know if it's going to be Cloud Foundry, or Flynn, or OpenShift or some mix of these, but we have already passed the point at which it makes rational engineering sense for the 99% of engineers to build their own.

Disclosure: I work for Pivotal, the majority donor of engineering effort to Cloud Foundry.

Re: An Open Source, Self-Hosted Heroku

#67

Earlier quoted context omitted.

Flynn itself doesn't communicate with infrastructure APIs currently, but you could hook this up so that there is a base set of three servers that are always running and then an autoscaling group that watched your metrics or a schedule and added/removed servers. I'd be happy to explain this more on IRC if you're interested (#flynn on Freenode).

Thanks for the reply. Is this something that you have planned in the future? This aspect is a really big part of Heroku/AppEngine/Elastic Beanstalk and saves me a tonne of money each month due to the auto-scaling that we get (we're on AppEngine). Is there a reason projects like Flynn have not tackled it? Or is it just a question of time?

Yeah, it's definitely something we want to support in the future. Autoscaling requires building some components that are aware of and can communicate the underlying infrastructure APIs (AWS, GCP, Azure, DigitalOcean, OpenStack, etc.) combined with app/host metrics. It's just a matter of putting the implementation effort. We'll get there eventually.

Re: An Open Source, Self-Hosted Heroku

#68
post #34

Why not just use Heroku and actually build your product?

If Heroku works for you, that's fine, but for lots of people it doesn't. For example, Heroku only supports HTTP, not TCP. There are a number of technical limitations Heroku places on apps that other platforms like Flynn don't. There are lots of reasons why users need a different, or especially an open source, PaaS. Some users run into scaling problems when their products grow beyond a certain point. Others want to ha…

Totally with you on this - all pretty valid points; but, I'd say Heroku does still work for a lot of people, especially if they can get past the cost (which, imho is worth it from a focus and time point of view).

Re: An Open Source, Self-Hosted Heroku

#69
post #41

Did anyone checkout https://convox.com/ - which is a more direct alternative to Heroku?

https://www.quora.com/What-are-some-open-source-Heroku-alter... has some more answers (I just added an answer). As of today, the list (in no particular order) is looking like: Convox, Flynn, Dies, Dokku, Tsuru, Apache Stratos, cloudify-cos, Openshift, etc

Re: An Open Source, Self-Hosted Heroku

#70

Earlier quoted context omitted.

Flynn itself doesn't communicate with infrastructure APIs currently, but you could hook this up so that there is a base set of three servers that are always running and then an autoscaling group that watched your metrics or a schedule and added/removed servers. I'd be happy to explain this more on IRC if you're interested (#flynn on Freenode).

Thanks for the reply. Is this something that you have planned in the future? This aspect is a really big part of Heroku/AppEngine/Elastic Beanstalk and saves me a tonne of money each month due to the auto-scaling that we get (we're on AppEngine). Is there a reason projects like Flynn have not tackled it? Or is it just a question of time?

> Is there a reason projects like Flynn have not tackled it? Or is it just a question of time?

Like most useful production software, coming up with industrial-grade implementations is harder than it looks. The tricky part is picking the right basic metric.

CPU load is often a bit misleading.

Post reply on HN