What do you do when one of your droplets disappears or crashes?
Where do you host your database?
Not quizzing, real questions from someone also looking to drop heroku.
What do you do when one of your droplets disappears or crashes?
Where do you host your database?
Not quizzing, real questions from someone also looking to drop heroku.
They already are the same price/performance [roughly, unless you are buying DO's $5 nodes]. They also have stuff like load balancers built out and are reasonably reliable [although only at the datacenter level, they don't have multi-DC load balancers]:
https://www.linode.com/pricing
Its the same 1 Core / 1GB == $10 pricing DO uses. [roughly]
edit: years
Not complaining, that was exactly what I was paying for, but it's certainly something to take into consideration if you're not comfortable with command-line server admin.
Both the parent and the OP both suggested switching to DO which is the point of comparison.
I've never had better support/more comprehensive with DO than Linode. Then again, I've had a Linode account for like 6 years and I think I've opened as many tickets. ;)
I believe its all of them:
You'd likely be able to do the same with chef, ansible, puppet or whatever else. I don't have deep experience with those options, so I can't really speak to them.
[1] -- http://rubber.io/
Similar value with Heroku: autoscaling, auto-healing, push-to-deploy, but not blackbox. Instances runs in your own account. Even if we go down, your app will not be impacted.
But, I think we fill that niche between hand-holding and trusting devops/sysadmins to do what they think is best. We try to handle the monotonous tasks for you (configuring DNS, setting up backups, configuring load balancers, etc.) out of the box, but give you a great deal of flexibility to influence that. Almost everything is bash and ruby with a healthy set of utility functions.
I admit, it occupies kind of a weird middleground. If you use Heroku because you're not well-versed in sysadmin tasks, there will be something of an uphill battle (but a great learning opportunity). If you want to outsource everything, it's not a great fit. But, if you want a lot of flexibility, have unique app contstraints, want the abilitity to switch betweeen cloud providers and not deal with everything from scratch, it's a pretty good fit. I've personally used it with EC2, DO, vSphere, Vagrant, and leased hardware. It's nice being able to treat them basically uniformly.
So far, I like it; Dokku is pretty slick. Deployments are more or less the same as Heroku - "git push dokku master", in the case of my Rails app. But that said, assuming Heroku's security is super tight, I have a bit of work to do to secure my droplet.
I'll probably still have to scale myself (or just switch to Linode and use their load balancer), and with Dokku I've got a PostgreSQL DB in my Dokku container.
Droplets disappearing or crashing... not sure, but I sure hope DigitalOcean's backups are good :)
This sounds painful.
Dokku is only a single VM solution though, right? Flynn (http://flynn.io), the all grown up Dokku, isn't production ready yet.
I'd love to hear that I'm wrong and that scaling up with Dokku is a piece of cake. If so, please correct me!
Even if you get a hundred thousand hits in an hour, that's only 28 per second. I am pretty sure even my toaster can handle that.
I've been fireballed, HN'd, reddited, etc. All on my little 256MB Linode instance (now 1024). It has never been anything but zippy.
Set up your own HAProxy instance?
https://www.digitalocean.com/community/tutorials/how-to-use-...
Setting it up doesn't look too hard, and you're not going to need it until you reach significant scale - so probably 90% of the people reading this without a dedicated ops team aren't ever going to need it. Startups often seem to over-engineer servers at an early stage or assume they'll need a massive cluster when a single server with multiple processes could serve perfectly well till you actually hit some sort of scaling problem (i.e. millions of users a month). As an example, the HN website ran for a long time on one server (not sure what they use now, but it's not heroku :). Very large VPS instances often cost less than scaling with heroku.
Also, other providers like Linode offer load balancers without setup for a low cost.
What do you do when one of your droplets disappears or crashes?
ansible myserverplaybook.yml
to set up another one in a few minutes. But you'll find this just isn't necessary unless the server config changes - uptime will be measured in months on most providers (not sure about DO in particular, haven't hosted anything serious there).
Where do you host your database?
On another DO droplet, with remote backups, or even on the same one if you have a sizeable VPS and low to moderate traffic.
https://github.com/cyrusstoller/gardenbed
It sets up postgres/rbenv/nginx/ s3 db backups etc ...
It looks like the best of both worlds -- higher level than Dokku, but choices when it comes to the underlying infrastructure provider (Linode, DigitalOcean, AWS, or some combination). Small overhead charge for the management which seems very reasonable, otherwise you're just paying for the (virtual) metal from the IaaS guys.