From the course: Amazon EC2 Essential Training

What is Amazon EC2?

- [Instructor] Let's begin by understanding what is Amazon EC2? Amazon Elastic Compute Cloud or Amazon EC2 is the compute offering from AWS. It provides on-demand, scalable compute capacity in the form of virtual machines. Think of virtual machines that you may have installed on your computer. Now, move these virtual machines to the AWS cloud and they are known as EC2 instances. So essentially, EC2 instances are virtual machines that you launch in the AWS cloud. EC2 instances allow various configurations of CPU, memory, storage, and networking capabilities. So when you launch an EC2 instance, you can choose from predefined configurations available for a variety of workloads. For example, certain EC2 instance types are preconfigured for specific workloads such as web servers or database servers, while there are others for applications that require low latency, high CPU, high memory, and other requirements. So when you launch an EC2 instance, you can pick from a predefined configuration or you can also customize the configuration. These instances can be launched in multiple regions. You can choose a region that is closest to you or you could choose the most cost-effective region or the one that helps you with your compliance requirements. The Amazon EC2 service is also referred to as IaaS or infrastructure as a service. When you create a virtual machine using Amazon EC2, you have complete control over the operating system and the applications running on it. You can use the EC2 instance for creating a web server, a database server, or a batch processing server. Since the infrastructure is in your control, you can decide how you want to use it and it is known as infrastructure as a service. Imagine you want to install a database on an EC2 instance. Since the EC2 instance is an IaaS offering or infrastructure as a service offering, you are responsible for the EC2 instance and for managing the database running on top of it. For use cases where you don't want to manage the underlying EC2 infrastructure, AWS offers managed services such as Amazon RDS, or relational database service, AWS Lambda, AWS Elastic Beanstalk, and others. Another thing to remember is that because the infrastructure is in your control, you are also responsible for its security, like applying operating system patches. Now, let's talk about the key features of Amazon EC2. The first one is low cost. Amazon EC2 instances are launched using shared hardware. In the background, AWS uses physical servers to launch EC2 instances, and the capacity of these physical servers is shared across multiple customers. AWS does this using hypervisors. A hypervisor is a software used to manage virtual machines. Common examples include VMware and VirtualBox. The hypervisor allocates the resources of the physical server, such as the CPU and memory to multiple virtual machines, in this case, EC2 instances. The hypervisor is not visible to the end user. So when you launch an EC2 instance, you only have visibility of the instance itself. You cannot see the underlying physical server or the hypervisor. These EC2 instances that run on the same underlying physical server may belong to different customers, and because multiple customers share the physical resources, the cost is split, making Amazon EC2 an incredibly low-cost offering. The next key feature of Amazon EC2 is that it is quickly scalable both up and down. Let's say you launch an EC2 instance with two vCPUs and two gigs of RAM. Looking at its usage, you realize that you need more capacity to serve your customers. All you need to do is shut down your instance, change the configuration, and reboot. And now, in a matter of a few minutes, you have more capacity. The opposite is true as well. Let's say you start with more capacity and realize that you have over-provisioned. In a matter of minutes, you can scale down the configuration of the instance. Next, you have complete control over the instances. You can control the configuration, the operating system, and any applications you install on it. With Amazon EC2, there is no upfront investment required. You do not need to purchase any hardware to get started. And for usage, it has a pay-as-you-go model, you only pay for what you use. AWS does have other payment models such as reserve instances and savings plans that give you discounts for paying upfront. But to get started with EC2, you do not need them. You can use the pay-as-you-go model and just pay for your consumption. And lastly, Amazon EC2 is available in multiple locations. Your EC2 instances can be launched in any region where AWS provides its services. As you can imagine, these features make Amazon EC2 an attractive compute offering for small customers and large enterprises. In the upcoming videos, we'll look at these features and configuration options in detail.

Contents