Amazon Elastic Compute Cloud (EC2) is a virtual private server that allows users to rent virtual computers on which to run their own computer applications, and provides scalable computing capacity in the AWS cloud. EC2 encourages scalable development and deployment of applications by providing a web service through which a user can boot an AMI (Amazon Machine Image) to configure a virtual machine called an instance. As the term elastic explains, this instance permits a user to create, launch and terminate server instances as needed. Active servers pay for each second.
EC2, like S3 buckets, provides users with control over the geographical location of instances that allows for latency optimization and high levels of redundancy.
An EC2 instance is a virtual server in EC2 for running applications on the AWS infrastructure. These instances are created from Amazon Machine Images(AMI), where the images are like templates. They are configured with an operating system and other software which determine the user's operating environment. EC2 instances are classified into categories based on target application profiles.
- General purpose instances: It is a virtual machine designated to handle a variety of workloads. Common use cases are webserver hosting and software development and testing.
- Compute optimized instances: These instances are designed to run computational and data-intensive applications that require fast network performance, extensive availabilty and high I/O operations per second (IOPS). Examples of such instances include scientific and financial modeling and simulation, machine learning enterprise data warehousing and business intelligence.
- Graphics Processing Unit(GPU) instances: They provide a way of running graphic-intensive software faster than with main EC2 instances. Systems that rely on GPUs include gaming and design work.
- Memory Optimized instances: They use a high speed, solid state drive to provide ultra-fast access to data and deliver high performance, and are ideal for software that require more memory and less CPU power.
- Storage optimized instances: Ideal instances for applications that require high I/O performance, and we are well suited for memory-intensive applications and are well suited for memory-intensive applications like data processing, analytics, workloads and log processing.
- Micro instances: A micro instance is used for applications with low throughput. It may serve as a small database server, a platform for software testing or a web server that does not necessitate high rates of transaction.
Amazon charges about 0.0058 dollars per hour for the smallest nano instance virtual instance running the Linux or Windows OS. The EC2 price varies from $2.5 per month for nano instance with one vCPU and 0.5GB RAM on board to x large type of instances with 32 vCPU and 488GB RAM for $3997.19 per month.