A Hammer Analogy on Cloud Platforms

Carlo Cayos
4 min readFeb 20, 2018

--

If only I get 0.000087 Bitcoin* every time someone argues that cloud provider X is better than cloud provider Y.

I find it hard explaining it technically to some, so I came up with this simple analogy to explain how I view it.

Let us take the case of Digital Ocean and AWS. The pricing of DO droplets is one of the most affordable offerings among cloud providers. 1 vCPU, 1GB memory, 25GB SSD would cost around $5/mo. Because of this, it is often compared to AWS EC2 instances. The equivalent in EC2 is a t2.micro + EBS 25GB storage that would cost around $11/mo. It is double the cost for getting the same server specs. Why would I choose AWS then?

Here comes my hammering analogy, think of a DO droplet as a hammer, a custom-built aluminum bronze hammer with your name engraved on the handle. It is good at doing one thing, hammering nails. After using it, you notice that aluminum bronze has a distinct sound every time it hits the nail, your hand fits the custom handle perfectly when you grip it, and you now consider pounding nails on the top of your favourite pastimes list. This hammer only costs $1.

Now, picture an AWS EC2 instance, also as a hammer, a standard one with nothing special, but it can do the job perfectly, which is hammering nails. You can only buy it as part of a 99-piece tool set. You cannot buy only the hammer, you must buy the complete set, along with the screwdrivers, wrench, and other tools. The entire tool set would cost you $3. I view AWS as a tool set because if you use any of its services, its integration is seamless with other AWS services.

Imagine you want to build a DIY computer desk. Just a simple desk that you can put your laptop on, no drawers for now. You only need wood and nails to build it. You decided to buy the custom-built hammer for $1 (DO) instead of a more expensive tool set which costs $3 (AWS). Then you use the hammer to build your desk.

Think of the computer desk as your application running in a server. An application that does its job. You are not using any fancy managed services, because you do not need to.

Most people are perfectly fine with these desks, it serves their purpose, and they would stop here. But for some people, they prefer desks with drawers because they need it. They need the additional functionality these drawers offer. Because building drawers requires screw drivers and other tools, these people, in hindsight, know that they have to buy the more expensive tool set $3 (AWS).

Using a screw driver, and other tools for building drawers is analogous to using other AWS services (e.g. S3, managed services — RDS, SQS) to improve your application, whether building a new feature, using managed services, or automating your deployment process. If you buy the tool set, the hammer comes along with other tools. You may or may not use all the tools for now, but if you need to, it is there. In reality, you have to pay for each service AWS offers, the tool set just symbolizes the seamless integration for these AWS services. On top of my head, here are 2 things I can think of:

  • EC2 instance profile — you don’t have to manage IAM user credentials if you need access to an AWS service from an application running outside AWS
  • VPC Endpoints — traffic originating from an AWS VPC to AWS services like S3 or DynamoDB will not leave the Amazon network. Improving security since traffic will not go over the internet, it also lowers latency and data transfer cost

There is nothing wrong in getting the custom-built hammer (DO), in fact, it is the best offering for most use cases. As long as it serves your purpose, why would you pay more? But if this is not enough for your use case, if you need more functionality or you want to leverage the productivity offered by using managed services, then consider the rich tool set offered by AWS.

In conclusion, you can’t really compare DO and AWS. Both cloud platforms provide excellent services to their target market. Digital Ocean provides the best bang for the buck cloud servers while AWS provides a rich tool set. It is up to you to decide which one suits your team. Or better yet, choose multiple platforms, for a hybrid cloud setup utilizing the best services these different cloud platforms offer.

Disclaimer: All views expressed on this site are my own and do not represent the opinions of any entity whatsoever with which I have been, am now, or will be affiliated

* 0.000087 Bitcoin = 1 USD as of clicking the publish button

--

--

Carlo Cayos
Carlo Cayos

Written by Carlo Cayos

Blogger https://carlocayos.com. Cloud Engineer. Polyglot Programmer. Gopher. Family Man. Stoic. AI/ML Student. Indie Developer. Dog Lover.

No responses yet