Reference
Services, and when to use them
Knowing what a service does is the easy half. The useful half is knowing when it is the wrong answer, what it will cost, and which specific detail catches people out.
Analytics
AthenabriefYou need to run standard SQL queries directly against files stored in S3 without loading them into a database.GluebriefYou need to catalog data and prepare datasets for analytics without managing the full processing infrastructure.KinesisbriefYou need to ingest, process, and analyze massive volumes of real-time streaming data with low latency.RedshiftbriefYou need a managed analytical warehouse for large-scale SQL reporting across structured datasets.
Application Integration
API GatewaybriefYou need a secure, public entry point to route HTTP traffic and WebSocket connections to your backend services.EventBridgebriefYou need a central event bus to route JSON events from diverse sources to multiple AWS targets based on content rules.SNSbriefYou need to broadcast notifications or event messages to multiple subscriber services and protocols simultaneously.SQSbriefYou need to decouple application components by passing messages asynchronously between them without losing data.Step FunctionsbriefYou need to coordinate complex, multi-step workflows and microservices with visual state tracking and error handling.
Compute
EC2briefYou need a standard virtual server where you can install any operating system, runtime, and custom software stack.EC2 Auto ScalingbriefYou need your server fleet to shrink and grow automatically based on real-time CPU demand or traffic spikes.LambdabriefYou need to execute backend code in response to events without provisioning, patching, or managing any virtual servers.
Containers
ECRbriefYou need a managed registry to store and distribute container images used by your deployments.ECSbriefYou need to run and scale Docker containers in production without the complexity of managing a Kubernetes cluster.EKSbriefYou need a managed Kubernetes service to run, orchestrate, and scale containerized applications using standard APIs.
Database
AurorabriefYou need a cloud-native SQL database that automatically scales storage and offers faster replication than standard engines.DynamoDBbriefYou need a NoSQL database that can handle arbitrary write scales with consistent single-digit millisecond latency.ElastiCachebriefYou need an in-memory database to cache slow queries, store user sessions, and reduce backend database load.RDSbriefYou need a fully managed relational SQL database that handles replication, backups, and minor engine updates.
Developer Tools
CodeBuildbriefYou need managed build environments to compile, test and package application artifacts.CodeDeploybriefYou need to automate deployment updates to a supported compute platform with a defined rollout strategy.CodePipelinebriefYou need to coordinate a repeatable software release across source, build, test and deployment stages.X-RaybriefYou need to trace request paths across instrumented services to understand latency and failures.
Machine Learning
Management
Billing and Cost ManagementbriefYou need to understand spending, allocate it to projects and receive useful budget notifications.CloudFormationbriefYou need to define and deploy your entire infrastructure as code using standardized declarative templates.CloudTrailbriefYou need a tamper-proof audit trail of every API call made in your AWS account for compliance and security auditing.CloudWatchbriefYou need to collect, monitor, and analyze logs, metrics, and alarms across all your cloud resources in one place.ConfigbriefYou need to track resource configuration changes and evaluate whether deployed resources meet your rules.OrganizationsbriefYou need to centrally manage, govern, and consolidate billing across multiple AWS accounts.Systems ManagerbriefYou need to securely manage configurations, patch virtual servers, and execute shell commands across your fleet.
Networking
CloudFrontbriefYou need to deliver web content, static assets, and APIs to users globally with low latency and high transfer speeds.ELBbriefYou need to distribute incoming web traffic across a pool of servers to prevent overload and ensure high availability.Route 53briefYou need to register domain names and route user traffic to your web applications with high availability DNS.VPCbriefYou need an isolated, private network boundary to secure your virtual servers, databases, and internal APIs.
Security
Certificate ManagerbriefYou need to issue and manage TLS certificates for supported services and endpoints.CognitobriefYou need to add user signup, signin, and federated identity access to your web or mobile applications.IAMbriefYou need to control who or what is authorized to access and perform actions on your cloud resources.KMSbriefYou need to create, manage, and control the cryptographic keys used to encrypt your cloud data at rest.Secrets ManagerbriefYou need to store, retrieve, and automatically rotate database credentials, API keys, and private tokens securely.WAFbriefYou need to inspect and filter HTTP requests before they reach a supported application endpoint.
Storage
EBSbriefYou need a high-performance, persistent block storage volume to mount as a local hard drive on a single virtual server.EFSbriefYou need a shared, POSIX-compliant network file system that hundreds of virtual servers can mount and access at once.S3briefYou need to store files that any number of machines can read and write, and you never want to think about disks running out of space.