What is Cloud Computing & AWS?

At its core, cloud computing is about accessing computing resources (servers, storage, networking, databases) in a way that's flexible, scalable, and on-demand. There are a few different categories of cloud computing, but this course focuses exclusively on public cloud computing.

Public Cloud

This is what we're thinking about most of the time when we're talking about cloud service providers like AWS, Azure, and Google Cloud.

Pretty much anything you need to run your applications (servers, storage, networking, etc.) is available as a service from these providers.

Traditional Vs Cloud

Let me show you a real comparison between traditional and cloud computing using an example from my own setup.

The Traditional Way

In my apartment, I have a Raspberry Pi 5 that I use to host a basic web app.

FeatureRaspberry Pi 5
CPU4-Core 2.4 GHz ARM
Memory8GB
Storage512GB SSD (~$45)
Hardware Cost~$145.90
Monthly Cost~$2 (electricity)

I had an upfront cost of around $200 for the Raspberry Pi, but I own it outright. Until the Raspberry Pi breaks, I don't have to spend any more money on it. But what if my app suddenly needs more power? I'm stuck with what I've got until I buy more hardware.

The Cloud Way

If I chose to host this on an AWS EC2 instance, my basic web app can run on a t4g.nano instance for about $11/month

Featuret4g.nano
CPU2 vCPU
Memory0.5 GiB
Storage100GB gp3 ($8/mo)
Upfront Cost$0
Monthly Cost~$11 (Linux + gp3)

Obviously the specs are different, but my app is basic and needs minimal resources. Plus, I could upgrade to a larger instance in minutes if traffic suddenly spikes:

Featuret4g.nanot4g.microt4g.smallt4g.larget4g.xlarge
CPU2 vCPU2 vCPU2 vCPU2-Core 2.5 GHz ARM4-Core 2.5 GHz ARM
Memory0.5 GiB1 GiB2 GiB8GB16GB
Storage100GB gp3 ($8/mo)100GB gp3 ($8/mo)100GB gp3 ($8/mo)100GB gp3 ($8/mo)100GB gp3 ($8/mo)
Upfront Cost$0$0$0$0$0
Monthly Cost~$11 (Linux + gp3)~$14 (Linux + gp3)~$20 (Linux + gp3)~$57 (Linux + gp3)~$106 (Linux + gp3)

If I choose to go down the cloud route, I pay $0 upfront and pay a monthly fee based on the specs I choose. I own nothing, and I can cancel, add more instances, or change which instance I'm using at any time.

And in an oversimplified way, that's the basic difference between cloud computing and traditional computing. You're trading ownership for flexibility.

Why Cloud Computing?

Flexibility & Scalability
  • Scale up or down in minutes based on actual demand
  • Pay only for what you want to use
  • Deploy globally in over 30 regions without managing physical infrastructure
Operational Efficiency
  • Provision resources on-demand without IT approval processes
  • Focus on your application instead of infrastructure management
  • Access specialized hardware without capital investment
Enterprise Features
  • Build redundant systems that stay online even if a data center fails
  • Implement industry-leading security with minimal configuration
  • Let providers handle updates, patching, and maintenance
Continuous Innovation
  • Benefit from infrastructure improvements (like hollow fiber optic cables) without managing hardware
  • Access newer processors like Graviton when needed, not when hardware becomes obsolete
  • Use new services immediately after release without complex migrations
  • Get performance improvements as providers enhance their underlying systems

For simple web apps with low traffic, either traditional or cloud options may work. But when you need to scale, serve global users, or adapt quickly to changing requirements, cloud computing offers compelling advantages.

The Cloud Computing Spectrum

When we're working with AWS, we have different levels of control and responsibility depending on the service we're using.

Infrastructure Services

The raw building blocks of cloud computing. We manage everything from the operating system up, while the cloud provider handles the physical hardware.

Examples:

  • EC2: Virtual servers where we control everything from the OS up
  • VPC: Virtual networks that we configure and secure
  • Route 53: DNS service where we configure and manage all routing policies and records

With infrastructure services, we have maximum control but also maximum responsibility. We're the ones handling updates, security patches, scaling, and optimization.

Managed Services

These services handle the underlying infrastructure for us, but we still configure and optimize them for our needs.

Examples:

  • RDS: Managed relational databases where AWS handles patching and backups
  • Elastic Beanstalk: Platform as a service that deploys and scales web applications automatically
  • ALB: Application Load Balancer that distributes traffic across multiple targets

