Coffee-as-a-Service: Understanding Cloud Services Through a Cup of Coffee

Kendall Perry
Strategio
Published in
4 min readDec 9, 2022
Three different cups filled with whole coffee beans, ground coffee and brewed coffee.

As someone who went through a coding bootcamp, I had very little exposure to cloud computing and how it’s used in development. The different services that Amazon Web Services (AWS) offers, or the meaning of the acronyms “IaaS” or “PaaS” would often go over my head. Does this sound like you? Welcome, and read on!

In this article, we will focus on gaining more understanding of the different cloud service types, with a few real-world examples. But first, what is the Cloud? In a nutshell, cloud computing is an on-demand network with access to shared computing resources including servers, storage, networks, applications, and services. Different cloud services offer varying levels of these resources that developers can use and customize to their needs. Essentially, the more control you have, the less you rely on the service to do it for you.

The Pizza-as-a-Service analogy helped me understand the differences between cloud service models by comparing them to a pizza. As a former long-time barista, I decided to apply this analogy to coffee! Let’s walk through Coffee-as-a-Service (CaaS), in four scenarios.

1. Go to a Coffeeshop | Software as a Service (SaaS)

A picture of a ready made latte at a coffeeshop, illustrating Software as a Service in the coffee analogy

You go to a cafe and order anything you’d like, and everything is done for you: the sourcing of the beans, roasting, grinding, brewing the coffee, steaming milk, and adding sweetener. Voilà! Just like that, it’s ready for you to drink! You use the coffeeshop’s ceramic cups and tables, and you get to enjoy your experience without having to worry about dishes or taking out the trash.

SaaS Examples: Dropbox, Google Workspace, Salesforce

SaaS tends to be software and/or applications hosted in the cloud, where users usually pay a subscription fee for access. You’re probably using many SaaS applications, like Zoom and Slack, every day!

2. Coffee Delivery | Platform as a Service (PaaS)

A picture of a coffee to-go, illustrating Platform as a Service in the coffee analogy

You’d like your coffee sourced and brewed for you in advance, but you’d still like a little control. Perhaps you get a coffee delivered, or you get some instant coffee and provide your own hot water and milk.

PaaS Examples: AWS Elastic Beanstalk, Heroku, Windows Azure

Perhaps you were like me and hosted your bootcamp projects on Heroku or a similar platform. Heroku gave my team a space to host our app and additionally took care of the servers, storage, and access to a PostgreSQL database. Thanks to a few simple steps, our app was live for the world to see!

3. Buy the Beans & Brew at Home | Infrastructure as a Service (IaaS)

A picture of a whole beans and differently made coffees, illustrating Infrastructure as a Service in the coffee analogy

You want a little more control over your coffee, so you select your whole beans to bring home. You don’t have to worry about sourcing or roasting, but perhaps you’d like to customize whether you get a single origin, a dark or light roast! You grind your beans, provide your own brewing equipment, and add in optional milk and sugar. Besides the beans, most of your cup of coffee was customized by you!

IaaS Examples: AWS, DigitalOcean, Microsoft Azure, Google Compute Engine

In AWS, you can host your static site (let’s say, a simple React project like “tic-tac-toe” or a personal portfolio) by using an AWS S3 (Simple Storage Service) bucket, or spin up your very own server in the cloud using EC2! With IaaS, you can access physical and virtual computing resources on a pay-as-you-go model, which makes it easy to scale your infrastructure needs.

4. Your Own Cafe and Roastery! | Traditional On-Premises

A picture of an entire coffeeshop, illustrating Traditional On-Premises in the coffee analogy

Essentially, you are your coffeeshop and roastery all in one! You have complete control over sourcing the beans directly from farmers, roasting them in-house to your liking, using your brew method of choice, and complete customization over milk and sweetener options.

In a real-world example, you would need to have large data centers in-house. This might lead to enormous upfront costs for your hardware and would make it difficult to know how to scale your infrastructure to meet demands. Thankfully, we now have many options with cloud computing to meet the changing infrastructure needs of our applications!

I hope this caffeinated coffee analogy helps give a better understanding of the different cloud services, and how each one can be useful depending on the needs of the application.

References:

--

--