3 AWS Services and Use Cases
Compare AWS services by workload needs, including compute, storage, databases, networking, application integration, and operational visibility.
Choose compute for the workload
Choose compute based on how much control an application needs and whether it runs continuously, responds to events, or uses containers.
provides resizable virtual servers. It fits workloads that need control over the operating system or instance configuration, or software that requires a long-running server, such as a legacy application that cannot be redesigned for serverless operation.
runs code in response to events without requiring server management. It suits short-lived, event-driven tasks, such as processing an uploaded file or responding to an API request.
orchestrates containers as AWS’s container orchestration service. is a managed Kubernetes service for workloads that use Kubernetes.
provides serverless compute for containers used with ECS or EKS, so you do not manage the underlying servers.
For example, a continuously running application that needs a customized operating system may fit EC2; a function that resizes images when they arrive in a bucket may fit Lambda; and a set of containerized services may fit ECS or EKS.
Match storage to data access
Select storage according to how the application accesses data. stores data as objects in buckets and is used for files, backups, static website assets, and data lakes; it is not a mounted block disk for an EC2 instance.
provides block storage volumes for EC2, such as a server’s boot volume or application data requiring disk-like access. An EBS volume is designed for use with an EC2 instance in the same Availability Zone. provides managed, shared file storage that multiple Linux instances can access when they need a common file system.
are intended for archival data when retrieval may be less frequent or slower than with standard S3 storage classes. The basic distinction is that S3 is object storage, EBS is block storage, and EFS is shared file storage.
Select a database by workload
Choose a database according to the data model and workload. manages relational databases and routine database administration tasks. It fits applications that need tables, SQL, and relational features, such as an order-processing system.
is a relational database service compatible with MySQL and PostgreSQL. It is an option for relational applications designed to use those database engines and Aurora’s managed capabilities. is a managed NoSQL key-value and document database for applications that need fast access by known keys and flexible scaling, such as a shopping cart or device state store.
is a data warehouse for analytical queries across large datasets. It is intended for reporting and business intelligence rather than serving as the transactional database for a typical application.
An online store might use RDS or Aurora for transactions, DynamoDB for session or cart data, and Redshift to analyze historical sales.
Build networking and content delivery
provides a logically isolated network where AWS resources are placed and where IP ranges, subnets, routes, and network access are controlled. distributes incoming traffic across registered targets, such as EC2 instances, helping applications handle traffic without relying on a single server.
provides DNS services, including routing users to application endpoints. caches and delivers content from edge locations; it can reduce latency for websites, downloads, videos, or APIs serving geographically distributed users. creates and manages APIs, commonly as the front door for Lambda functions or backend services.
A public web application can use Route 53 for its domain, CloudFront to deliver cached content, a load balancer to distribute requests, and a VPC to organize backend resources.
Connect and coordinate application components
queues temporarily hold messages so one component can process work independently of another. For example, an order service can enqueue requests for a separate fulfillment worker, buffering work and decoupling the services.
sends messages to multiple subscribers using a publish-and-subscribe model, making it suitable for notifications or distributing an event to several recipients. routes events between applications and AWS services using event rules, allowing systems to respond to changes or events without tight coupling between producers and consumers.
coordinates multi-step workflows, including branching, retries, and error handling. Use it when a process has several tasks that must run in a defined sequence or stateful workflow. In short, SQS queues work for consumers, SNS broadcasts or fans out messages to subscribers, EventBridge routes events by rules, and Step Functions coordinates workflow steps.
Monitor operations and trace activity
collects metrics and logs, supports dashboards, and can create alarms when defined conditions occur. It monitors application and resource performance; for example, it can alert when an error rate or CPU metric crosses a threshold.
records account activity and API calls. It helps answer who made a change, what action occurred, and when it happened. traces requests across application components and helps investigate latency or errors in distributed applications.
These services provide complementary visibility: CloudWatch focuses on operational metrics, logs, and alarms; CloudTrail records AWS account activity; and X-Ray traces application requests across services.