TODO 🙃
Table of Contents
Benefits
...of cloud computing
High Availability
systems designed to operate continuously without failure for long time
avoid loss of service by managing or reducing errors
Elasticity
provision what you need, then shrink/grow based on demand
Agility
cloud services help innovate faster
Durability
long-term data protection
Services
NOTE : Important whitepaper -> Overview of Amazon Web Services
Specialized Services
Compute Services
EC2
Pricing Options
On-Demand
Spot
Reserved Instances
Dedicated Hosts
Savings Plans
Features
Elastic Load Balancing : automatically distributes incoming app traffic across multiple EC2 instances
EC2 Auto Scaling : adds or replaces EC2 instances automatically across AZs (based on need and changing demand)
NOTE that this is horizontal scaling and not vertical scaling
Additional Resources
Lambda
Pricing Model
Charged based on duration and number of requests
Compute time
pay only for compute time used
no charge if code is not running
duration calculated from time code begins running
to time code returns or terminates
Request count
request is counted each time execution starts
NOTE : tests invoked in the console count as well
Always free
includes 1 million free requests each month
Additional Services
Containers
Storage Services
S3
highly-available object storage service for cloud
objects (files) stored in buckets (directories)
essentially unlimited storage (can hold millions of objects per bucket)
objects can be public or private
can upload objects via console, CLI, or from within code using SDKs
can set security at bucket level or individual object level using access control lists (ACLs) , bucket policies, or access point policies
can enable versioning to create multiple versions of file
can use S3 access logs to track access to buckets and objects
regional service but bucket names must be globally unique
S3 Storage Classes
S3 Standard
S3 Intelligent-Tiering
S3 Standard-Infrequent Access (IA)
S3 One Zone-Infrequent Access (IA)
S3 Glacier
S3 Glacier Deep Archive
S3 Outposts
S3 in the Real World
Static sites
Data archive
Analytics systems
Mobile applications
users can upload files to S3 bucket and then leverage S3 Transfer Acceleration to make process very fast
EC2 Storage
EC2 instances hosted on host computer (or rack) in AWS data center
these instances can be split up virtually into many EC2 instances
all EC2 instances must have a root drive
could be EBS volume or instance store volume
EBS drives are persistent, while instance store drives are ephemeral
Amazon Elastic Block Store (EBS)
storage device (called a volume) that can be attached to (or removed from) your instance
data persists when instance is not running
can only be attached to one instance in same AZ
tied to one AZ
recommended for:
quickly accessible data
running a database on an instance
long-term data storage
EC2 Instance Store
instance store is local storage that is physically attached to host computer and cannot be removed
storage on disks physically attached to an instance
storage is temporary since data loss occurs when EC2 instance is stopped
faster with higher I/O speeds
recommended for:
temporary storage needs
data replicated across multiple instances
Amazon Elastic File System (EFS)
serverless network file system for sharing files
think "Dropbox for your EC2 instances"
only supports Linux file system
accessibility across different AZs in same Region
more expensive than EBS
recommended for:
main directories for business-critical apps
lift-and-shift existing enterprise apps
Storage Gateway
hybrid storage service
connect on-premises and cloud data
recommended for:
moving backups to cloud
reducing costs for hybrid cloud storage
low latency access to data
AWS Backup
integrates with resources like EC2, EBS, EFS, and more
create backup plan that includes frequency and retention
Content Delivery Services
CDN is mechanism to deliver content quickly and efficiently based on geographic location
a CDN that delivers data and applications globally with low latency
makes content available globally or restricts it based on location
speeds up delivery of static and dynamic web content
uses egde locations to cache content
NOTE : If content is already in the edge location, CloudFront delivers it immediately. Otherwise, CloudFront retrieves files from original source of content.
'CloudFront distribution' === collection of edge locations
CloudFront in the Real World
S3 static websites
Prevent attacks
can stop certain web attacks like DDoS
IP address blocking
sends users through AWS global network when accessing content, thereby speeding up delivery
improves latency and availability of single-Region applications
sends traffic through AWS global network infrastructure
60% performance boost
automatically re-routes traffic to healthy available regional endpoints
improves content uploads and downloads to and from S3 buckets
fast transfer of files over long distances
customers around the world can upload to a central bucket
uses CloudFront's globally distributed edge locations
Networking Services
connects computers together and allows for sharing of data and applications around the globe, in a secure manner using virtual routers, firewalls, and network management services
foundational service that allows you to create secure private network in AWS cloud where you launch your resources
private virtual network
isolate and protect resources
launch resources like EC2 instances inside VPC
VPC spans Availability Zones in a Region
aside: "Internet Gateway" and "Peering Connection"
Subnet
allows you to split network inside the VPC
where you launch resources like EC2 instances
Network ACL
access control lists ensure proper traffic is allowed into subnet
Router and Route Table
defines where network traffic is routed
Internet Gateway
allows public traffic to the internet from a VPC
VPC peering
allows for connecting 2 VPCs together
facilitates transfer of data in secure manner
What is a correct IP4 CIDR for AWS?
Resources
ACG Courses
1. Introduction
2. Foundations of Cloud Computing
3. Technology
def lambda_handler ( event, context) :
message = f"Hello { event[ 'first_name' ] } { event[ 'last_name' ] } ! Keep being awesome!"
print ( message)
return {
status: 200 ,
'message' : message
}