5 ms·
Disclaimer: I used to work on Cloud Foundry buildpacks, several of which are soft forks of Heroku's. So obviously, my recommendation is to switch to Cloud Foun
by jacques_chester 11y ago
Disclaimer: I used to work on Cloud Foundry buildpacks, several of which are soft forks of Heroku's.
So obviously, my recommendation is to switch to Cloud Foundry. Each release has a single, fixed set of components which are predictable. You can also upgrade buildpacks independently of the overall CF installation.
- icebraining 11y agoThe problem is that switching to CF from Dokku is a tremendous increase in complexity. I've been exploring open source/self-hosted PaaS systems for the company I work for, since the manual installs are getting hairy. While trying CF, I first had to get the BOSH cli, then vagrant, then create a VM for the BOSH director, then I had to generate a CF manifest for BOSH (which apparently tries to install Ruby gems, and so fails without root), then out of the sudden a new concept - "stemcells" - appeared, so I choose one that seems appropriate. I couldn't continue, since by then my drive was full (I only had 4GiB free, and though it'd be enough for a bare installation). And at then end, it seems like one gets a system with a whole bunch of moving parts at various layers. I don't doubt that CF is a good tool, but moving from Dokku - essentially an extremely thin layer over Docker - to it is like upgrading directly from a 12v solar panel in your backyard to a small nuclear reactor.
- jacques_chester 11y agoYou're right. But it's complex because this is an irreducibly complex problem space. Making distributed systems Just Work can't be made simpler. So there are two alternatives: first is to use a hosted CF. There are several. My company has one in Pivotal Web Services. IBM BlueMix is a Cloud Foundry instance. There are others around. The second alternative is MicroPCF. It's a new project specifically intended to allow you to run a full CF on your laptop. https://github.com/pivotal-cf/micropcf https://github.com/pivotal-cf/micropcf
- icebraining 11y agoYou're right. But it's complex because this is an irreducibly complex problem space. Making distributed systems Just Work can't be made simpler. Yeah, but that's my point: I want a PaaS for the ease of deployment and upgrade, but I don't actually need a distributed system; all our servers work isolated from each other, only receiving occasional commands from our office. Unfortunately, it seems I have to choose between barebones deployment helpers like Dokku and systems designed to deploy Twitter and Whatsapp. We're more like WPEngine - where's the PaaS for them? I'll look into MicroPCF, but is it production-ready? Sounds too focused to the development phase.
- jacques_chester 11y agoTo repurpose an old joke: You might not believe in the problems of distributed systems, but they believe in you. It sounds like your problem is more IAASy. For which you might tinker with BOSH. Or if you just need to run remote commands, there are a lot of systems that'll piggyback on SSH for you.
- josegonzalez 11y agoIn dokku's case, he is also pegged to a fixed set of components. Installing herokuish - which is installed via a package - will install an exact version of each buildpack. If it is upgraded, then new versions are pulled in. The same exact issue would have been seen with Cloud Foundry.
- jacques_chester 11y agoI stand corrected. Thanks.