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.
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
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:
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?
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:
- Market leader: AWS was the first major cloud platform and remains the largest with the most comprehensive set of services.
- Maturity: AWS has been around since 2006 and has continuously evolved its offerings.
- Free tier: AWS offers a generous free tier that lets you experiment with many services without spending money.
- Job demand: AWS skills are among the most requested in cloud computing job listings.
- 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.