DigitalOcean Review

[divider]

Table of Contents

  1. Introduction to DigitalOcean
  2. DigitalOcean’s Journey (Startup Stories)
  3. DigitalOcean’s Market Growth
  4. How-To Create Your First Account
  5. How-To Create Your First Droplet
  6. DigitalOcean’s Cloud Hosting Features
  7. Known Issues with DigitalOcean’s Services
  8. Private Networking Capabilities
  9. Comparison With Major Cloud Platforms
  10. Support Quality and Response
  11. Benchmark Results from a DigitalOcean Server
  12. How Community Organized is DigitalOcean?
  13. DigitalOcean for WordPress Bloggers
  14. Affiliate / Referral / Writing Program
  15. DigitalOcean Coupon for $10 Off!
  16. Conclusion
[divider]

John Edgar (@jedgar), Chief Technology Evangelist @ DigitalOcean

Super rad article, thanks for taking the time to write it. We all commented internally on how great it is. Thanks again.

Etel Sverdlov (@etelsverdlov), Community Director @ DigitalOcean

I wanted to thank you for this awesome review! Thank you so much for all of the kind words and the thoroughness of the entire piece. Furthermore, I really wanted to let you know my heartfelt appreciation for mentioning the community.

This post was last updated on August 16th, 2014 – all the info is 100% up-to-date and verified on both ends. Please leave comments for mistakes and grammatical errors!


DigitalOcean clearly shook ground under the cloud hosting industry, and within three years since its initial launch, it has managed to compete with services like the Amazon SC2, Linode, Rackspace and other well-known cloud hosting companies out there.

It came unexpectedly, but in early March, 2014 – the Andreessen Horowitz capital firm made a $37.2 million investment in the company, putting its valuation at roughly $150 million. You’ll learn more details about this series A round on TechCrunch.

It truly is a spectacular service that 22
>these guys from New York
provide, and while many people are debating whether there is a catch or not, you’ll learn from this review that there is no catch – just pure awesome cloud hosting service powered by SSD drives, it’s literally making everything fly!

[box]note: benchmarks, and other stats are available at the end of the post, the first section is to help you create an account, and open up your own server.[/box]

I have to admit I was skeptical of DigitalOcean at first, I couldn’t decide whether to signup for a shared hosting plan, or go with a VPS server – and because at the time I didn’t need the resources, I went with shared. I managed to grow my blog (the one you’re reading) very quickly, and I was in need for much, much more resources, quickly and at a reasonable price.

DigitalOcean

I went ahead and signed up with DigitalOcean, two months after I had purchased my shared plan from another hosting company. It has been – hands down – absolutely the best decision I have made, considering the amount of resources I need for my blog. I’ve managed to go down from 25~ WordPress plugins to only 12, most of which were used to balance the load / cache the site.

DigitalOcean’s Journey (Startup Stories)

I published the initial review, and very shortly after, TechCrunch published a new post that goes in little bit of depth about DigitalOcean and their rapid growth rate, it’s from the Startup Stories series, and full credit / thanks to all of the editors and team at TechCrunch.

https://www.youtube.com/playlist?list=PLseEp7p6EwibJbMqBIvino3MxqrUkC9U0

I have added all three videos in a single playlist, so you can watch them all at once or save them for later. You’ll learn what it took for DigitalOcean to become a competitive company, how many times they were told the magic word ‘No!’ and how their product took off, beyond their own imagination.

DigitalOcean Growth and Market Share in 2014

Netcraft concluded another survey in March, 2014 – and as of then, DigitalOcean is ranked as the 9th most popular hosting platform in the world. I think that goes beyond words, for a platform that really is only still a baby, and has a lot of growth ahead of it.

At the writing of this post, DigitalOcean is powering over a million cloud servers, that’s a number that many people and hosting companies have dreamed about, and sadly – never achieved.

DigitalOcean’s Worldwide Growth

DigitalOcean's Worldwide Growth

DigitalOcean’s Worldwide Rank

