Module 2 (Compute Services) Flashcards
Amazon Elastic Compute Cloud / EC2
A virtual server in the cloud
Can terminate with ease
pay-as-you-go
use if you want to host classic apps or you want full access to the OS
Why is EC2 more efficient?
starting physical servers is time and space-costly and they cannot be taken down
this service has built and secured virtual data centers
they are also bought, installed, and ready to use
Multitenancy
sharing hardware between virtual machines
EC2 Configuration
Can be done using Windows, Linux, Internal business apps, web apps, databases, and third party software
EC2 Instance Types
configurations for every EC2 instance
consist of
-general purpose
-compute optimized
-memory optimized
-accelerated computing
-storage optimized
General purpose
useful for balancing certain components in your EC2 instance
balanced resources
web servers
diverse workloads
code repositories
Compute optimized
useful for compute-intensive tasks
gaming servers, life, scientific modeling
Memory optimized
useful for memory-intensive tasks
Accelerated computing
utilizes hardware accelerators to improve the EC2 appliczation
floating point #s
calculations
graphics processing
data pattern matching
EC2 Pricing
offers five different tiers for paying
-On-demand
-Savings Plans
-Reserved Instances
-Spot Instances
-Dedicated Hosts
On-demand
per hour or second
does not require any long-term commitments or payments
useful for getting started and experimenting with EC2
no contracts or communication with AWS required
Savings Plan
allows low prices on EC2 usage with minimum usage (can be 1-year or 3-year terms)
you can also get up to 72% in savings (This also counts when using AWS Fargate or AWS Lambda)
Reserved Instances
steady-state workload friendly
offers a 75% discount once committing to a 1 or 3 year term
paying can be done either upfront, partial, or none (this does not mean it’s free [you would have to pay all the money another time])
Spot Instances
requests spare capacity up to 90%
but AWS can capture these spots at anytime
thus is only useful if you are fine with interruptions in your AWS infrastructure
batch workloads
Dedicated Hosts
physical hosts dedicated for EC2
usually for meeting some compliance requirements
EC2 scaling
EC2’s space management aspect to control traffic
can be vertical or horizontal
Vertical scaling
upgrading or downgrading an EC2 Instance (more or less power)
Horizontal scaling
adding more or less EC2 Instances
EC2 Autoscaling
memory optimization strategy
scales up if there is no space when needed and scales down if there is unnecessary space
supported by EC2
Elastic Load Balancing
a traffic-redirecting service
used to prevent overcrowding in any EC2 instance or confusion of where to go
Autoscales just like EC2
has high performance, is cost-effective, highly available, and automatically scalable
useful in connecting Frontend and Backend
Messaging and Queuing Architectures
Two tiers manage how items respond to failure between traffic traveling between instances:
-Tightly coupled
-Loosely coupled
Tightly Coupled Architecture
if one component fails or changes, it causes issues for other connecting components
Loosely Coupled Architecture
a single failure will not cause issues for other connected components
Amazon Simple Queue Service
messages are placed until they are processed
sends, stores, and receives messages between software components at any VOLUME
Payload
all data contained within a message
Amazon Simple Notification System
sends messages to services but also sends notifications to end users
Amazon SNS Topic:
a channel for a message to be delivered
allows to serve a number of customers at one time (poll multiple messages from the queue at one time
Serverless
you cannot see or access underlying infrastructure (it does not mean it doesn’t exist)
Docker
a tool for building and running isolated containers (kind of like virtual machines)
AWS Lambda
scales a lambda function to meet demand
serverless service, scalable, highly available, and maintenance is done by AWS
use if you want to host short-run functions, service or event-driven oriented apps, and if you do not want to manage servers
Amazon Elastic Container Service
a container orchestration tool
host is also an EC2 instance
use if you want to run docker container workloads on AWS
Kubernetes
a tool for managing container-based. applications
Container
package for code, dependencies, and configurations
Cluster
includes processes to start, stop, monitor, and restart docker containers
Amazon Elastic Kubernetes Service
utilizes Kubernetes to run and manage containerized applications
AWS Fargate
serverless service and compute platform for ECS and EKS