DigitalOcean vs. AWS: Comparing Offers and Choosing the Better Option
The IT landscape has seen quite a few trends emerge in the last decade. One is data science — a system of various methodologies designed to interpret massive heaps of data produced by billions of internet users. Another has to do with the cloud — storing files and utilizing computing power via the resources provided to you as a product.
DigitalOcean and Amazon Web Services (or AWS for short) are some of the world’s most popular cloud solutions — but they aren’t exactly in the same market. In most reviews, AWS is usually compared with its direct competitor — Microsoft Azure. Both of these platforms are aimed at enterprise-level web applications, ready to scale both horizontally and vertically in an efficient manner. DigitalOcean, on the other hand, is seen as a “lighter” platform. But is it justified?
In this article, we’ll examine the services and products offered by DigitalOcean and AWS and see how they compare. Like with many debates following the “Technology A vs. Technology B” narrative, there may be no cloud provider that is “ultimately better in every aspect” — but there definitely is one that’s better for you.
The Bigger Picture: Why Use Cloud at All
Data is arguably the most precious asset of every company. Be it clients’ personal information, business insights, or know-how, the right data (and the right methodology to interpret it) can make or break the company’s market dominance. Cloud skeptics, therefore, pose the following argument: “Let’s say you’re an online business; your website is your product. Why would you hand the control over your most valuable asset to another company? After all, they may:”
- Implement hidden costs or intentionally obfuscate their pricing policy, or
- Impose sanctions on your files because their country of residence imposed sanctions on your country of residence.
This criticism is justified — it is not uncommon for tech companies to exercise control over their users’ files and accounts. In terms of legal sanctions, tech companies are only following the executive orders issued by their respective national governments. Still, it doesn’t really solve the problem. ¯\_(ツ)_/¯
On the other hand, using a hosting provider like DigitalOcean or Amazon offers a number of benefits (compared to an option like shared hosting):
- Fine (finer) control over the files: you’re free to choose the OS for the virtual private server, its configuration, and apps/libraries that come with it. However, this level of control may prove a burden to some people because at least basic Linux knowledge is an absolute must.
- Performance: The major point of contention between cloud companies is quality of service, so each provider strives to improve its infrastructure further and further. Some of the factors that define “performance” include: bandwidth, disk storage and speed, processor speed, server location, etc.
- Price: While large amounts of computing resources require equally large payments, it’s typically cheaper to use cloud providers’ services.
IaaS, PaaS, and SaaS
Cloud computing/hosting has a number of important terms associated with them. These terms are “infrastructure as a service”, “platform as a service”, and “software as a service”. Let’s break each of them down:
- Infrastructure as a service refers to providing users with physical computing resources (e.g. Amazon EC2, Microsoft Azure, Google Compute Engine).
- Platform as a service refers to providing users with a platform that they can use to develop, run, and manage applications without having to build the platform’s infrastructure themselves (e.g. AWS Elastic Beanstalk, Heroku, Google App Engine).
- Infrastructure as a service refers to providing users with a software license on a subscription basis (e.g. Adobe Creative Suite, Apple Music, Microsoft Office 365).
A Brief Overview of DigitalOcean
DigitalOcean is one of today’s most popular cloud infrastructure providers. Although it doesn’t boast a huge market share, it does have a plethora of loyal customers — the company focuses on smaller companies, startups, and individuals, allowing itself to fine-tune its product.
The company calls its virtual private servers “droplets” and uses this term through their website and documentation, so don’t be confused by this word when we use it later in the article. To manage their servers, users can either utilize DigitalOcean’s web interface or a command-line interface.
As of October 2019, there are 12 data center regions:
- 2 in Amsterdam, Netherlands,
- 1 in Bangalore, India
- 1 in Frankfurt, Germany,
- 1 in London, UK,
- 3 in New York, USA,
- 2 in San Francisco, USA
- 1 in Singapore,
- 1 in Toronto, Canada.
A Brief Overview of AWS
Amazon is a company that needs no introduction: the e-commerce giant is currently one of the most valued companies in the world. Of course, their retail business isn’t the focus of this article — AWS is. AWS provides on-demand cloud computing platforms to various entities (individuals, companies, and governments) all around the world. OK, so far it sounds pretty simple.
“Amazon-as-a-retailer” is often criticized for its business model. “Amazon-as-a-cloud-provider”, however, is a different: it managed to deliver most of Amazon’s operating income in 2018. Amazon is still perceived as a retail company by the general population, but AWS is becoming an ever so vital part of the company.
Another interesting aspect of AWS is its popularity, which stems fro… Wait, the word “popularity” doesn’t really broadcast just how crucial AWS is to the internet of today. Let’s put it this way: large (really large) tech and retail companies have all joined the IaaS race. Let’s visualize their market respective market shares:
The visualization above doesn’t feature the horizontal axis denoting the companies’ share in percent — we obfuscated it intentionally. Let’s fix it and add this axis together with AWS’ market share — no, AWS actually isn’t in the “Others” category.
While we’re at it, we can visualize the PaaS market share as well:
This data shows that AWS is an absolutely integral part of today’s web infrastructure; its profit margin helps to drive Amazon. Naturally, more and more developers are incentivized to learn the ins and outs of AWS — this is the result of “cloudification” that’s been taking place in the last decade. Developers, therefore, need to have another skill in their toolbelt — working with the cloud infrastructure.
Unlike DigitalOcean, AWS offers its services separately: there’s Amazon EC2, there’s Amazon RDS, then there’s Amazon S3, then there’s Amazon CloudFront… and the list goes on and on — the number of AWS services is staggering to beginner users. These are the basic services required to set up a website or blog.
Therefore, it’s more correct to compare DigitalOcean’s offerings to AWS Lightsail. Lightsail is a cloud platform that comes prepackaged with the typical tools you’d need to build an application or a website. It’s best suited for simple web applications, websites, business software, and dev/test environments.
Let’s compare the plans offered by Amazon Lightsail and DigitalOcean — we’ll take low-tier and mid-tier options that are equal in price. For $5/mo…
- Amazon Lightsail offers 1 GB memory, 1 core processor, 40 GB SSD disk, and 2 TB outbound transfer.
- DigitalOcean, on the other hand, offers 1 GB memory, 1 core processor, 25 GB SSD disk, and 1 TB outbound transfer.
Compared to AWS, DigitalOcean’s pricing is an advantage in and of itself: its droplets offer a clear distinction in terms of computing resources and cost. Here are some examples from the “Standard” category — droplets designed to
host and scale applications like blogs, web apps, testing and staging environments, in-memory caching, and databases. (as of October 2019):
- $5/mo: 1 GB RAM, 1 virtual CPU, 1 TB transfer bandwidth, 25 GB SSD disk.
- $40/mo: 8 GB RAM, 4 virtual CPUs, 5 TB transfer bandwidth, 160 GB SSD disk.
- $960/mo: 192 GB RAM, 32 virtual CPUs, 12 TB transfer bandwidth, 3,840 GB SSD disk.
The droplets above roughly correspond to low-, mid-, and high-tier equipment. There are 14 droplet types in total — you can explore their capabilities in greater detail here. However, we should also keep in mind that the platform’s pricing policy also involves various features that you get:
- Service and customer support,
- Server monitoring,
- API, CLI, and client libraries,
- 1-Click-Deploy apps.
The pricing of various Amazon Web Services can be quite tricky to pinpoint. When you’re just estimating the approximate usage cost, you need to have a lot of experience with AWS to understand what factors will come into play. Amazon’s Amplify Pricing page provides a few rough estimates:
Example 1: A startup team with 5 developers have an app that has 300 daily active users. The team commits code 2 times per day. Total charges = Build & deploy charges + Hosting charges = $6+$2.08 = $8.08 per month.
Example 2: A web app has 10,000 daily active users and is updated 2 times per month. Total charges = Build & deploy charges + Hosting charges = $0.06+$65.92 = $65.98 per month.
AWS Free Tier
One distinctive feature of Amazon web services is the Free Tier: upon creating an AWS account and providing payment option details, you become eligible for using Amazon’s services. The Free Tier itself is divided into three sub-tiers:
- Always free offers, as the name suggests, never expire and are available to all AWS clients. Once the user exceeds the service’s limits, they have to pay. A few examples include: Amazon SNS (push & SMS messaging service — 1 Million free publishes), Amazon DynamoDB (high-performance and scalable NoSQL database — 25 GB of free storage), Amazon Lambda (service that executes code in response to user-defined events — 1 million free requests per month).
- 12 months free are more powerful/important services, so they’re only designed to whet your appetite. Important note: these offers activate upon account registration, not when you actually start using them. A few examples include Amazon EC2 (compute capacity in the cloud — 750 hours per month), Amazon S3 (one of the most popular storage solutions to date — 5 GB of standard storage), Amazon CloudFront (content distribution network — 50 GB of data transfer out).
- Trials are short-term offers, typically allowing for 30 days of free usage. A few examples include: Amazon Lightsail (virtual private servers complete with compute, storage, and networking solutions — 750 hours per month)
Of course, AWS Free Tier isn’t a “clever trick” that will net you a whole year of free hosting… or is it? Indeed, dynamic sites are typically more resource-heavy, so you might exceed the tier’s limits pretty quickly. Static websites, on the other hand, are much simpler and lighter. To host a static site, you’ll need Amazon S3 to store the files and a content distribution network like Amazon CloudFront to, well, distribute the content. In this scenario, you very well may be able to run your website for the whole duration of the 12-month-trial.
A Few Closing Thoughts
All in all, both DigitalOcean and AWS offer great functionality — there isn’t a “better” solution out of the two. Their differences lie in smaller aspects and details, so let’s examine them and analyze whether one solution has the upper hand in the given area. In this section, we’ll draw some conclusions and comment on other aspects that you might find important.
Money is an important factor — saving even a few thousand can allow the business to reinvest this sum and gain a competitive advantage. While it would be incorrect to state “Go for DigitalOcean, it’s cheaper!” or “Choose AWS, it’s cheaper!” — the pricing depends on your needs — we can still compare the two services in terms of how they bill you.
In some instances, AWS offers the “pay-as-you-go” model, allowing the user to only pay for the resources they’ve used. This model provides a great deal of flexibility, allowing the user to avoid wasting resources and paying for them. However, this introduces a number of complications:
- It’s impossible to predict the workload for the given month.
- The entire pricing system of AWS is somewhat convoluted, so it takes a lot of experience to understand what the final bill would look like. AWS has various hidden costs that you’ll eventually run into if you don’t pay enough attention.
When comparing VM-to-VM offerings directly, DigitalOcean does come out cheaper. However, AWS’ ability to scale without having to write countless scripts, integrations, and programs is an advantage users cannot ignore (and don’t mind to pay extra for as well). Additionally, AWS can be setup so that the developer isn’t forced to manage standalone or clustered servers (e.g. managed database, managed Redis, managed search, centralised logging and auditing), allowing them to focus on more important aspects.
Conversely, DigitalOcean’s pricing model is more transparent: X dollars per month for Y computational power. If you’re willing to invest the time into understanding how various Amazon web services are priced, go for it — this is a valuable skill in and of itself. However, if you want your cloud hosting to be much simpler, DigitalOcean’s offers are more suitable for you.
Choosing a hosting provider is often tricky because you need to look at your project across time, for instance: “My web app currently has 100 active users daily. I know that it has the potential to keep growing. Will my current hosting provider be able to satisfy the project’s needs when it grows to thousands and dozens of thousands of users? Will it be a pain to switch to another hosting platform?”
Therefore, when you need to scale nearly instantaneously, AWS is the go-to option.
User Experience, User Interface, and Design
These factors aren’t exactly the most important things to consider when choosing a cloud hosting provider. Still, many users prefer to use web interfaces instead of terminals — and this is where the design differences between DigitalOcean and AWS become ever so apparent.
The interface and overall user experience of DigitalOcean are modern and slick — but we cannot say the same about AWS. The interface of AWS is often described as “cumbersome” — it’s overburdened with a lot of details and functionality, confusing new users (and highlighting the importance of AWS’ “Guides on how to get started” pages).
The cloud is an exciting set of technologies — it helps the developer to spend less time on building/maintaining the infrastructure and more time on innovating. When you have enough free time on your hands, do make sure to play around with both DigitalOcean’s and AWS’ products and services! 🙂