DigitalOcean's Worldwide Rank

It’s quite some study, and you can see the rest of the results on this blog post. I hope this was inspiring enough!

In the first paragraph I showed you the humongous investment that DigitalOcean recieved earlier this year, a whopping $37 million that they’re now beginning to put in use. Their latest major advancement was the opening of a data-center in the lovely London, United Kingdom. All of the droplets in this area will also come enabled with IPv6 support by default! Great news, right?

London is experiencing a boom in tech and entrepreneurship that looks very similar to NYC’s own tech expansion a few years ago, and we want to provide innovative companies in the United Kingdom with the infrastructure they need to grow and succeed. Additionally, we want to ensure that UK developers can comply with data privacy regulations by having a native facility. [DO]

The new droplet zone is called LON1 and is already long accessible for DigitalOcean customers! :) We should expect more data centers to be opened in Europe very soon, but that is not a statement that’s confirmed.

How to signup to DigitalOcean

Besides providing great service at low cost, DigitalOcean is known for being very fast with its signup process, in fact – it’s going to take you roughly ~5 minutes (in total) to signup, add funds to your account, create a droplet and launch a site. If you’re inexperienced, you’re looking at ~7 minutes (in total) tops. Quite amazing, isn’t it?

Opening a New Account

It’s incredibly easy to open up an account with DigitalOcean, you can begin by heading over to the DO homepage, and selecting the signup button in top right corner. There you’ll enter an email address, and a password you’d like to use, the rest of the details will be emailed to you.

You’re instantly directed to your settings page after the initial signup, and your account is pretty much ready to go, all that is left is adding some funds through the billing settings.

DigitalOcean Control Panel

[box]There are premium, high performance servers available for those who need powerful resources, I’m unable to list all of the prices within one pricing table, you’re also entitled to more droplets if you need them, just need to reach out to the support team![/box]

DigitalOcean Payment Methods

Unlike other hosting companies, in order to begin hosting with DigitalOcean – you’ll need to add some “credits” to your account first, and only then you’ll be able to begin creating droplets.

Currently DO accepts the following payment methods:

  • PayPal
  • Credit Card

DigitalOcean Payment

You’re never paying for a full month, only for the amount of resources you use, this also makes it very easy to create new droplets to do a bit of testing, without having to worry about losing money, or getting billed the wrong amount. I’m in love with this type of billing!

[divider]

I think that’s about it, for the first section on how to signup to DigitalOcean and choose the payment method of your own preference. Next, we’re going to be looking at the features from within the user panel and seeing what there is to do, explore and learn about.

How to create a droplet on DigitalOcean

I think that’s a good headline for this next section, more or less – all of the features we’re going to be looking at next are somehow involved with your droplet, otherwise known as the server you’re going to be creating to host your site and/or platform, or whatever it is that you’re using DO services for.

DigitalOcean Droplets

Create a Droplet

You’ll want to click that big blue button in the top right corner that says ‘Create Droplet’ and you’ll be redirected to a page that offers you to configure your server. I’ll go into detail about each of the options, briefly.

DigitalOcean create a droplet

You’ve got to pick a domain name (hostname) and also the size of the droplet you’d like to have, you can scroll back to the top to my pricing table, and take it from there if you haven’t done so already.

DigitalOcean region

The next choice is to select the region you’d like your server to appear in. I’ve selected Amsterdam for mine, but you’re more than welcome to choose whichever you like, and it will usually come down to your own nearest location, all of the locations provide great speeds to the whole world, no matter what.

DigitalOcean images

The last thing to do is to select an server image that you’re going to be working with for the time being. It’s not my job to make this choice for you, so if you’re new to cloud hosting – perhaps it’s a good idea to do some research, as to which of these images are best for you.

I know that Ubuntu is beginner friendly, though it’s worth paying attention to the ‘Applications’ tab, which will enable you to build pre-customized servers, saving you quite a bit of time when it comes to installing a web server.

