What is AWS EC2?

Amazon Web Services (AWS) is one of the most comprehensive and broadly adopted cloud service providers in the industry. A large spectrum of clients across verticals uses AWS to lower costs, become more agile and innovate faster.

AWS provides a vast spectrum of services, including AWS EC2. Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud. Amazon EC2’s simple web service interface allows you to obtain and configure capacity quickly and with minimum effort.

How does AWS EC2 work?

EC2 provides a set of predefined instance profiles, or virtual server definitions, to create virtual machines. You can choose your VM configurations from any of the predefined instance types. VM instances can be memory-optimized, compute-optimized, or storage-optimized.

Users can also create and customize instance profiles to suit their needs. Instances can be self-provisioned or auto-scaled (when integrated with Amazon Auto Scaling) on demand, and stopped when not required, thereby saving costs.

EC2 instances can also be used to deploy containers. You can deploy and manage your own cluster of EC2 instances for running the containers. Choosing the correct type of AWS EC2 instance is important. The wrong EC2 choice could adversely impact business and user experience.

AWS Elastic Compute Cloud (EC2) use cases

Amazon Elastic Compute Cloud (EC2) provides you the ability to to spin up virtual machines on the fly with no major infrastructure investment and minimal startup costs. Quickly provision new servers, using the AWS admin console or automation scripts for production and testing environments and shut them down when no longer needed.

Typical use cases of AWS EC2 include:

  • Host a variety of software from simple web sites to enterprise-grade web applications on a on-demand infrastructure. Easy to lift-and-shift from on-premises since you have full control of the operating system. Spot pricing can help save up to 80-90% on hosting costs.
  • Create fault tolerant architecture with auto-scaling and load balancing options.
  • If you need heavy computation and GPU power for deep learning/ machine learning, choose EC2 accelerated computing instances.

Troubleshooting AWS EC2 performance

IT performance monitoring tools are needed to monitor the performance of AWS EC2 instances. AWS CloudWatch (link to Cloudwatch glossary) provides basic resource and availability metrics that can be obtained in an agentless manner. To get more visibility, CloudWatch agents can be deployed inside the instances, or agents from specialized monitoring tools like eG Enterprise (link to products page) can be used.

While it is important to monitor CPU, memory and disk utilization in an AWS EC2 instance, like it is in a physical machine, it is more important to monitor specific cloud metrics like CPU credits, CPU credit balance, etc. As this real-world example shows, lack of CPU credits for a burstable instance can adversely affect performance of the EC2 instance and the applications running on it.