Amazon Elastic Compute Cloud (Amazon EC2) provides secure, resizable compute capacity in the cloud as Amazon EC2 instances.
Multitenancy: sharing underlying hardware between virtual machines
How Amazon EC2 works
1. Launch
First, you launch an instance. Begin by selecting a template with basic configurations for your instance.
These configurations include the operating system, application server, or applications. You also select the instance type, which is the specific hardware configuration of your instance
2.Connect
Next, connect to the instance. You can connect to the instance in several ways. Your programs and applications have multiple different methods to connect directly to the instance and exchange data. Users can also connect to the instance by logging in and accessing the computer desktop
3. Use
After you have connected to the instance, you can begin using it. You can run commands to install software, add storage, copy and organize files, and more.
Amazon EC2 instance types
Each amazon EC2 instance type is grouped under an instance family
-
General purpose instances
Balanced resources
- diverse workloads
- web servers
- code repos
-
Compute optimized instances
Compute intensive tasks
- gaming servers
- High performance computing (HPC)
- scientific modeling
-
Memory optimized
Memory intensive tasks
Designed to deliver fast performance for workloads that process large datasets in memory
-
Accelerated computing instance
- Floating point number calculations
- Graphics processing
- data pattern matching
- utilize hardware accelerators
-
Storage optimized
- High performance for locally stored data
EC2 pricing
-
On-Demand
On-Demand Instances are ideal for short-term, irregular workloads that cannot be interrupted.
-
Amazon EC2 Savings Plans
-
Reserved Instances
Reserved Instances are a billing discount applied to the use of On-Demand Instances in your account.
-
Spot instances
Spot Instances are ideal for workloads with flexible start and end times, or that can withstand interruptions. Spot Instances use unused Amazon EC2 computing capacity and offer you cost savings at up to 90% off of On-Demand prices.
-
Dedicated Hosts
Dedicated Hosts are physical servers with Amazon EC2 instance capacity that is fully dedicated to your use.
Scaling Amazon EC2
scalability involves beginning with only the resources you need and designing your architecture to automatically respond to changing demand by scaling out or in.
As a result, you pay for only the resources you use.
Amazon EC2 Auto scaling
Amazon EC2 Auto Scaling enables you to automatically add or remove Amazon EC2 instances in response to changing application demand.
Within Amazon EC2 Auto Scaling, you can use two approaches: dynamic scaling and predictive scaling.
Dynamic scaling responds to changing demand.
Predictive scaling automatically schedules the right number of Amazon EC2 instances based on predicted demand.
Elastic Load Balancing
Load balancing
A load balancer is an application that takes in requests and routes them to the instances to be processed
Properly distribute traffic
- High performance
- cost-efficient
- highly available
- automatically scalable
Elastic Load Balancing is the AWS service that automatically distributes incoming application traffic across multiple resources, such as Amazon EC2 instances.
Although Elastic Load Balancing and Amazon EC2 Auto Scaling are separate services, they work together to help ensure that applications running in Amazon EC2 can provide high performance and availability.