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
  • Hybrid

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)

Pricing:

  • 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

Scaling concepts

  • Minimum
  • Desired
  • 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

https://www.coursera.org/learn/aws-cloud-practitioner-essentials/supplement/nvV4N/deployment-models-for-cloud-computing