Coursera Course Notes: AWS Cloud Practitioner Essentials
Module 1: Introduction to Amazon Web Services
What is Cloud Computing?
On Demand IT resources Pay as you go
Client Server Model
Client - Computer that makes requests to a server Server - Online service such as EC2
Types of deployment
- Cloud Deployment
- On Premises deployment
Cloud Deployment Models
- Run all parts of the application in the cloud
- Migrate existing application to the cloud
- Design and build new applications to the cloud
Types of Cloud Computing Models
- Infrastructure as a service
- Platform as a service
- Software as a service
Module 2: Compute in the Cloud (EC2)
EC2 Instance types:
- General Purpose
- Compute optimized
- Memory optimized (large datasets)
- Accelerated computing (pattern matching)
- Storage optimized (data warehousing)
- On demand
- EC2 savings plan (sign up for 1 year or 3 year plan for big discount)
- Reserved Instances
- Spot instances
- Dedicated hosts
Scaling The resources scale up and down based on your needs.
- Dynamic scaling
- Predictive scaling
- Maximum Amazon EC2 instances
Elastic Load balancing AWS provides a service to balance the load onto the instances.
Messaging Decoupling services from each other is important to make sure an error in one service does not halt the rest of the system.
Services can send messages to each other in a queue to be processed so that when the receiving service is back online, it can pick up where it left off.
Use SQS and SNS for this. SNS is a pub/sub system for different topics SQS can hold data for each microservice to process.
Serverless computing Issues with EC2
- Provision instances
- Manage instances and updates
Serverless reduces that by supplying only the code
- AWS Lambda
- Limit of 15 min operations
- Listens for a trigger