DigitalOcean Applications (Pre-built Images)

  • LAMP on Ubuntu 12.04
  • MEAN on Ubuntu 12.04.3
  • Ruby on Rails on Ubuntu 12.10 (Nginx + Unicorn)
  • Redmine on Ubuntu 12.04
  • Ghost 0.4.0 on Ubuntu 12.04
  • Dokku-v0.2.1 on Ubuntu 13.04
  • Docker 0.8 Ubuntu 13.04 x64
  • WordPress on Ubuntu 13.10
  • GitLab 6.6.5 CE

You can select any of these from within the Create Droplet -> Select Image -> Applications tab, and you’ll have a fully functional server with your application of choice, read within 55 seconds, as promised by DigitalOcean itself, it’s their moto and it’s a damn good one!

Digital Ocean Linux Distributions

Apps are for those who need to save time / have quick access to some popular software, most developers and people signing up for this service are going to go with ‘blank’ servers, currently DO supports the following distributions:
[accordions] [accordion title=”Arch Linux”] Arch Linux 2013.05 x64
Arch Linux 2013.05 x32
[/accordion] [accordion title=”Ubuntu”] Ubuntu 13.10 x64
Ubuntu 13.10 x32
Ubuntu 13.04 x64
Ubuntu 13.04 x32
Ubuntu 12.10 x64 Desktop
Ubuntu 12.10 x64
Ubuntu 12.10 x32
Ubuntu 12.04.3 x64
Ubuntu 12.04.3 x32
Ubuntu 10.04 x64
Ubuntu 10.04 x32
[/accordion] [accordion title=”CentOS”] CentOS 6.5 x64
CentOS 6.5 x32
CentOS 6.4 x64
CentOS 6.4 x32
CentOS 5.8 x64
CentOS 5.8 x32
[/accordion] [accordion title=”Debian”] Debian 7.0 x64
Debian 7.0 x32
Debian 6.0 x64
Debian 6.0 x32
[/accordion] [accordion title=”Fedora”] Fedora 19 x64
Fedora 19 x32
Fedora 17 x64 Desktop
Fedora 17 x64
Fedora 17 x32 Desktop
Fedora 17 x32
[/accordion] [/accordions]

The last thing to do? Create the damn droplet!

DigitalOcean create droplet

You’ll get the root password in your email address, literally a few moments after you click that big, green button. It doesn’t get any easier than that, and if you thought it looks complicated, it’s only because I’ve tried to account for all of the features that are available to the customers.

Any questions about this whole process? Leave a message in the comments or my personal email, and I’ll try and do my best to help you out.

Support Quality on DigitalOcean

I’ve never have been a huge support person, and I usually fix my problems either through looking for a solution on Google, or browsing the sites own support platform.

Because DigitalOcean is a pure Linux type of service, you’ll learn that there are a ton of guides available for pretty much any issue you have, and most of which aren’t meant for DigitalOcean, are still gonna work on it – it’s all GNU/Linux!

The one time I had to contact the support was when I tried to rebuild a droplet I had built, and it gave me this error: Your event is processing…

I had no idea what that initially meant, and after some time I realized it’s moving nowhere, I needed to get in touch with support. I created my ticket, and within 3 minutes I had a reply – astonishing!

DigitalOcean support review

I’m not entirely sure whether that was an automated response, but it seems quite unlikely, the problem resolved itself moments later, and that to date has been my only experience with the DigitalOcean support team, super pleasant!

Support Feedback Update 16/08/2014:

It has been a few months since I wrote this post, and since then I’ve had the need to get in touch with DO support a few more times. I have to stay that the experience has managed to stay awesome throughout, I especially love their team when they’re answering questions on Twitter – quick and effective.

I needed a bit of help with taking care of my outstanding balance (it’s a long story), and the support team gladly helped me out until I cleared everything up; a very positive experience, and I can’t say I’d expect any other hosting company to do the same thing!

DigitalOcean Price Comparison With Amazon, Rackspace & Linode

