What is AWS EC2 (Elastic Compute Cloud)?
AWS EC2 is one of the cloud services offered by Amazon and one of the widely used services. EC2 stands for Elastic Compute Cloud. This service falls under infrastructure as a service (IaaS) category. EC2 provides computing capacity to the users in a big scale with various high availability options. To simplify further, it’s just a virtual machine offered in the cloud to deploy applications without investing in hardware and datacenter facilities. Customers just focus on the application, deployment and monitoring stack, Amazon will take care of hardware lifecycle, power, datacenter and high availability. Similar to other cloud services, AWS EC2 is also billed for every second usage, in other word Pay As You Go (PAYG).
If you are completely new to the infrastructure services, checkout how virtual machines work. If you have experience in infrastructure, you can co-relate this service with VMware Virtual Machines, OVM (Oracle Virtual Machines), Oracle Solaris zones, IBM AIX VPAR, Xen, and Linux KVM etc.. Amazon uses xen virtualization in the backend to spin up the EC2 (virtual machines) instances on demand.
Xen Virtualization Architecture
Xen hypervisor is similar to the VMware ESXi. It allows you to create multiple virtual machines on a single physical server. Dom0 is a control domain which controls the DomU. Xen supports x86 hardware and guest operating systems will be mostly windows or Linux. In Public cloud, 70% virtual machines are Linux variants due to its smaller disk footprint and performance.
Let’s move on to the AWS EC2 offerings and its types.
Type of EC2 instances:
Every workload is unique and you need different types of instances on the Cloud. Unlike ON-PREM data centers, you can’t customize the instance shapes based on your requirement in the cloud. You need to figure out the right T-shirt size instance for your workload.
Here are the EC2 instance types available in AWS.
- General purpose
- Compute optimized
- Memory Optimized
- Accelerated computing
- Storage optimized
General purpose instances provide the balanced specs of compute, memory, storage and networking resources. If you need to host CPU intensive workloads, choose “Compute Optimized” instances (C-series instances). Some of the applications require less CPU cycles but process large sets of data. In that case, Memory optimized instances are the right fit (R & X series instances). Storage optimized instance types are primarily used to host workloads which require high local storage with low latency to perform random I/O operation.
Accelerated computing is used in graphics processing and data analytics since these types of instances use hardware acceleration.
To know more about the EC2 instances type, checkout here
How can I launch my first EC2 instance?
AWS Account:
To launch the first EC2 instance, you need to create a new AWS account. Once you have successfully set up the AWS account, you can launch your first instance after creating the below resources. “AWS EC2 Launch” wizard is able to create the required resources on the go while launching the instance. But it’s good to know the required resources for the EC2 instances before the system does something automatically in the backend using the default values.
Networking:
To communicate with an instance, you need to create the VPC first with the required IP subnet. Once the VPC is ready, we can create the required subnets for the instances.
Security Groups:
AWS offers various options to protect the instance from attack. Security group is nothing but a virtual firewall to decide what traffic can go out and come-in to the instance. For example, if you are hosting the web server on EC2 instances, you might need to allow port 80/443 only on the security group. You can also define the destination from where the instance can be accessed on the given port number.
Once you have the above-mentioned resources, we are good to create the first AWS EC2 instances. One VPC can host 65,536 instances by using subnet /16 range.
Keypair:
AWS discourages the use of username/password to connect to the AWS instances. Keypair offers a strong authentication method to connect to the instances. It consists of a public key and private key. Public keys will be stored on EC2 instances and users need to secure the private key to authenticate the instance to connect.
Conclusion:
EC2 is the first cloud service offered by Amazon in 2010’s. It still remains a highly used service in the AWS Cloud. IaaS became legacy in the cloud world but this is one of the quickest methods to migrate the legacy application without re-architecting it. Lift & shift cloud migration approach uses EC2 predominately. These services are used in the backend to offer SaaS and PaaS services on AWS cloud. AWS offers multiple types of EC2 instances to choose based on your workload. Once you have minimal components like VPC and Security group, we can launch the EC2 instance in no-time.
Follow our Twitter and Facebook feeds for new releases, updates, insightful posts and more.