In this article, we will discuss one of the oldest, popular, and widely used AWS computing services that are EC2 – Elastic Compute Cloud. Let us understand what is EC2? Why it is one of the most important services of an AWS? What are its types? How to launch and use it? and few other characteristics.
EC2 (Elastic Compute Cloud)
Elastic Compute Cloud is a web service that provides secure, resizable compute capacity in the cloud. Designed to be IaaS (Infrastructure as a Service) it provides you with complete control of your computing resources and lets you run on Amazon’s proven computing environment.
What is unique in AWS EC2 compared to other cloud service providers IaaS?
Amazon EC2 offers the broadest and deepest choice of instances, built on the latest compute, storage, and networking technologies and engineered for high performance and security.
Nearly 400 instances for virtually every business need, and Only cloud provider that supports macOS, 24 regions and 77 availability zones globally, choice of Intel, AMD, and Arm-based processors, etc.
Faster innovation and increased security with AWS Nitro System, Choice of processors, High-performance storage, Enhanced networking and
choice of purchasing model.
Let us now focus on the technical aspects of EC2 service:
SLA commitment of 99.99% availability for each Amazon EC2 region. Each region consists of at least 3 availability zones (Availability Zones are known as AZ’s are the logical data centers within one region).
Varied instance types
Based on the requirement such as General Purpose, Compute-optimized, Memory Optimized, Accelerated computing, and Storage optimized.
General-purpose instances provide a balance of compute, memory and networking resources, and can be used for a variety of diverse workloads. These instances are ideal for applications that use these resources in equal proportions such as web servers and code repositories.
Variants offered in this are Mac, T4g, T3, T3a, T2, M6g, M5, M5a, M5n, M5zn, M4, and A1.
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.
Variants offered in this are C6g, C6gn, C5, C5a, C5n, and C4.
Memory-optimized instances are designed to deliver fast performance for workloads that process large data sets in memory.
Variants offered in this are R6g, R5, R5a, R5b, R5n, R4, X2gd, X1e, X1, High Memory, and z1d.
Accelerated computing instances use hardware accelerators, or co-processors, to perform functions, such as floating-point number calculations, graphics processing, or data pattern matching, more efficiently than is possible in software running on CPUs.
Variants offered in this are P4, P3, P2, Inf1, G4dn, G4ad, G3, and F1.
Storage optimized instances are designed for workloads that require high, sequential read and write access to very large data sets on local storage. They are optimized to deliver tens of thousands of low-latency, random I/O operations per second (IOPS) to applications.
Variants offered in this are I3, I3en, D2, D3, D3en, and H1.
Study about all types of instances detailly in below official AWS article.
Amazon EC2 provides a wide selection of instance types optimized to fit different use cases. Instance types comprise…aws.amazon.com
Amazon EC2 pricing
Amazon offers you different types of pricing models as per the requirement and usage in order to save cost and make the best use of computing capacity.
With On-Demand instances, you pay for compute capacity by the hour or the second depending on which instances you run.
On-Demand instances are recommended for:
- Users that prefer the low cost and flexibility of Amazon EC2 without any up-front payment or long-term commitment.
- Applications with short-term, spiky, or unpredictable workloads that cannot be interrupted.
- Applications being developed or tested on Amazon EC2 for the first time.
Amazon EC2 Spot instances allow you to request spare Amazon EC2 computing capacity for up to 90% off the On-Demand price. Spot instances are the unused EC2 capacity in the AWS cloud which are given at a 90% lower rate than other types.
Spot instances are recommended for:
- Applications that have flexible start and end times.
- Applications that are only feasible at very low compute prices.
- Users with urgent computing needs for large amounts of additional capacity.
Savings Plans are a flexible pricing model that offers low prices on EC2 and Fargate usage, in exchange for a commitment to a consistent amount of usage (measured in $/hour) for a 1 or 3-year term.
A Dedicated Host is a physical EC2 server dedicated for your use. Dedicated Hosts can help you reduce costs by allowing you to use your existing server-bound software licenses, including Windows Server, SQL Server, and SUSE Linux Enterprise Server (subject to your license terms), and can also help you meet compliance requirements.
- Can be purchased On-Demand (hourly).
- Can be purchased as a Reservation for up to 70% off the On-Demand price.
Per Second Billing
With per-second billing, you pay for only what you use. It takes the cost of unused minutes and seconds in an hour off of the bill, so you can focus on improving your applications instead of maximizing usage to the hour. Especially, if you manage instances running for irregular periods of time, such as dev/testing, data processing, analytics, batch processing, and gaming applications, can benefit.
EC2 usage is billed in one-second increments, with a minimum of 60 seconds. Similarly, provisioned storage for EBS volumes will be billed per-second increments, with a 60-second minimum. Per-second billing is available for instances launched in:
- On-Demand, Reserved, and Spot forms
- All regions and Availability Zones
- Amazon Linux, Windows, and Ubuntu
An EC2 instance can be launched in multiple ways such as using a console which is a basic method used, another way is using CLI commands and one more way is using Cloudformation which is Infrastructure as Code service.
Deep dive, learn how to launch and work with an EC2 instance, its benefits, and FAQs in our other blog here https://www.easydeploy.io/blog/?p=1528&preview=true