Digital Ocean is a NY based hosting provider specializing in SSD based virtual machines. A majority of our customers choose to deploy and manage databases on Amazon AWS. However running large scale write intensive databases on AWS is a fairly difficult and time-consuming operation. If you are interested in the reasons you can read the details in my blog post – “What I would like to see in EC2..” . We have been using Digital Ocean for several months now and have learnt a lot about the system.
What do we like about Digital ocean?
1. SSD’s are amazing – It feels so right to run a database on SSD’s. The disk throughout is fairly amazing. You can clearly see the benefits when you run an index or repair a database – operations that used to take hours on Amazon EBS finish in a few minutes. If you are currently not running your database on a SSD you should definitely reconsider your decision.
2. Simplicity – The API and the UI are simple and elegant. It is very easy to achieve what you want with just a few clicks or a few lines of code. I hope they preserve the simplicity as they continue to add new features.
3. Pricing – The pricing is great. Simple low pricing. Don’t need to worry about on-demand vs reserved instances
4. Low latency from Amazon – The latency from Amazon AWS US-East and the Digital ocean NY datacenter is about 5-8 ms. This makes it possible for customers to continue to use AWS for their front and mid tier and deploy their mongodb clusters on Digital Ocean.
What we would like to see improved on Digital ocean?
1. Availability framework
We would love to see an availability framework similar to EC2 availability zones. Currently when we need to be doubly sure of uptime we run across different data centers NY1, NY2, SFO and Amsterdam. However in the long run it would be good see the ‘Availabilty zone’ construct inside a single datacenter.
2. Online snapshots
Digital ocean does not have online snapshots – you have to shut down your machine for snapshots. This makes taking backups or snapshots ridiculously hard. ‘MongoDump/MongoRestore is not really an option for large deployments. We have had to do a lot of engineering work to be able to build a reliable and quick backup solution on Digital ocean.
3. Support for multiple disks & LVM support
Currently you can only have one disk attached to your virtual machine. For high performance clusters we would like to distribute different portions of the database( log, db etc) on different disks. Hence we would love to see the ability to attach/detach multiple disks. LVM is also not supported currently – it would be great if it can be supported. It is very useful to take snapshots of your system.
4. Dynamic disk resizing
If you fill up your current disk you don’t really have many options today. You need to create a new bigger machine and migrate your data over. In the long run it is vital to be able to resize your existing disk instead of needing to migrate to a new machine when you disk is full
Overall we like the system and are rooting for them to succeed! We hope to deploy and manage many more MongoDB servers on Digital ocean this year. As always if you have any other questions please contact us at firstname.lastname@example.org