Managed services strike a balance between control and convenience. We don't worry about hardware or OS maintenance, but we still control application-specific configurations.

Serverless Services

These let us focus almost entirely on our application code and data, with minimal infrastructure management.

Examples:

  • Lambda: Run code without provisioning servers
  • DynamoDB: NoSQL database with automatic scaling
  • S3: Object storage without server management
  • API Gateway: Create and manage APIs without server infrastructure

Why AWS?

In this course, we're focusing on Amazon Web Services (AWS) for several reasons:

  1. Market leader: AWS was the first major cloud platform and remains the largest with the most comprehensive set of services.
  2. Maturity: AWS has been around since 2006 and has continuously evolved its offerings.
  3. Free tier: AWS offers a generous free tier that lets you experiment with many services without spending money.
  4. Job demand: AWS skills are among the most requested in cloud computing job listings.
  5. The official AWS docs are not great, so it's helpful to have a course dedicated to teach you.

That said, the core concepts you'll learn apply to other cloud providers like Microsoft Azure and Google Cloud Platform as well.

What's Next?

Now that you understand the basics of cloud computing and why we're using AWS, we'll get hands-on in the next lesson by creating your AWS account and setting it up securely.

Show timestamps
00:00
At its core, cloud computing is about accessing computing resources like servers, storage,
00:06
and networking in a way that's flexible, scalable, and—most importantly—on demand. And there are
00:12
a few different categories of cloud computing, but we’re just going to focus on public cloud.
00:17
That’s generally what we think of when we use services like AWS or other cloud
00:22
providers like Google Cloud Platform. Pretty much everything you need to deploy an application is
00:27
available as a service. Just to contrast this with traditional computing, I have a Raspberry Pi
00:32
right here that's acting as a server in my apartment. I'm running a few different web apps off
00:37
this, and this cost me a one-time payment of around two hundred dollars for a four-core CPU and
00:42
512 gigabytes of SSD. And then I also have to pay a monthly cost for electricity,
00:46
but those are pretty minimal. I had one upfront cost for this server, but I own it. I don't have
00:51
to spend any more money unless it breaks and I need to get a new one. But that also means
00:55
that I'm stuck with just this hardware. So if I needed to scale up drastically, I'd need to
01:00
buy more of these, or somehow scale this up. But realistically, I'm running really
01:05
crappy web apps that no one's visiting on this thing. So I'm actually spending more money than I
01:08
need to, because I have way more specs than I actually need. But if I were to use AWS for this, I
01:13
would go to the EC2 dashboard and rent a server instead of having to buy my own. And
01:19
when I do this, I'd be able to get the exact resources I need. So I can choose from a bunch of
01:25
different instance types that have different amounts of memory, and I'll pay more or less
01:30
depending on what I get. I can choose the exact amount of storage I want. I can choose where in
01:35
the world I want to host this thing. And if I need to scale up, it's really easy—I can just deploy
01:40
more instances. I just pay a little bit more, and I can scale as big
01:44
as I need for my application or as small as I need. I could even terminate this instance if I wasn’t using it. If I
01:49
gave up on this application completely, I can just tear it down, and I'm just paying for what I
01:53
use. And I don't have to manage any of the hardware, the data centers, or the physical networking.
01:58
That's all managed for us. So I'm giving up owning a physical resource in order to rent
02:04
it from a cloud service provider. I’m trading ownership for all of this flexibility. And on
02:10
top of that, these cloud providers—especially AWS—have a ridiculous amount of services. I can
02:16
scroll through them now. There's just so many more than you’ll ever need, but you get to pick
02:20
and choose all the different things that you might want to use specifically for your
02:24
application. Like, there are specific services for video streaming or game development.
02:29
They have crazy big neural chips for both AI training and inference,
02:35
there’s a quantum computer you can use, data lakes—there's all kinds of stuff. So
02:39
again, you just get to rent and pay for what you use, instead of having to buy anything upfront
02:45
that you would own. And in this course, we’re going to focus on AWS for a few reasons. They are
02:49
the market leader—they’re the biggest cloud provider. They’ve been around longer than most other
02:54
cloud providers, and there are a lot of jobs that use AWS, so there’s a lot of demand for people to learn
02:59
how to use this specific cloud provider. That being said, the
03:03
concepts you learn here will translate somewhat to different cloud providers.