Week 1 - Introduction to AWS
Key Topics
Note
This week introduces the core concepts of Cloud Computing and the ways to interact with AWS.
1. Cloud Computing Overview
Cloud computing is the on-demand delivery of IT resources over the internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data centers and servers, you can access functionality, such as compute power, storage, and databases, on an “as-needed” basis from a cloud provider like AWS.
Benefits of Cloud Computing
- Trade capital expense for variable expense: Pay only for what you use instead of investing heavily in data centers before you know how you’re going to use them.
- Benefit from massive economies of scale: Because of the aggregate usage from hundreds of thousands of customers, AWS can achieve higher economies of scale, which translates into lower pay-as-you-go prices.
- Stop guessing capacity: Eliminate guessing on your infrastructure capacity needs. You can access as much or as little capacity as you need, and scale up and down as required with only a few minutes’ notice.
- Increase speed and agility: New IT resources are only a click away, which means that you reduce the time to make those resources available to your developers from weeks to just minutes.
- Stop spending money running and maintaining data centers: Focus on projects that differentiate your business, not the infrastructure.
- Go global in minutes: Easily deploy your application in multiple regions around the world with just a few clicks.
2. Cloud Service Models
| Model | Description | Examples |
|---|---|---|
| IaaS (Infrastructure as a Service) | You manage the server (physical or virtual), and the operating system. You get the highest level of flexibility and management control over your IT resources. | EC2, Google Compute Engine |
| PaaS (Platform as a Service) | Removes the need for your organization to manage the underlying infrastructure (usually hardware and operating systems) and allows you to focus on the deployment and management of your applications. | Elastic Beanstalk, Heroku |
| SaaS (Software as a Service) | You get a completed product that is run and managed by the service provider. You usually only need to think about how you will use that particular piece of software. | Gmail, Salesforce, Zoom |
3. AWS Global Infrastructure
The AWS Global Infrastructure is designed for security, availability, and reliability.
- Regions: A physical location in the world where we have multiple Availability Zones. Regions are separate from each other.
- Availability Zones (AZs): Each Region consists of multiple, isolated, and physically separate AZs within a geographic area. Each AZ has independent power, cooling, and physical security. Use AZs for high availability.
- Edge Locations: Endpoints for AWS which are used for caching content. Typically, this consists of CloudFront, Amazon’s Content Delivery Network (CDN).
4. Accessing AWS Services
There are three main ways to interact with AWS.
A. AWS Management Console
A web-based graphical user interface (GUI) to access and manage AWS services. It is easy to use and great for learning or non-technical tasks.
B. Programmatic Access
Used for automation and application integration.
Important
Credentials: Programmatic access typically requires an Access Key ID (username equivalent) and a Secret Access Key (password equivalent). These should never be shared or committed to code repositories.
AWS Command Line Interface (CLI)
A unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts.
AWS Software Development Kits (SDKs)
Simplify using AWS services in your applications with an API tailored to your programming language (e.g., Python, Java, JavaScript). This allows you to integrate AWS resources directly into your application code.
Practice Questions
Tip
Try to answer these without looking at your notes!
- Question: Which component of the AWS Global Infrastructure is used primarily for caching content?
- Answer: Edge Locations.
- Question: Which cloud service model gives you the most control over the operating system?
- Answer: IaaS (Infrastructure as a Service).
- Question: What are the two keys needed for programmatic access?
- Answer: Access Key ID and Secret Access Key.