It’s worth knowing that DO is a transparent company, and has no issues whatsoever – advertising itself as the leading cloud service on the planet, it truly is one of a kind, and the service it offers for the price it asks goes beyond a lot of things.

DigitalOcean price comparison

The above snapshot was taken from the DigitalOcean’s own price comparison page, I’m blown away, and perhaps the only thing that people can complain about is the amount of space you get with your servers.

I’m on the 20$/month plan, and I get 40GB of space. It’s a few times more than I’ll need for the next two or three months, but even then, I doubt I’ll be using the full 40GB at all times. The price for the service is amazing, and there is no question about it.

DigitalOcean Features

I’m only voicing my own experience within this post, I think I made that quite clear. I do however feel obliged to share the official link to the DigitalOceans’s feature page, where you’ll learn more about company itself, the technology behind it and of course how to gain access to the API and other features.

SSD Cloud Server, VPS Server, Simple Cloud Hosting I DigitalOcean

We provide a 99.99% uptime SLA around network, power and virtual server availability. If we fail to deliver, we’ll credit you based on the amount of time that service was unavailable.

You can learn more about these features here.

Private Networking Capabilities

DigitalOcean Private Networking
The issue everyone seems to be having with this is that DigitalOcean is quite limited when it comes to shared private networking between its servers. At the moment, the only network supporting the private networking seems to be ‘NYC2’ – which has raised a lot of concern in the community.

Its a known fact that a lot of people would love to replicate their database servers from one end to another, to balance the load and connectivity. You can learn how to setup the current private networking options from this tutorial.

Also, the private networking that DO currently provides is being shared across all of the Virtual Machines (VM’s) within the data center, raising a lot of security concerns and making its users to integrate complicated precautions to prevent people from gaining ‘unauthorized’ access.

The stance DO is holding right now is that they’re going to implement private networking on all new regions they launch, and also work on bringing it to the current regions. It has been ongoing for a while, and there isn’t any info on whether we will be seeing the current regions updated or not.

It has been said that they’re fine with doing it for a thousand customers, but anything beyond that point has not been proven to scale very well, and so it is out of the question to implement something that wouldn’t scale with the service as a whole.

Enable Private Networking on DigitalOcean

You can enable private networking whenever you’re building a new droplet, it will be at the bottom of the screen – where the big ‘Create Droplet’ button is located. If your droplet is built already, you’ll have to disable it, in order to turn private networking on. More on that in the tutorial I linked above.

Known Issues with DigitalOcean Services & Servers

known linux bugs with doI’ve also taken the time to look into some of the most common issues that users are experiencing with DigitalOcean, and perhaps you’re also aware of them. I welcome more of these in the comments, and I’ll do my best to add them to the list accordingly. It’s totally unbiased, and if you think it’s wrong – please let me know!

  • 1 (one) IP address per server / droplet only.
  • Whenever you recreate a droplet, there is a chance of you losing your IP address that you had for it, but only if someone else creates a droplet between that space when you destroyed one, and had to recreate one.
  • Kernels tend to time-out / lag-out, causing your server becoming ‘open’.
  • There’s no option to add extra storage or resize the server you’ve got.
  • Inability to install custom kernels, or even FreeBSD.
  • Virtual Machines are limited, you cannot be sure to get another one.
  • At the moment, there’s no IPv6 support.
  • Average security reputation. (read below)
  • Limited droplets. This can be fixed through support, but still confusing to many.
  • Yahoo! email issues. (?)
  • Inability to setup backups for provisioned nodes.
  • For some, not accepting Bitcoin is an issue, you’ll see resellers doing it for them – but try and stick to the default payment gateways for now.

It’s worth checking out this article titled ‘DigitalOcean Sucks. Use DigitalOcean!‘ which also outlines some of the issues I’ve written above, and gives suggestions / insights on other common causes of problems.

[box]Yes, there were some security issues in the past, you can read more about them on this GitHub page, it’s unfortunate that it happened, but it shouldn’t be the reason you’re not signing up for the service, if anything – the new funding they’ve received is going to be of great help, for dealing with security problems.[/box]

