Dung (Donny) Nguyen

Senior Software Engineer

Amazon Elastic Compute Cloud (EC2)

Amazon EC2 (Elastic Compute Cloud) is a web service provided by Amazon Web Services (AWS) that offers secure, resizable compute capacity in the cloud. It is designed to make web-scale cloud computing easier for developers. With EC2, we can run virtual servers (“instances”) to host applications, websites, or any computing workload without needing to invest in physical hardware.

Key Features of AWS EC2:

  1. Elasticity:
    • We can scale the number of instances up or down based on demand, ensuring cost-efficiency and high availability.
  2. Instance Types:
    • EC2 provides a wide variety of instance types tailored for different use cases, such as general-purpose, compute-optimized, memory-optimized, storage-optimized, and GPU instances.
  3. Operating Systems:
    • Supports multiple operating systems, including Linux distributions (e.g., Ubuntu, CentOS) and Windows Server.
  4. Instance Pricing Models:
    • On-Demand: Pay for compute capacity by the hour or second with no long-term commitment.
    • Reserved Instances: Commit to a specific instance type and location for a term (e.g., 1 or 3 years) for cost savings.
    • Spot Instances: Bid for unused capacity at lower prices, suitable for flexible and interruptible workloads.
    • Savings Plans: Offer additional cost savings with predictable workloads.
  5. Storage Options:
    • EC2 instances can use Amazon EBS (Elastic Block Store) for persistent storage or instance store for temporary, high-speed storage.
  6. Networking:
    • Features like Elastic IP addresses, Virtual Private Clouds (VPC), and support for custom security groups to control inbound/outbound traffic.
  7. Security:
    • Built-in security features, including firewall configurations, identity and access management (IAM), and encryption for data at rest and in transit.
  8. Integrations:
    • Integrates seamlessly with other AWS services like S3 (storage), RDS (databases), and CloudWatch (monitoring).
  9. Auto Scaling:
    • Automatically adjusts the number of instances based on demand, ensuring performance and cost optimization.

Common Use Cases:

With its flexibility and scalability, AWS EC2 is a cornerstone of modern cloud infrastructure.