5 ms·
So how do you scale out to multiple droplets on Digital Ocean? Set up your own HAProxy instance? What do you do when one of your droplets disappears or crashes
by sync 12y ago
So how do you scale out to multiple droplets on Digital Ocean? Set up your own HAProxy instance?
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.
- opendais 12y agoI'd suggest using Linode over Digital Ocean. 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/nodebalancers https://www.linode.com/nodebalancers
- bcardarella 12y agoI am a big Linode fan and I hadn't realized they price-matched DO. Thank you for the info.
- opendais 12y agoYa, they shuffled their prices a month or so ago: https://www.linode.com/pricing https://www.linode.com/pricing Its the same 1 Core / 1GB == $10 pricing DO uses. [roughly]
- rwg 12y agoBe warned that Linode's status page is also borderline useless. Their website and web-based management interface (and API, according to customers on their IRC channel) were throwing 500 Internal Server Errors for >2 hours the other night, and their status page never had any mention of it.
- jebblue 12y agoIn 4 year it's always worked for me. edit: years
- pc86 12y agoJust a counterpoint as someone who switched from Linode to DO (and indeed have used mostly their $5 nodes) and currently uses a mix of DO and Azure: You need to be comfortable with command-line server administration to use Linode. Yes, they've got tutorials, and they're pretty good. You can be walked through installing __________ on whatever specific flavor of OS you happen to be running. But the moment something goes wrong or I had a slightly-above-novice-level question, the response was that Linode did not offer that level of support and it was a self-managed server (or whatever the specific language was). 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.
- opendais 12y agoDO is pretty much the same as Linode in that respect. You have tutorials and command line comfort as the basic requirement for using the product. 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. ;)
- albertoleal 12y agoJust curious, because I plan on using node balancers. Does node balancers only pool bandwidth on linode instances on the DC the node balancer is in?
- opendais 12y agoDon't trust me <3 Ask their support. I believe its all of them: https://blog.linode.com/2010/02/08/bandwidth-pooling/ https://blog.linode.com/2010/02/08/bandwidth-pooling/
- nirvdrum 12y agoThere's a few options out there. You can treat DO as a compute-only EC2 if you'd like. I work on a project called Rubber [1] that can provision servers and templates for you. DO is one of the supported providers. We've taken care of a lot of the annoying stuff for you, like mapping security group rules back to iptables, setting up DB replication, off-site backups to S3, and so on. 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/ http://rubber.io/
- Lazare 12y agoRubber looks quite interesting. Is it Rails only?
- nirvdrum 12y agoNope. It's got a Ruby inclination, but it's something we're divorcing ourselves from. Deploying Sinatra and other non-Rails, Ruby apps is pretty straightforward. Deploying non-Ruby apps is certainly doable but currently requires a bit of creativity (I've deployed Java and Scala apps with it).
- bdcravens 12y agoIt also spins up other server types like Selenium. (I do alot with Selenium, and even have an accepted pull request in Rubber's Selenium implementation)
- gnepzhao 12y agoCheckout visualops.io. We are language-independent devops automation service. 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.
- deleted 12y ago[deleted]
- 12y ago
- king_magic 12y agoI've been trying out Dokku (https://github.com/progrium/dokku https://github.com/progrium/dokku) as a Heroku alternative. DigitalOcean has a nice VM template for Dokku; I think Linode has something like it too (or instructions for setting up Dokku). 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 :)
- sleight42 12y agoI'll probably still have to scale myself... This sounds painful. Dokku is only a single VM solution though, right? Flynn (http://flynn.io 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!
- alextgordon 12y agoJust curious, what are you guys doing that you need to "scale up"? 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.
- king_magic 12y agoCurrently - nothing that needs scaling for my personal projects. However, as a consultant, it's very possible that a large client may need to scale (dealing with this right now on Azure), so I like to be prepared with options. That said, I know better than to put Dokku in production for a client - at least not until it significantly matures :)
- voltagex_ 12y ago
- grey-area 12y agoNot the OP, but if you're looking to drop Heroku (because of cost, or reliability?), it's not that hard to host your own on a VPS or dedicated servers. Set up your own HAProxy instance? https://www.digitalocean.com/community/tutorials/how-to-use-haproxy-to-set-up-http-load-balancing-on-an-ubuntu-vps 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.
- nlh 12y agoI haven't deployed with them yet, but have been seriously considering making the switch to Cloud66 (http://www.cloud66.com/ http://www.cloud66.com/). 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.
- jevyjevjevs 12y agoI've been really happy with cloud66. Discovering new features everyday that saves me from having to build nginx/postgres/passenger from scratch. Try it out, I think you'll find it provides the balance you seek.
- bdcravens 12y agoWe've been using Cloud66 for a couple of months now. You may find yourself tweaking the manifest files, though. It's not immutable architecture, but rather, they deploy over and over using Capistrano. So over time you'll build up some artifacts/cruft, especially if you're doing anything that generates a lot of log files. Not a problem, but you'll want to configure it to use instances with enough storage, which in a default config is often only 8GB.
- stollercyrus 12y agoHere are some puppet manifests I put together for hosting ruby (in my case rails) apps on Digital Ocean that you might find helpful. https://github.com/cyrusstoller/gardenbed https://github.com/cyrusstoller/gardenbed It sets up postgres/rbenv/nginx/ s3 db backups etc ...