DigitalOcean Benchmark Results

I concluded the benchmark on my own $20/month server, using sysbench – it’s nothing comprehensive, but it will give you a good starting point if you’re looking to compare your own VPS host, with the quality of DigitalOcean.

CPU Performance Benchmark

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          35.3304s
    total number of events:              10000
    total time taken by event execution: 35.3222
    per-request statistics:
         min:                                  3.33ms
         avg:                                  3.53ms
         max:                                 36.82ms
         approx.  95 percentile:               3.61ms

Threads fairness:
    events (avg/stddev):           10000.0000/0.00
    execution time (avg/stddev):   35.3222/0.00

File IO Benchmark

Extra file open flags: 0
128 files, 160Mb each
20Gb total file size

Operations performed:  1107540 Read, 738360 Write, 2362632 Other = 4208532 Total
Read 16.9Gb  Written 11.266Gb  Total transferred 28.166Gb  (96.14Mb/sec)
 6152.98 Requests/sec executed

Test execution summary:
    total time:                          300.0011s
    total number of events:              1845900
    total time taken by event execution: 188.3251
    per-request statistics:
         min:                                  0.01ms
         avg:                                  0.10ms
         max:                                 64.28ms
         approx.  95 percentile:               0.19ms

Threads fairness:
    events (avg/stddev):           1845900.0000/0.00
    execution time (avg/stddev):   188.3251/0.00

MySQL Benchmark

OLTP test statistics:
    queries performed:
        read:                            414708
        write:                           0
        other:                           59244
        total:                           473952
    transactions:                        29622  (493.65 per sec.)
    deadlocks:                           0      (0.00 per sec.)
    read/write requests:                 414708 (6911.03 per sec.)
    other operations:                    59244  (987.29 per sec.)

Test execution summary:
    total time:                          60.0067s
    total number of events:              29622
    total time taken by event execution: 479.8497
    per-request statistics:
         min:                                  2.39ms
         avg:                                 16.20ms
         max:                                110.20ms
         approx.  95 percentile:              25.25ms

Threads fairness:
    events (avg/stddev):           3702.7500/11.69
    execution time (avg/stddev):   59.9812/0.00

DigitalOcean Community

I’m gonna wrap this up by giving the DigitalOcean community a honorable mention, quickly going over each of the sections and what they have to offer. I hope that this post has helped you in one way or another, and I do hope it inspired you to try this amazing cloud service for yourself, especially if you’ve been holding yourself against it.

In just a few words, the community behind DigitalOcean is great, it’s full of developers, sysadmins, engineers and other software intellectuals who’re always looking to meet new people to interact with. Yes, there are the beginners, but without helping them – they’ll stay beginners forever.

DigitalOcean Community I DigitalOcean

Explore / Read Tutorials
The tags project is a simple directory of all the tutorials, sorted by their tags, rather than by their submission date, and so the both tags / tutorials categories somewhat collide together, creating one. I really love the tutorial section, and I think it’s one of the most educational ones, when it comes to learning about web-servers, and distributions – how to operate and manage them.

Ask Questions
If none of the tutorials are helping you, why not try asking a question? The chances are very likely that you’re going to get an answer, but remember to be professional and do your own research before you ask a question that has been asked before, many times.

Community Projects
The projects page is epic, it features a list of applications and platforms that the community members have built, in order to make the platform appealing to the masses. One of the projects is ‘Commando‘, a server management tool that I’ve written about in the past.

IRC Channel

I’ve added this little sub-headline to mention that there is also a IRC channel available, and it’s also one of the quickest ways of getting help. There are on average ~500 people in the channel at any given time, and at least 5 of them are going to be active and willing to help you.

You can connect directly using web-chat by clicking this link, it’s totally safe and encouraged by DigitalOcean itself. You can also connect using your own mIRC client, the server details are:

SERVER: irc.freenode.net
CHANNEL: #digitalocean

