Study Cards Flashcards
Instance Families
Name EC2 instance families
(Hint: There are 5)
- General purpose
- Compute optimised
- Memory optimised
- Accelerated computing
- Storage optimised
Instance Families
General Purpose Instances
Key features and example usage
Key features:
- Balanced compute, networking and memory resources
- Can be used with a variety of workloads, for example:
- Application servers
- Small and medium dbs
- Backend servers for enterprise applications
Example usage:
Ideal when an application doesn’t require optimisation in a single resource area
Instance Families
Compute Optimized Instances
Key features and example usage
Key features:
* Ideal for applications requiring high-performance processors
* Can be used for workloads Fuchs as web, application and gaming servers
* Can be used for batch processing workloads required processing many transactions in a single group
Example usage:
Ideal for high-performance web servers, compute-intensive applications servers and dedicated gaming servers
Instance Families
Memory Optimized Instances
Key features and example usage
Key features:
* Designed to deliver fast performance for workloads processing large datasets in memory
* Can run workloads with high memory needs
Example usage:
Ideal for a high-performance database or a workload that involved performing real-time processing of a large amount of unstructured data
Instance Families
Accelerated Computing Instances
Key features and example usage
Key features:
* Uses hardware accelerators, or coprocessors to perform some functions
* A hardware accelerator is a component that can expedite data processing
* Can be more efficient that performing some functions on CPUs
Example usage:
Ideal for workloads such as graphics applications, game streaming and application streaming
Instance Families
Storage Optimized Instances
Key features and example usage
Key features:
* Designed for workloads that require high, sequential read and write access to large datasets on local storage
Example usage:
Ideal for workloads such as distributed file systems, data warehousing applications and high-frequency online transaction processing (OLTP) systems
Instance Families
What is IOPS (input/output operations per second)?
What is the best instance family type for an high IOPS app?
What is it?
* IOPS is a metric that measures the performance of a storage device
* Indicates how many different input or output operations a device can perform
Which instance family is better suited?
Storage Optimised instance are designed to handle high IOPS requirements
Pricing
Name the Amazon EC2 pricing models
(Hint: There are 5)
- On-Demand Instances
- Amazon EC Savings Plans
- Reserved Instances
- Spot Instances
- Dedicated Hosts
Pricing
On-Demand Instances
Key features
- No upfront costs
- No minimum contracts
- Only pay for the compute time used
- Ideal for short-term (less than 1 year), irregular workloads
Pricing
Amazon EC2 Savings Plans
Key features
- 1-year or 3-year terms with commitment to a given compute amount
- Potential savings of up to 72% vs On-Demand Instances
- Usage over committed compute amount charged at On-Demand rate
Pricing
Reserved Instances
Key features
(Hint: there are multiple types of Reserved Instances)
- A billing discount applied to use of On-Demand Instances
- Multiple types with varying terms:
- Standard Reserved (1-year or 3-year)
- Convertible Reserved (1-year or 3-year)
- Scheduled Reserved (1-year)
- Service won’t be interrupted at the end of the term, will be switched to On-Demand rates until the instance is terminated or a new one is purchased
Pricing
Spot Instances
Key features
- Uses unused Amazon EC2 capacity as and when it is available
- Ideal for workloads with flexible start and end times, or that can handle interruptions
- Cost savings of up to 90% vs On-Demand Instances
Pricing
Dedicated Hosts
Key features
- Physical servers with Amazon EC2 instance capacity
- Fully dedicated to your use
- Can use your own per-socket, per-core or per-c/m licenses to help maintain license compliance
- Most expensive Amazon EC2 option
Scalability
What is scalability?
- An architecture design allowing you to begin with only the resources you need and automatically scale in or out to respond to changing demand
- Pay only for the resources you use
- Always have enough capacity to meet customer needs
Scalability
What is the purpose of Amazon EC2 Auto Scaling?
It automatically handles horizontal scaling, adding or removing Amazon EC2 Instances in response to changing application demand
Scalability
Name two approaches to Amazon EC2 Auto Sclaing
- Dynamic Scaling: Responds to changing demand
- Predictive Scaling: Automatically schedules the right number of EC2 instances based on predicted demand
Scalability
Scaling Up (Vertically) vs Scaling Out (Horizontally)
- Scaling Up: Adding more power to the machines that are running
-
Scaling Out: Adding more resources to handle more traffic, for example more EC2 Instances
- Helps elasticity of the system
Scalability
What is an AWS Auto Scaling Group?
An Auto Scaling group contains a collection of EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management
Scalability
What are the main properties of an AWS Auto Scaling Group
(Hint: there are 3)
- Minimum Capacity: The number of Amazon EC2 Instances that launch upon creation of the Auto Scaling Group
- Desired Capacity: If not specified it defaults to the minimum capacity
- Maximum Capacity: You may configure to scale out in response to increased demand, but only to your max EC2 Instance capacity
Messaging and Queing
What is Elastic Load Balancing?
The Elastic Load Balancing service handles all incoming traffic requests and distributes them between resources, such as Amazon EC2 Instances
Messaging and Queing
Name 3 features of Elastic Load Balancing
- Runs at a regional level, not at an individual EC2 Instance
- Acts as a single point of contact for all incoming traffic
- Automatically scalable
Messaging and Queing
What is Amazon Simple Queue Service (Amazon SQS)
SQS allows you to send, store and receive messages at any volume, between software components
Messaging and Queing
What is Amazon Simple Notification Service (Amazon SNS)
SNS is a publish / subscrive service where publishers publish messages to subscribers.
Subscibers can include web servers, email addresses and AWS Lambda functions
Tightly-Coupled vs Loosely-Coupled Architecture
Handling failures
- In a Tightly-coupled architecture, failure in a single component could cause cascading failures throughout
- Loosely-coupled architecture prevents the entire application from failing if a single component fails
Name 2 services that assist with creating a loosely-coupled architecture
- Amazon Simple Queue Service (Amazon SQS)
- Amazon Simple Notification Service (Amazon SNS)
Compute Services
What is a container?
Serverless Computing
- A container is a package for your code - Code and dependencies are packaged into a single object
- In AWS this is typically a Docker container
Compute Services
What are Container Orchestration Services?
Serverless Computing
Container orchestration services help you to deploy, manager and scale containerized applications
Compute Services
Name Container Orchestrations Services offered by AWS
Serverless Computing
(Hint: there are 2)
- Amazon Elastic Container Service (ECS)
- Amazon Elastic Kubernetes Service (EKS)
Compute Services
Name the main features of AWS Lambda
AWS Lambda
(Hint: We are expecting 3)
- AWS Lambda is a serverless computing service
- Allows you to run code without provisioning or managing servers
- Only pay for compute time used - Charged only when your code is running
Compute Services
When is AWS Lambda code run?
AWS Lambda
AWS Lambda code is set to trigger from an event source, the code will only run when the specific trigger event is recorded.
Compute Services
Features of Amazon Elastic Container Service
Amazon ECS
(Hint: There are 4)
- Highly scalable, high-performance container management system
- Enables you to run and sclae containerized applications on AWS
- Supports Docker containers
- Can use API Calls to launch and stop Docker-enabled applications
Compute Services
What is the Amazon Elastic Kubernetes Service?
Amazon EKS
A fully managed service that you can use to run Kubernetes on AWS
Compute Services
What is AWS Fargate?
- AWS is a serverless compute engine for containers
- Works with both Amazon ECS and Amazon EKS
- Do not need to provision or manager servers
When should you use Amazon EC2?
- You want to host traditional applications
- You want full access to the Operating System (OS)
When should you use AWS Lambdas?
- When you want to host short-running applications
- When you want server or event-driven applications
- When you don’t want to be responsible for provisioning or management of servers
What are Regions?
Geographically isolated areas, containing multiple availability zones, where you can access services for running your enterprise
What factors should be considered when choosing a Region?
- Compliance - with data governance and legal requirements
- Proximity - to your customers
- Pricing
What is an Availability Zone?
One or more data centers, located tens of miles apart within a Region.
Close enough proximity for low latency between AZs, but spaced apart with enough distance to reduce the chance of disasters affecting multiple AZs
What are Edge Locations?
They run Amazon CloudFront to help keep content closer to customers no matter where they are in the world by storing cached copies of content
How can I interact with AWS?
- Via the AWS Management Console - a web UI
- Via the AWS Command Line (CLI) - Make API requests directly from the command line
- Via Software Development Kits (SDKs) - APIs designed for a range of programming languages
What is Amazon Virtual Private Cloud (VPC)?
- Allows you to establish boundaries around your AWS resources
- Holds resources in a private network organised into Subnets
To grant PUBLIC traffic access to a VPC, what should you use?
Attach an Internet Gateway
To grant PRIVATE traffic access to a VPC, what should you use?
Attach a Virtual Private Gateway, this will only allow traffic from an approved network
What is a Subnet?
Definition and Key Facts
Definition: A section of a VPC containing resources such as EC2 Instances
Key Facts:
* Allow control of traffic through gateways
* PUBLIC Subnets contain resources accessible to public traffic
* PRIVATE Subnets contain resources that should only be accessible to traffic on your private network
* Subnets can communicate with each other
What is AWS Direct Connect?
Enables you to create a dedicated private connection between your data center and VPC
What are Network Access Control Lists (ACLs)?
Definition and Key Facts
Definition: A virtual firewall that controls inbound and outbound traffic at SUBNET LEVEL
Key Facts:
* Does not check Instances within a Subnet
* Each AWS account includes a default ACL, when creating a VPC you can use the default or create custom ACLs
* The default ACL allows ALL inbound and outbound traffic
* Performs STATELESS packet filtering
Considering Network ACLs, what is Stateless packet filtering?
ALL inbound and outbound traffic is checked, every time
What are Security Groups?
Definition and Key Facts
Definition: A virtual firewall that controlls inbound and outbound traffic at the INSTANCE LEVEL
Key Facts:
* By default, denies all inbound traffic and allows all outbound traffic
* Performs STATEFUL packet filtering
Considering Network ACLs, what is Stateful packet filtering?
The gate remembers previous decisions made for INBOUND packets
What is a Content Delivery Network (CDN)?
A network that delivers edge content to users based on their geographic location
What is a Domain Name System (DNS)?
A DNS translates human readable domain names to machine readable domain IP addresses
What is Amazon Route 53?
- It is a DNS Web Service
- Highly available and highly scalable
- Connects user requests to internet applications running on AWS or on-prem