You are on page 1of 4

Compute Services

Amazon Elastic Compute Cloud (Amazon EC2): Amazon Elastic Compute Cloud (Amazon EC2) provides
scalable computing capacity in the Amazon Web Services (AWS) Cloud. Amazon EC2 can be used to
launch as many or as few virtual servers as you need, configure security and networking, and manage
storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in
popularity, reducing your need to forecast traffic. SLA commitment of 99.99% availability for each
Amazon EC2 region
Types of EC2 Instances:
General purpose instances provide a balance of compute, memory, and networking resources. You can
use them for a variety of workloads, such as: application servers, gaming servers, backend servers for
enterprise applications and small and medium databases. These instances are ideal for applications that
use these resources in equal proportions such as web servers and code repositories.
Compute optimized instances are ideal for compute-bound applications that benefit from high-
performance processors. Instances belonging to this family are well suited for batch processing
workloads, media transcoding, high performance web servers, high performance computing (HPC),
scientific modeling, dedicated gaming servers and ad server engines, machine learning inference and
other compute intensive applications.
Memory optimized instances are designed to deliver fast performance for workloads that process large
datasets in memory. Instances belonging to this family are well suited for Memory-intensive applications
such as open-source databases, in-memory caches, and real time big data analytics.
Accelerated computing instances use hardware accelerators, or coprocessors, to perform some
functions more efficiently than is possible in software running on CPUs. Examples of these functions
include floating-point number calculations, graphics processing, and data pattern matching.
In computing, a hardware accelerator is a component that can expedite data processing. Accelerated
computing instances are ideal for workloads such as graphics applications, game streaming, and
application streaming, Machine learning, high performance computing, computational fluid dynamics,
computational finance, seismic analysis, speech recognition, autonomous vehicles, and drug discovery.
Storage optimized instances are designed for workloads that require high, sequential read and write
access to large datasets on local storage. Examples of workloads suitable for storage optimized instances
include distributed file systems, data warehousing applications, and high-frequency online transaction
processing (OLTP) systems.
In computing, the term input/output operations per second (IOPS) is a metric that measures the
performance of a storage device. It indicates how many different input or output operations a device
can perform in one second. Storage optimized instances are designed to deliver tens of thousands of
low-latencies, random IOPS to applications. Instances using Storage Optimized include NoSQL databases
(e.g., Cassandra, MongoDB, Redis), in-memory databases (e.g. Aerospike), scale-out transactional
databases, data warehousing, Elasticsearch, analytics workloads.
Amazon EC2 Pricing: AWS provides five pricing models, which can help you optimize costs and plan
budgets according to specific use cases.
On Demand: Least Commitment: They are ideal for short-term, irregular workloads that cannot be
interrupted. AWS lets you use EC2 compute instances with on-demand pricing and pay by the hour or by
the second. This pricing model enables you to spin up instances without paying for anything in advance.
You can quickly terminate these instances as needed and pay for the resources you used. This option
provides a high level of flexibility and scalability and is ideal for new AWS users developing and testing
the environment or running applications that have unpredictable usage patterns. However, on-demand
instances are more expensive and can quickly accumulate costs.
Savings Plans: It is a flexible pricing model offering lower prices compared to On-Demand pricing, in
exchange for a specific usage commitment (measured in $/hour) for a one or three-year period. Savings
Plans let you make an hourly spend commitment, and then applies a discount rate, which is subtracted
from your on-demand usage. Any spend that exceeds the committed amount will be charged at the on-
demand rates. Unlike RIs, Saving Plans are consolidated across resources, which means you can leverage
several discounts across your AWS account. 
AWS offers three types of Savings Plans –
Compute Savings Plans: Compute Savings Plans provide the most flexibility and help to reduce your
costs by up to 66%. These plans automatically apply to any EC2 instance usage regardless of region,
instance family, operating system, or tenancy–including those that are part of EMR, ECS, or EKS cluster.
EC2 Instance Savings Plans: EC2 Instance Savings Plans apply to a specific instance family within a region
and provide the largest discounts, up to 72%. This plan covers the usage of all instance types, regardless
of size, within the same region for that chosen family.
Amazon SageMaker Savings Plans - A new flexible pricing model that allows you to save up to 64% on
Amazon SageMaker ML instances in exchange for making a commitment to a consistent amount of
eligible usage (e.g. $10/hour) for a 1- or 3-year term.
Reserved Instances: up to 75% - Best Long Term: These are a billing discount applied to the use of On-
Demand Instances in your account. You can purchase Standard Reserved and Convertible Reserved
Instances for a 1-year or 3-year term and Scheduled Reserved Instances for a 1-year term. You realize
greater cost savings with the 3-year option. Discounts depend on the instance type, term and payment
option you choose. Discount rates start at approximately 30% and go as high as 72%, compared to
standard On-Demand rates. It is designed for applications that have a Steady state, predictive usage or
require reserved capacity.
There are two classes of Reserved Instances: Standard and Convertible.
Standard Reserved Instances provide deeper discounts (Up to 75% reduced pricing compared to on-
demand) but are more rigid. With Standard Reserved Instances, you can modify the Availability Zone,
instance size and networking type.
Convertible Reserved Instances, (Discounts Up to 54% reduced pricing compared to on-demand) you can
exchange a Reserved Instance for one with a different configuration. In addition to the changes possible
with Standard Reserved Instances, you can also change the instance family, OS, tenancy, and payment
type -- as long as the target Reserved Instance is of equal or greater value.
AWS offers several ways to pay for RIs, including:
no upfront: Does not require any upfront payment and provides a discounted hourly rate for the
duration of the term.
partial upfront: You make a low upfront payment and are then charged a discounted hourly rate for the
instance for the duration of the Reserved Instance term.
all upfront: You pay for the entire Reserved Instance term with one upfront payment. This option
provides you with the largest discount compared to On-Demand instance pricing.It is relatively less
complex to set up and maintain RIs, compared to spot instances. However, you are billed for all reserved
instances, even if you do not use all capacity, but unused reserved instances can be resold in Reserved
Instance Marketplace.
At the end of a Reserved Instance term, you can continue using the Amazon EC2 instance without
interruption. However, you are charged On-Demand rates until you do one of the following:
Terminate the instance.
Purchase a new Reserved Instance that matches the instance attributes (instance type, Region, tenancy,
and platform).
Spot Instances: up to 90% Biggest Savings: These are ideal for workloads with flexible start and end
times, or that can withstand interruptions. They can help you significantly reduce costs on computing
capacity, because these instances are offered at up to 90% off the on-demand price. This model offers
the largest potential cost-savings, especially when you need to scale quickly. However, spot instances
can be challenging to use for some fault-sensitive workloads. AWS Batch is an easy and convenient way
to use Spot Pricing.
A spot instance may be terminated at any time, whenever AWS needs this compute capacity. You get a
two minutes warning before your instance is terminated. If your instance is terminated by AWS, you do
not get charged for a partial hour of usage. If you terminate an instance, you will still be charged for any
hour that it ran.
It is designed for applications that have Flexible start and end times or applications that are only feasible
at very low compute costs or for non-critical background jobs.
Load Balancing Workloads – Launch instances of the same size, in any Availability Zone. Good for
running web services.
Flexible Workloads – Launch instances of any size, in any Availability Zone. Good for running batch and
CI/CD Jobs.
Big Data Workloads – Launch instances of any size, in a single Availability Zone. Good for MapReduce
Jobs
Defined duration workloads – Launch instances into a spot block for 1 to 6 hours.
Dedicated Hosts: Most Expensive: AWS lets you rent physical servers, which are called Dedicated Hosts.
This option is considered highly secured and reliable because you have the entire server for your private
use. You can purchase On-Demand Dedicated Hosts and Dedicated Hosts Reservations. When renting a
Dedicated Host, you do not need to do administrative tasks. AWS cleans and maintains the hardware.
However, Dedicated Hosts are more expensive, and is mainly within the budget of enterprises.
**********Difference between Saving Plans and Reserved Instances
With Savings Plans, users commit to a minimum dollar per hour spend, while RIs require a commitment
to a number of instances used.
Standards RIs can be bought and sold on the AWS Marketplace, while Savings Plans cannot
Amazon EC2 Auto Scaling: Amazon EC2 Auto Scaling enables you to automatically add or remove
Amazon EC2 instances in response to changing application demand. By automatically scaling your
instances in and out as needed, you can maintain a greater sense of application availability. Within
Amazon EC2 Auto Scaling, you can use two approaches:
Dynamic scaling responds to changing demand.
Predictive scaling automatically schedules the right number of Amazon EC2 instances based on
predicted demand.
Dynamic scaling and predictive scaling can be used together to scale faster. 
Auto Scaling Groups: Creating collections of EC2 Instances are called Auto Scaling Groups.
You can specify the minimum number of instances in each Auto Scaling group, and Amazon EC2 Auto
Scaling ensures that your group never goes below this size.
You can specify the maximum number of instances in each Auto Scaling group, and Amazon EC2 Auto
Scaling ensures that your group never goes above this size.
If you specify the desired capacity, either when you create the group or at any time thereafter, Amazon
EC2 Auto Scaling ensures that your group has this many instances.
If you specify scaling policies, then Amazon EC2 Auto Scaling can launch or terminate instances as
demand on your application increases or decreases.
Elastic Load Balancing: It is the AWS service that automatically distributes incoming application traffic
across multiple resources, such as Amazon EC2 instances.
A load balancer acts as a single point of contact for all incoming web traffic to your Auto Scaling group.
This means that as you add or remove Amazon EC2 instances in response to the amount of incoming
traffic, these requests route to the load balancer first. Then, the requests spread across multiple
resources that will handle them. For example, if you have multiple Amazon EC2 instances, Elastic Load
Balancing distributes the workload across the multiple instances so that no single instance has to carry
the bulk of it.
Elastic Load Balancing types: Elastic Load Balancing provides four types of load balancers that can be
used with your Auto Scaling group. There is a key difference in how the load balancer types are
configured. With Application Load Balancers, Network Load Balancers, and Gateway Load Balancers,
instances are registered as targets with a target group, and you route traffic to the target group. With
Classic Load Balancers, instances are registered directly with the load balancer.
Application Load Balancer: It is best suited for load balancing of HTTP and HTTPS traffic, supports path-
based routing and provides advanced request routing targeted at the delivery of modern application
architectures, including microservices and containers. An Application Load Balancer can route requests
to ports on one or more registered targets, such as EC2 instances within Amazon VPC based on the
content of the request.
Network Load Balancer: Routes and load balances at the transport layer (TCP/UDP Layer-4), based on
address information extracted from the TCP packet header, not from packet content. It also balances
load of Transport Layer Security (TLS) traffic where extreme performance is required. Network Load
Balancer routes traffic to targets within Amazon VPC and is capable of handling millions of requests per
second while maintaining ultra-low latencies. Network Load Balancers can handle traffic bursts, retain
the source IP of the client, and use a fixed IP for the life of the load balancer.
Gateway Load Balancer: It makes it easy to deploy, scale, and run third-party virtual networking
appliances. Providing load balancing, scale, availability, simplicity, and auto scaling for fleets of third-
party appliances such as firewalls, intrusion detection and prevention systems, and other appliances.
Gateway Load Balancer is transparent to the source and destination of traffic. This capability makes it
well suited for working with third-party appliances for security, network analytics, and other use cases.
Gateway Load Balancers work with virtual appliances that support the GENEVE protocol. Additional
technical integration is required, so make sure to consult the user guide before choosing a Gateway
Load Balancer.
Classic Load Balancer: It provides basic load balancing across multiple Amazon EC2 instances and
operates at both the request level and the connection level. Classic Load Balancer is intended for
applications that were built within the EC2-Classic network. It Routes and load balances either at the
transport layer (TCP/SSL), or at the application layer (HTTP/HTTPS).

You might also like