2.2.1. Amazon EC2 (Elastic Compute Cloud)
š” First Principle: Amazon EC2 provides resizable virtual servers in the cloud, giving users fine-grained control over operating systems and installed software on a pay-as-you-go basis.
Amazon EC2 (Elastic Compute Cloud) is a web service that provides secure, resizable compute capacity in the cloud. It's essentially a virtual server in AWS. EC2 allows users to launch and manage virtual machines (called instances).
Key Characteristics of Amazon EC2:
- Virtual Servers (Instances): You rent virtual machines to run your applications.
- Instance Types: Various combinations of CPU, memory, storage, and networking capacity, optimized for different use cases (e.g., general purpose, compute optimized, memory optimized).
- Operating Systems: You choose the operating system (e.g., Linux, Windows).
- Scalability: Easily scale capacity up or down as needed. Auto Scaling Groups can automate this.
- Pricing Models: On-Demand, Reserved Instances (RIs), Spot Instances, Dedicated Hosts.
- Use Cases: Hosting web servers, application servers, databases (self-managed), batch processing, gaming servers.
Scenario: A company needs to run a traditional application that requires a specific operating system and software configuration. They want full control over the server environment.
Reflection Question: How does Amazon EC2, by providing resizable virtual servers with fine-grained control over operating systems and installed software, fundamentally allow businesses to run custom applications in the cloud on a pay-as-you-go basis?