DigitalOcean for WordPress Bloggers

Audience Overview - Google Analytics
The above snapshot is from my analytics report, I’m averaging a thousand visits per day with some spikes here and there, and sometimes the traffic will go up to 150-200 active users on the site at a time (thanks to HN and Reddit), and even then – I’m experiencing no issues whatsoever.

I am paying for an quite expensive plan, but it’s nothing compared to having a fast and pleasant experience that I can provide to my visitors. I’ve not experienced any issues with my setup, and I continue to work with small tweaks and tricks to help me improve my blog.

If you’re after particular tutorial on WordPress + DigitalOcean, let me know and perhaps I can try and help you. I only wanted to mention this because I do believe WordPress requires quite a bit of resources, and the better the resources, the more pleasant the experience is.

Affiliate / Referral / Writing Program

DigitalOcean affiliate referral program
Spread the love and earn rewards! DigitalOcean will issue you $10 in account credits or commission (your choice) for every referred customer that totals $10 in billings. You can get access to your own referral code in the user account panel.

I think I’m not the only one who is / was wondering whether you can append the referral link to any of the URL’s, and while I asked the DO team to give me an answer to this question, I tried it myself and it seems to be working fine with any DO URL you append it to.

Also, in case you’re wondering – the $10 payment you get for referring is a one-time thing. You get someone to signup through your referral link, he spends $10 and you receive that in your account, that is the only time you’ll receive it. Many have complained about this, but there isn’t very much we can do, and its not like DigitalOcean is looking to become a money cow for other people to promote.

I have crossed over all the $10 statements, because from now on – affiliates are earning $25 per sale, and also PayPal payments have been disabled for the time being. After trying to reach an agreement through several support tickets, it does not look like DigitalOcean is going to revert back to PayPal payments, and that has screwed over a few people that I know of.

What has your experience been with the referral program?

Writing Program (Get Paid to Write!)

DigitalOcean is building a large, comprehensive, and beautifully written collection of tutorials. The nice thing is that anyone can participate, after writing a tutorial that gets accepted – you’re given the choice of receiving $50 to your PayPal’s account, or getting it deposited within your own DigitalOcean’s account, you can then use that deposit to pay for your droplets.

You can learn more about the program and its rules by following this link, I totally recommend this program and it totally helps to shape the community as well, there are already hundreds of amazing tutorials written.

DigitalOcean Coupon / Promo Code

DigitalOcean billing
NOTE: I just wanted to make it clear that you’re not actually getting 10$ off, but getting those 10 dollars deposited within the amount you deposit yourself. For example, you could purchase the smallest plan for $5/month, and get 10$ to host for two months free. I’m not sure whether its $10 for the smallest plan though!

It appears that the promotions are streamlined, and there isn’t always a promo code available. In most cases, you’ll be able to find one on their Twitter account, whenever there is a new promotion put in place. But, its also worth remembering that the promo code might get added to your account automatically, whenever there is a ongoing promotion.

Follow @AlexIvanovs
If you really want to try a coupon code, follow me on Twitter (or don’t) and give me a shout, I’ll give you the codes I’ve got, one of which worked for me.

Conclusion: –
This is a very extensive review of DigitalOcean and I spent quite a bit of time putting it together, I’d definitely appreciate if you left a comment, or shared this with your friends. I think I have also made it perfectly clear that this is not meant as an article that should be read thoroughly, instead – use it as a point of return whenever you need to quote something about DigitalOcean and their services.

Yes, it’s beginner friendly – and I do recommend that beginners read the whole post in order to gain better understanding of the service quality, it was written and structured to be read from top to bottom.

I’m constantly working to improve the quality of this review, and I’m doing the best I can to provide as many technical details as possible – I’m talking to you – sysadmins, engineers!

While others have tried to look at specific problems, I’ve looked at them all, and given them all enough attention for you to find value under each of the headlines. I might be missing something, and I’ll definitely keep updating this post, so people are always aware of what this cloud hosting company has gone through – to be where it is right now.