AWS offers a mind-boggling array of services, each with its own niche and capabilities. Here’s a crash course on the what, why, when, and where of AWS services, broken into bite-sized bullet points.
1. Amazon EC2: Virtual Servers for Computing
What: Virtual machines in the cloud.
Why: Host backend applications, run batch jobs, or host services needing high control.
When: You need customizable servers or want to run heavy workloads like Java Spring Boot applications.
Used With: Any backend framework (Java, Python, Node.js).
2. Amazon S3: Scalable Object Storage
What: Storage for any type of file or object.
Why: To store static assets like images, videos, documents, and React frontend builds.
When: You need highly available storage or to host static websites.
Used With: Frontend frameworks like React, Angular, and Vue.
3. Amazon RDS: Managed Relational Databases
What: Fully managed SQL databases (PostgreSQL, MySQL, OracleDB, etc.).
Why: Simplifies database administration tasks like backups and patching.
When: Your project requires structured data storage and ACID compliance.
Used With: Backend frameworks (Java, Spring Boot) for traditional web apps.
4. Amazon DynamoDB: NoSQL Database Service
What: Fast and flexible NoSQL database.
Why: For projects with unstructured or semi-structured data and low-latency requirements.
When: You’re dealing with real-time applications like user profiles or session storage.
Used With: Mobile apps, IoT, or Node.js.
5. Amazon VPC: Virtual Private Cloud
What: A private, isolated network for your AWS resources.
Why: To ensure secure communication and restrict unauthorized access.
When: Security is a priority, especially in microservices architecture.
Used With: All backend services, databases, and load balancers.
6. Amazon IAM: Identity and Access Management
What: Controls access to AWS resources.
Why: To grant users and applications specific permissions.
When: Always! Security and access control are critical.
Used With: All AWS services.
7. Amazon Route 53: DNS and Traffic Management
What: DNS and domain routing service.
Why: For managing domain names and directing traffic.
When: Your app has a custom domain like
myapp.com
.Used With: S3, CloudFront, and backend services.
8. Amazon CloudFront: Content Delivery Network
What: Distributes content globally with low latency.
Why: To serve static assets (React builds, videos) faster with HTTPS.
When: You have global users accessing your app.
Used With: S3, EC2, or any hosting service.
9. Amazon CloudWatch: Monitoring and Logging
What: Centralized monitoring for AWS services.
Why: Track performance, set alarms, and debug issues.
When: Your project scales, and observability becomes crucial.
Used With: EC2, Lambda, RDS, and other AWS resources.
10. AWS Lambda: Serverless Compute Service
What: Runs code without managing servers.
Why: Ideal for event-driven applications.
When: Need to run short-lived tasks like processing S3 uploads.
Used With: DynamoDB, S3, API Gateway.
11. Amazon EBS: Block Storage Volumes
What: Persistent storage for EC2 instances.
Why: To store data that needs to persist beyond server restarts.
When: Your backend needs local, high-performance storage.
Used With: EC2 instances.
12. Amazon Redshift: Data Warehousing Service
What: Scalable data warehouse.
Why: For running analytics on big data.
When: Your app generates a lot of structured data requiring complex queries.
Used With: Data analytics tools and ETL processes.
13. Amazon ElastiCache: In-Memory Data Store
What: Managed Redis or Memcached.
Why: For caching to improve application performance.
When: Your app has repetitive queries or session storage needs.
Used With: Backend frameworks, especially in microservices.
14. Amazon ECS: Container Orchestration Service
What: Manages Docker containers.
Why: To deploy and scale containerized applications.
When: You’re using containers for microservices.
Used With: Docker, Kubernetes.
15. Amazon EMR: Big Data Processing
What: Managed Hadoop and Spark clusters.
Why: For big data analytics and processing.
When: Your app handles large-scale data processing.
Used With: Data pipelines and analytics workflows.
16. Amazon Kinesis: Real-Time Data Streaming
What: Processes real-time data streams.
Why: To handle use cases like event logs or IoT data.
When: Real-time processing is a must.
Used With: Analytics dashboards and machine learning apps.
17. AWS CloudFormation: Infrastructure as Code
What: Automates resource provisioning.
Why: To manage resources declaratively.
When: Infrastructure management is becoming complex.
Used With: All AWS services.
18. AWS IAM Identity Center: Centralized Access Control
What: Single sign-on for multiple AWS accounts.
Why: Simplifies multi-account access.
When: You manage multiple AWS environments.
Used With: Enterprise setups.
19. Amazon API Gateway: API Management Service
What: Manages REST and WebSocket APIs.
Why: Simplifies building and deploying APIs.
When: Your app needs an API layer.
Used With: Lambda, EC2, DynamoDB.
20. Amazon Cognito: User Identity Management
What: Handles user signup, login, and authentication.
Why: To offload identity management.
When: Your app has user accounts.
Used With: Frontend and backend frameworks.
21. AWS Step Functions: Workflow Orchestration
What: Automates workflows.
Why: For managing distributed tasks.
When: You need coordination between multiple services.
Used With: Lambda, API Gateway.
22. Amazon Athena: Serverless Query Service
What: Queries S3 data using SQL.
Why: To extract insights from stored data.
When: Your app has raw data in S3.
Used With: Data lakes and BI tools.
23. Amazon QuickSight: Business Intelligence Tool
What: Creates dashboards and visualizations.
Why: To analyze and present data.
When: Your project needs reporting.
Used With: Redshift, Athena.
24. AWS Glue: Data Integration Service
What: ETL (Extract, Transform, Load) service.
Why: To process and transform data.
When: Your app requires data pipelines.
Used With: Redshift, S3, Athena.
25. Amazon AppStream 2.0: Desktop and App Streaming
What: Streams applications to end-users.
Why: For delivering desktop applications securely.
When: Your project needs remote app access.
Used With: Enterprise applications.
Top comments (0)