I use (and love) both for different reasons, and there’s different case scenarios to use each of them.
It’s best to figure out what you are going to do with your project first, consider what your needs are, and then evaluate it accordingly. Here are some things I’ve noticed:
Set up on both are pretty straight forward, except Digital Ocean has a nicer UX for launching instances (or droplets as they call them). Both have an API that you can configure to add/launch/delete/destroy your projects/help scale.
Performance/value does not have a clear cut answer of which is better for your project. Digital Ocean simplifies pricing by bulking it all together, but if you need additional storage, or extra ram you need to snapshot and restore to a larger instance. Which means even if your application uses 5GB of storage and 1GB of ram, you’re paying for 30GB of storage.
In this situation I would likely still go with Digital Ocean, because even though you are overpaying for storage, the instance is substantially cheaper.
However, if you are building an application that is storage heavy that say, uses 1GB of RAM and requires 300GB of storage you probably don’t want to pay for Digital Ocean’s largest instance that has 12 Cores and 32GB of Ram just to get the storage. In this case, Amazon would be cheaper and more cost effective.
I/O performance is another factor. Read/Write heavy applications fly on SSD hosting which is expensive traditionally, but Digital Ocean offers it extremely cheap. Conversely, AWS does offer SSD storage, but it’s prohibitively expensive.
Backups on Digital Ocean are strangely infrequent—which could worry you depending on how your backup plan is. Right now they do it once every 3 days, which is fine for my personal blog, but not for any applications I work on. Amazon requires a laborious setup to do backups that isn’t as straight forward as “click here to buy backups”. In this case I have been using both. A Digital Ocean Droplet with daily backups to S3 and Glacier.This in my circumstances has been offering the best combination of offerings for small-midscale projects.
I guess the conclusion is if money isn’t an issue, go with AWS. If it is, go with Digital Ocean. Both are high-quality, and both scale well. Worse case scenario, clone your app to other if you find it isn’t serving your purposes best.