To run and operate any application, computing power is needed, that includes hardware and software (including operating system, platform software, and application code). Traditionally, acquiring hardware and software (operating system and platform software) resulted in upfront capital expenditure.
Enter Amazon Elastic Computing Cloud (EC2).
Amazon offers scalable computing capacity that runs in the cloud, known as Amazon Elastic Computing Cloud (EC2). With this service, there is no upfront cost and one only needs to pay based on the computing resources actually utilized.
Amazon EC2 provides a true virtual computing environment.
Users can launch instances with a variety of Amazon Machine Images (AMI). AMIs are prebuilt images of Linux and Windows operating systems. Users can also create their own machine images that can contain the binaries needed to run your application.
Users can start, stop and monitor any number of computing instances using APIs or management tools.
Benefits of Amazon EC2
EC2 offers the following benefits:
- Amazon EC2 supports on-demand scalability. You can start as few instances, as needed to begin, and increase the number of instances to support traffic peaks, and reduce the number of instances when demand dies down.
- Amazon EC2 supports total control of your instances. Users have administrative access to the instances and can be rebooted remotely.
- Amazon EC2 supports a wide variety of operating systems and software packages.
- Amazon EC2 supports rich integration with other Amazon web service offerings. EC2 works with Amazon Simple Storage Service (Amazon S3), Amazon Relational Database Service (RDS), and other services.
- Amazon EC2 supports a highly reliable environment that ensures failed instances can be immediately and reliably replaced with new instances.
- Amazon EC2 provides robust security and networking functionality for your instances using Amazon Virtual Private Cloud (VPC).
- Amazon EC2 provides inexpensive computing power. There are three types of instances:
- On-demand instances: Pay as you go and there are no long term commitments.
- Reserved instances: Make a one-time payment for each of the instances desired and then get significant discounts on hourly charges. There are three types of reserved instances: Light, Medium and Heavy Utilization Reserved Instances).
- Spot Instances: There are instances in which customers can bid on and use them as long as their bid exceeds the current Spot price, that can change based on current demand.
Amazon EC2 offers the following features to support scalable applications:
Amazon Elastic Block Store(EBS) offers persistent storage for EC2 instances. EBS volumes persist for the life of the instance and are highly available and reliable volumes that can be used as boot partitions or standard block devices. EBS volumes offer greater durability over regular EC2 instance stores, as they are automatically replicated on the backend (in a single availability zone). Customers can also create EBS optimized instances for a low additional hourly fee that will ensure greater than 99.9% of provisioned performance.
Amazon EC2 locations are composed of Regions and Availability Zones (AZ) . Availability Zones are distinct locations that are insulated from failures in other similar zones. They offer inexpensive, low latency network connectivity to other Availability Zones in the same Region. Running instances across Availability Zones can failure-proof your application, and EC2 supports this.
Amazon EC2 supports elastic IPsand can be used to quickly remap an IP address to a replacement instance (avoiding the delay of DNS propagation.
Amazon Virtual Private Cloudallows logical isolation of EC2 instances into a virtual network, while offering the ability to select your own IP range, creating subnets, and configuring route tables and network gateways.
EC2 instances can be continuously monitored through Amazon CloudWatchwhich offers metrics related to CPPU utilization, disk IO and network traffic.
Number of EC2 instances running can automatically be scaled up or down depending on the traffic using Auto Scaling. Auto Scaling is enabled by CloudWatch and is offered at no charge.
Traffic across EC2 instances can be keep uniform using Elastic Load Balancing (EBS) that be used in a single Availability Zone or across multiple Availability Zones. EBS can route traffic away from unhealthy instances to ensure customers are continuously available to use your application.
All of these features make Amazon EC2 a highly competitive computing offering.
In this article, we learned about Amazon's compute offerings. I hope you have found this information useful. In upcoming articles, we will explore how to use EC2 using the available management tools.