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 (2)
AWS has such a powerful and diverse set of services for different needs, from EC2 for custom servers to S3 for scalable storage! For those looking for a managed and hassle-free hosting experience, Cloudways provides great options for hosting your applications on AWS, Google Cloud, and more. Other companies like DigitalOcean and Linode also offer flexible cloud hosting solutions, ideal for developers looking to scale without the complexities.
Thanks for sharing your insights.