6 ms·
Well, Dokku [1] is already a good solution to the heroku cost problem. All the power and convenience of heroku commands with the freedom and low cost of docker
by gitgud 9y ago
Well, Dokku [1] is already a good solution to the heroku cost problem. All the power and convenience of heroku commands with the freedom and low cost of docker deployment. It has lets-encrypt ssl support too!
[1] https://github.com/dokku/dokku https://github.com/dokku/dokku
- StavrosK 9y agoI'm using Dokku to serve a bunch of sites and love it, it has made deployments a breeze. I did run into some Docker problems (used too much CPU and couldn't connect to its socket, etc), but I don't think it was Dokku's fault, but Docker's. I want to see if I can use Kubernetes as a Dokku replacement (hopefully a more stable one), but I don't think Kubernetes has all the niceties Dokku has (automatic reverse proxying, Let's Encrypt support, etc).
- Sevrene 9y agoKubernetes can have automatic reverse proxying and let's encrypt via an Ingress controller. I don't doubt Dokku has some nice plugins that Kubernetes doesn't though, especially for developers.
- StavrosK 9y agoAh, thanks, I'll try that. Dokku does have nice plugins, but they tend to be things I can write Dockerfiles for. The other big thing Dokku does is that it builds the image on the server, so it doesn't need a Docker registry, you just push the code directly to Dokku and the image gets built and deployed.
- jacques_chester 9y agoYou might look at Red Hat's OpenShift, which builds on top of Kubernetes. Or Deis, which has adopted buildpacks. Cloud Foundry has buildpacks too, but it's usually seen as a heavyweight solution -- the light footprint variant is 6 VMs, the standard variant is 20-something. Disclosure: I work for Pivotal, we contribute a lot to Cloud Foundry. Red Hat is a competitor.
- StavrosK 9y agoAh, I've heard about Deis, I'll check that one out, thanks. My main concern is the fact that Kubernetes recommends running more than one server, which is a luxury my personal projects cannot afford. Does anyone know how well it runs on a single server?
- jacques_chester 9y agoThere's minikube, but so far as I'm aware, it's not really meant for production use; it exists mostly for local development. My own company has Pivotal Web Services[0], which gives a Heroku-like experience using Cloud Foundry. Pricing is per-megabyte[1], plus services. I expect we'll introduce a container service before long, because we like to dogfood our stuff with real production workloads. [0] http://run.pivotal.io/ http://run.pivotal.io/ [1] http://run.pivotal.io/pricing/ http://run.pivotal.io/pricing/
- StavrosK 9y agoYeah, minikube is just for trying K8s out. PWS looks interesting, but, as with other managed/cloud offerings, it's much more expensive than a dedicated server (50ish EUR/mo for a 64 GB RAM i7). For my side-projects, where I am cost-sensitive, I think the best solution would be a dedicated server with something like Dokku. It would just be nice if the "something" could be an industry standard.
- jacques_chester 9y agoI think it's hard to split the difference. If there was a service using RackHD to spit out cheap bare metal it'd be more doable to run on top of that, I think.
- ianburrell 9y agoIt is possible to run Kubernetes on a single machine combining master and worker nodes but there are few instructions for it. Really only makes sense for single bare metal machine. For production, better to run separate VMs. The hosted Kubernetes, GKE and Azure, can run clusters without paying for master nodes and can have pretty small nodes.
- Chickenosaurus 9y agoI haven't used kubernetes yet, but https://traefik.io/ https://traefik.io/ was a great reverse proxy in combination with docker swarm. I imagine it works great with kubernetes, too. Putting a few labels on the containers you want to expose with your reverse proxy is all you need to do. Traefik continuously monitors docker to react to changes. Traefik handles load balancing and automatic certificate generation with ACME, too
- StavrosK 9y agoThat looks great, thank you. I'll try it with my K8s install.
- dosuken123 9y agoFor the Kubernetes + Dokku replacement, GitLab's Auto DevOps https://docs.gitlab.com/ce/topics/autodevops/ https://docs.gitlab.com/ce/topics/autodevops/ can do a lot of stuff. It's included in CE, thus it's free.
- StavrosK 9y agoThat's a layer over Kubernetes and Prometheus, no? It looks good, but it assumes I've already installed the former.
- icebraining 9y agoGitlab now bundles Prometheus, but you would need to install Kubernetes.
- dosuken123 9y agoIn the next few months, GitLab supports GKE Cluster Integration. https://docs.gitlab.com/ce/user/project/clusters/index.html https://docs.gitlab.com/ce/user/project/clusters/index.html You can set up your Kubernetes, Helm, Tiller, Runner, Prometheus by one click.
- vfulco 9y agoIt's awesome. Even lets liberal arts majors set up servers and R, Python, etc. apps with easy ;-)
- joshmn 9y agoI used to love dokku until I had 7-minute deployment times for an average application in production. Has that been fixed? Was around 0.6.0 I think.
- stevekintor 9y agoMine takes 30 seconds for a sizable rails app
- joshmanders 9y agoCan you give more info on that 7-minute deployment time? Dokku is basically a wrapper around Herokuish which is just a docker image with Heroku buildpacks pre-installed on them to build an image of your app to be dployed to docker instance... Source: Am a maintainer of Dokku.
- friendly_chap 9y agoShameless self plug: we are also building an alternative[1] that enables you to run tons of services on a single node (and to call them easily from front end projects - with the help of autogenerated type safe clients). [1] https://github.com/1backend/1backend https://github.com/1backend/1backend