Conceptly
← All Concepts
🖥️

Amazon EC2

ComputeCloud Virtual Servers

EC2 is a virtual server in AWS where you run an operating system and application directly. It provides the compute slot for long-lived workloads by letting you launch instances and attach disks and networks as needed.

Architecture Diagram

🔍 Structure

Dashed line animations indicate the flow direction of data or requests

Why do you need it?

When a process has to stay alive for hours after deployment, the server still has to keep running even when there is little traffic. If you rely only on physical machines or fixed-capacity servers, you cannot expand fast when traffic jumps and you keep paying for idle capacity when it falls.

Why did this approach emerge?

In the past, launching an application meant purchasing physical servers and setting up racks, power, and networking. If capacity forecasts were wrong, it immediately led to over-investment or provisioning delays — which is why on-demand virtual server allocation models like EC2 emerged.

How does it work inside?

EC2 lets you spin up virtual servers on demand and choose CPU and memory via instance types. Typically, instances are placed inside a VPC, an ALB distributes requests, and EBS provides disk — creating an always-on compute environment.

When should you use it?

Well-suited for web servers, long-running batch jobs, and stateful applications that require a persistent server. Not a good fit when container-level deployment matters more or you only need short, request-driven execution.

Web application hostingBatch processingHigh-performance computing (HPC)Dev/test environments