The Meteoric Rise of DigitalOcean
news.netcraft.com
news.netcraft.com
Basically you put your DO api key in your Vagrant file, and then running "vagrant up --provider=digital_ocean" spins up a new ubuntu VM and runs your chef/puppet provisioner code on them. It's awesome!
It uses rsync to mirror your vagrant project directory to /vagrant, which is a actually better workflow for some use cases (eg hosting) than virtualbox shared folders.
I also have a shadow site running in parallel on EC2, so I get to compare dollar for dollar. EC2 is strictly an apocalypse host at this point.
"2.5 You agree that you will NOT use DigitalOcean's services to: [..] Transmit, distribute, post, store, link, or otherwise traffic in information, software, or materials that is offensive, abusive, inappropriate, malicious, or detrimental"
Almost anything can be offensive to someone. I compared the Linode and AWS terms of service and neither has anything like this. While none of my own content is by any means extreme, the presence of this provision seems like a red flag and has kept me from switching to DO.
In that case, check out ToS's on the services you use. They're, suprisingly, usually not that long or hard to read.
"No Illegal, Harmful, or Offensive Use or Content" is literally the first point in the AWS ToS and is all about what is "offensive" http://aws.amazon.com/aup/
> You may not use, or encourage, promote, facilitate or instruct others to use, the Services or AWS Site for any illegal, harmful or offensive use, or to transmit, store, display, distribute or otherwise make available content that is illegal, harmful, or offensive.
I'll stick with Linode until the company is more established.
(Google Compute Engine is in the same position because right now they only run on Sandy Bridge.)
My gut tells me that DigitalOcean has at least a couple years until I have to even think about comparing to other hosts again.
On Linode I was getting jammed on I/O; on DigitalOcean I am jammed on CPU.
I'd be happy to give up half my RAM to get twice the cores, actually. I run a modest Wordpress network (http://ozblogistan.com.au). Once MySQL is humming, most of the CPU time is spent on various copies of PHP running the increasingly bloated Wordpress codebase.
(Yes, I've used opcode caching. I've never had good experiences with any of the major ones).
Just wondering, what were your experiences? Installing apc is basically apt-get install php-apc (if you're on Debian/Ubuntu), and that's about it unless you want to increase the memory limit. This will greatly reduce CPU usage.
I periodically try again.
By the way: Starting with PHP 5.5, Zend's own opcode cache will be included by default.
To answer your question directly, and without knowing the exact cost structure of our competitors, I would have say that we are generating less margin per unit but we are overall sustainable and growing healthy.
Most vps providers have a rule that you are not alowed to use 100% 24/7/365 or they can cancel your account (I don't know if this is true with DO). The trick is that if you have a lot of customers you can spread the cost on users who are not using full resources (which happens to be most users), at large scale you can make decent profit in this kind of setup, even if your revenue per account is low.
I didn't mention bandwidth because at DC level, BW is the least expensive component, but it is also true that most users will not use up 1TB per month.
Most of it is speculation from my part, and a bit from experience.
I think the whole idea with VPS, is that you can share resources, so there is nothing wrong with that, its the overselling part that should be of concern and I have no reason to believe that DO is overselling. Their performance is pretty good.
The point I was trying to make referring to the OP, that VPS like DO can be profitable even at such a low price, because of the way VPS work. Even with very small revenue, if you have enough customer you can make good money. That's why the math works. Most other KVM offerings are so expensive because they don't have that tipping point scale to make them profitable with the same price. But other hosts like Linode gets away with charging more, because of reputation. They already have a good thing going, unless they starts losing customers drastically, they don't have to change their pricing model.
Yes, most users won't use all the allocated resources. They probably do oversell, but they do deliver the resources if you use them.
But then it looks better if they manage to sell the higher plans. 4cores/8GB/80GB ssd = $80, 2cores/4GB/60GB ssd = $40. These fit easily to single server and that's then $120 per month per server. Compare this to for example some of cheaper dedicated hardware providers like Hetzner [1] who are selling similar dedicated hardware for something like $60-70 per month.
Based on this it could be a sustainable business model, at least if they have enough volume (which seems to be the case, considering the Netcraft article).
(I assumed they are providing dedicated cores and using single socket servers. But it might make more sense to use some relatively cheap multi-cpu servers since with these plans the bottle neck seems to be on the numbers of cores side and not with the memory).
[1] http://www.hetzner.de/en/hosting/produkte_rootserver/ex4
The RAM is guaranteed and the processor is shared. Amazon has been working a fixed-compute model on all except their Micro instances. Other providers are sharing cores.
Right now, DigitalOcean is limiting the number of cores exposed to smaller instances. They may change that in the future (there have been hints on their feedback site that they're looking into changing this so that smaller instances could have better burst capabilities).
I ran into two small issues so far.
First of all, for some reason the traffic from my home connection is routed through New York (I'm in Europe using a Droplet in Amsterdam), resulting in a ~150ms RTT (I usually get 30-40ms to Amsterdam). Since this only happens with my home connection and it's fine in the office, my ISP might be the one to blame for this. Anyway, I've opened a ticket, so maybe they can fix it.
The other weird thing is how they hande kernels/kernel versions. You can't simply update your kernel through apt (or anything like that) - you have to select the kernel version from a gigantic drop-down (containing multiple kernel versions for every distribution you can run) in their UI. Plus, adding new kernels seems to be a manual process for them, since it takes a while until updated kernels become available.
I'm sure they're working on a better solution for that though. All in all, they offer great service for an even better price, so I'm happy with my choice.
Thank You! Today is a very special day for us. As you may or may not have heard, Netcraft released a recent report that details the history of our rapid growth in comparison to other cloud hosting providers. We are extremely humbled by this recognition and cannot thank our customers enough!
As we have grown over the past two years, we are continually indebted to our customers for your amazing support and feedback. Without you, DigitalOcean would not even dream of being where it is today.
According to Netcraft, over the past six months we've grown 5,084.64% in web-facing computers (instances) and are responsible for 10% of the total growth worldwide. DigitalOcean's more than 50-fold growth makes it the 72nd largest hosting provider in the world by web-facing computers. Last December, we were number 549; even last month we were still 102nd.
As your projects and endeavours scale, we will be there with amazing and reliable service, new features, and an unrestrained drive to create the simplest, strongest cloud that you can be proud to call home.
Thank you! Thank you! Thank you, Thank you, Thank you!
You have brought us to this point. We cannot wait to keep rising together!
That said, one production server I work with on RackSpace was completely unavailable yesterday for nearly 5 hours, so paying more money doesn't necessarily give you better uptime. Just that one outage put DigitalOcean ahead in availability for my systems over the last 6 months.
Is there any reasonably simple framework for replicating across cloud providers?
I later switched all my office's projects there from AWS and cut costs by over 85%. I also saw a significant performance bump allowing me to reduce the number of machines that I had active.
I cannot overstate how pleased I have been, their APIs compete with EC2, their performance is better than what I have seen on any competitor.
I am one very pleased customer. My _only_ complaint is that they aren't delivering on features at the rate they previously were. Though, after reading this article, I can understand a little better as to why.
The growth has been fantastic and we are super excited. Unfortunately managing it requires as much work as engineering new features. The good news is we've been hiring and growing the team and we're hopeful we'll get back to our regular development schedule in the next 2 months after we've gotten everyone up to speed and worked out some of the speed bumps. =]
I wrote down my notes on how to get Docker running on Digital Ocean, if anyone wants to play with it. There is even a promo code for a $10 credit for new signups.
http://kencochrane.net/blog/2013/06/running-docker-on-digita...
I had a couple of issues when I first tried using them, but I was able to get help pretty quickly on a Saturday morning no less. I haven't used them for anything production quality yet, I have most of that stuff on EC2 and Rackspace right now, but I hope to start moving some smaller projects to DO as they come up.
Someone else mentioned this already as well, but the SSD is so nice compared to EC2's EBS, so if you are doing anything with lots of I/O then it is a must have.
> root@docker:/proc# docker run base /bin/echo hello world Pulling repository base from https://index.docker.io/v1 2013/06/13 22:19:37 HTTP code: 502
After about 2 minutes it just started working. Was that a networking hiccup and on which side?
http://status.aws.amazon.com/ [1] 3:42 PM PDT We are investigating DNS resolution issues in the US-EAST-1 Region.
edit: I also added an additional 1gb as swap space, which helped prevent my mysql instance from falling over with low memory at times.
Prefork is pretty much Apache-speak for "please munch all my memory and then lock up if more than a handful of people turn up at once".
Nginx or Lighttpd + PHP-FPM behave almost as badly if you choose dynamic mode and don't pick the right values.
The only negative so far is network reliability. Every once in a while my monitoring stuff fails to establish a connection to the DO box. It's transient though and usually connectivity comes back within 2 to 5 minutes. The box is running a low traffic mail server so it hasn't been a big enough issue for me to worry about yet. Other than that, I'm a happy bunny.
I have several servers on Linode, that communicates over the internal network (PostgreSQL, Redis, Memcache, Beanstalk etc.) and a bunch of app-servers. If their line of communication is broken, nothing works.
Now I only use my server at DigitalOcean as routing traffic when I am travelling.
EC2 and Rackspace have a greater range of service than all the other guys (storage on demand, snapshots, private networks etc...), but at a very significant price difference.
Meteors usually fall down (relative to Earth)
I love etymology: http://www.worldwidewords.org/qa/qa-met1.htm
Using SSDs for multi-tenant virtualized servers seems like a good idea to me. My intuition on this may be wrong, but it seems to me that the lack of variable seek time ought to lessen the variability in I/O performance that one hears so much about.
However, I have the following reservations about DigitalOcean:
1. No IPv6 yet AFAIK. I figured that would be a priority given the scarcity of IPv4 addresses, particularly in Amsterdam.
2. Not all resource allocations are proportional to the price or amount of RAM. On Linode, a 4 GB VPS is 4 times as much as a 1 GB VPS in every way. On DigitalOcean, a 2 GB VPS only has 2x as much CPU, 2x as much storage, and 3x as much bandwidth as a 512 MB VPS. Don't get me wrong; the prices are great. It just doesn't seem like a logical way to allocate resources from a pool.
Take this with a grain of salt, as I'm limited in my experience, but I believe that's not entirely the case. Modern SAN controllers are optimized for very consistent latency on spinning platter disks, even under heavy load. The big benefit that I see in SSD-backed SANs is increased I/O bandwidth.
I've been very happy with my testing on Digital Ocean; the servers are fast, they remain up as much as any other provider, and the interface/service is great, and is improving every month.
The only sore spot is that two times I've had intermittent dropouts—once caused by someone DDoSing another DO site, and the other time for unexplained reasons. (And I know that the dropouts weren't just me, since I was monitoring things with https://servercheck.in/, which runs partly on Digital Ocean VPSes).
How is their reliability? I noticed once or twice it I would lose connectivity.
I have quite a few boxes on linode and thinking about switching over production infrastructure.
EDIT --- And today damn linode decides to go down.
Of course, this would probably be true switching to a new VPS provider after a few years of being on the same box.
One thing that's unique to DO in this regard, though, is that their onboarding process is super smooth. I was up and running very quickly.
One other thing people rarely mention with hosting, that's SUPER important to me, are the FAQs/Docs, and DO really comes through in that area imo.
Thank so much for the shoutout about the docs. We are very focused on building up our developer community (with our IRC channel #digitalocean, forum, and tutorials) and growing as an educational resource. If you ever have any additional article requests, please feel free to send them to etel@digitalocean.com
And they did credit me for their fault so I think it's fair enough.
They lost that as well in this case.
Also we launched two factor auth recently.
We take security very seriously.
Thanks
ECDSA key fingerprint is 97:d7:21:81:9b:77:34:bb:f1:8e:86:25:b0:47:6b:ff.
Also: -rw------- 1 root root 227 Apr 25 2012 ssh_host_ecdsa_key
Thanks!
While I have liked DO when it works and their prices are great, it comes at a cost. In my case that cost is their product not properly functioning and their team seemingly having no intention of fixing my issue.
This was a problem we had with a /particular/ support system (Kayako) and we've since resolved it (with ZenDesk) but if they're using something silly like Kayako, that might be the reason.
Also, if they have a phone number, use it.
Not justifying what they do, just trying to help you work them out.
Not the message you really want to be sending your already disgruntled customers - "Do I mail them and check to see if they even got my email which hasn't had any response in two weeks, or will that just put me _another_ two weeks further down their already abysmally slow response queue?".
Because it's hourly you can spin up and test and if it doesn't suit your needs will be a minimal charge.
We also made a promo code : NEWSYC10 - so you can get a $10 credit to test with before incurring any charges.
4 CPU Cores 2GB RAM 512MB vSwap 60GB Storage 2TB Bandwidth @ 1Gbps
You can compare similar plans here:
http://serverbear.com/1826-trenta-catalysthost#benchmarks http://serverbear.com/1990-2gb-ssd--2-cpu-digitalocean
I'd love to be able to get more disk space (especially since you guys have SSDs, this will make PG very happy) without the extra CPU and memory. Is that currently possible with Digital Ocean?
The only thing I have been able to find are physical hosts, with all the issues associated with them (40$ for 2 x 1 TB disk at http://ovh.com).
My take on this is that if you want or need to run your own database with a large amount of storage, there are three solutions:
- run it in house, which means you now need a redundant link to the internet, server class machines (redundant power supply), etc, etc, etc... Unlikely unless you already have your own data centre
- use a VM to which you can add storage (EC2, google, etc...). That is expensive (0.1$/GiB) but typically very reliable (they use redundant physical storage), and flexible (you can move your storage around, rebuild VMs etc...).
- use a colo site, or a rent a cheap physical. You get a lot of space for a very reasonable price, but have all the headaches of a physical (storage is only as redundant as you make it, no hardware mirroring/raid'ing, if the storage fails, you've lost your OS as well, and now have to restore from backup, changing OS means renting a second physical, install, transfer data, etc...).
http://digitalocean.uservoice.com/forums/136585-digital-ocea...
I did some testing of .NET on Windows vs mono on Linux and unfortunately mono is just too slow. For the money saved on licenses more would have to be spent on hardware. Licensing is a pain though. Working out what you need and how to pay is non-trivial.
I'll also point out that a regular FreeBSD/NetBSD network install can be done in under 55 seconds, so thats not really a major feat to do when you're just copying images around.
But, they've productized it all very well so I'm happy to see someone taking a chunk out of EC2.
Given that I would prefer to keep using RDS, and the network latency etc., any thoughts/advise on how DO-RDS would perform compared to EC2-RDS, with everything being in N.CA/SF Zone and using comparable EC2/DO instances for running my app server?
Alternately, is there an easy way to benchmark RDS i/o from EC2 and DO, both running Linux which can help in making this decision.
I found the benchmarks in http://serverbear.com/ very reliable
I was never aware of their performance when compared to Linode and Rackspace until that one comparison on HN several months ago. With that being said, from their expansion from 10,000 instances when I first signed up to over 200,000 today, I have been, thoroughly, impressed with their servers and overall operation.
It's also very nice to see them roll out new features on a pretty quick phase.
I modified bees with machine guns to run on DigitalOcean instead of AWS, so you can load test to your heart's desire. it's here: https://github.com/rozap/minnowswithmachineguns
total used free shared buffers cached
Mem: 503516 488644 14872 0 9036 203300
-/+ buffers/cache: 276308 227208
Swap: 1048572 153704 894868
Depending on your apps' memory usage, you might be able to put two apps on a $5 droplet (I'd recommend adding a swapfile so you don't run out of memory at some point - since they're using SSDs, swapping is not that bad.)It looks like the network didn't initialize correctly on the first go.
This time next year, they'll likely be in the top 15 to top 25 on that same list.
Naturally I didn't say that all small numbers always change drastically. But those that do change, appear to be more drastic than larger numbers.
I'm just testing them now, and I'm not ready to point a real domain at them yet.
We were using GoDaddy so this is definitely a step up!
When Google did publish their extensive HDD reliability study they removed all brand/model names, so it's pretty useless for consumers.
Speaking of SSDs, I noticed that Netflix is already deploying the brand new Crucial m500, although their monkeys probably care more about cost than reliability.