AWS is a cloud computing service from Amazon which provides all the necessary infrastructure to build your applications.
This
contains important AWS services you should know about:
This


1. Elastic Cloud Compute (EC2):
This is basically a virtual machine with an operating system which can be used to run services, background jobs, websites etc.
AWS provides EC2 with different CPU, memory and storage capacity and you can chose one based on your use case.
This is basically a virtual machine with an operating system which can be used to run services, background jobs, websites etc.
AWS provides EC2 with different CPU, memory and storage capacity and you can chose one based on your use case.

You can SSH into an EC2 machine and can use it to:
run applications
run cron jobs
launch a server
router your server (localhost:8000) to outside world using NGINX





2. Amazon Simple Storage Service (S3):
As the name suggests it provides a storage service which can be used to store images, videos, text files and can even be used to serve your entire website when used along with Cloud Front.
As the name suggests it provides a storage service which can be used to store images, videos, text files and can even be used to serve your entire website when used along with Cloud Front.

Common use case for S3 is to store user uploaded documents, host static websites etc.
These documents can be stored on a S3 bucket and then the corresponding URLs can be stored in a database table and refer to it later in your application.
These documents can be stored on a S3 bucket and then the corresponding URLs can be stored in a database table and refer to it later in your application.

3. Simple Queue Service (SQS):
SQS is a message queuing service which helps in asynchronous communication between two services.
This is one of the critical components which helps you to decouple services in distributed environment through pull based mechanism.
SQS is a message queuing service which helps in asynchronous communication between two services.
This is one of the critical components which helps you to decouple services in distributed environment through pull based mechanism.

Let's say you have an Uber like application. The frequent cab requests can be stored in a SQS queue and can be picked up by driver applications who are ready to server requests.
Of course Uber's architecture much more is complicated. This is just an example use case for SQS.
Of course Uber's architecture much more is complicated. This is just an example use case for SQS.

4. Load Balancers (LB):
Load Balancer is a critical component of any distributed system which sits between a client and a server, accepts incoming requests, and routes them across a a cluster of servers to handle the load.
More info in this thread:
https://twitter.com/sunilc_/status/1296372519482490880
Load Balancer is a critical component of any distributed system which sits between a client and a server, accepts incoming requests, and routes them across a a cluster of servers to handle the load.
More info in this thread:

5. Lambda Functions:
AWS Lambda is a server-less compute service that lets you run your service without the need to maintain a server. The function executes your code only on some event when needed.
It's an on demand service which utilises compute resources when needed.
AWS Lambda is a server-less compute service that lets you run your service without the need to maintain a server. The function executes your code only on some event when needed.
It's an on demand service which utilises compute resources when needed.

6. Elastic Cache:
AWS Elastic Cache offers fully managed Redis and Memcached. These provide high throughput and low latency in-memory data stores.
It is a popular choice for real-time use cases like Caching, Session Stores, Gaming, Real-Time Analytics, and Queuing etc.
AWS Elastic Cache offers fully managed Redis and Memcached. These provide high throughput and low latency in-memory data stores.
It is a popular choice for real-time use cases like Caching, Session Stores, Gaming, Real-Time Analytics, and Queuing etc.

7. Route 53:
Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.
You can use Route 53 to perform three main functions in any combination:
- domain registration
- DNS routing
- health checking
Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.
You can use Route 53 to perform three main functions in any combination:
- domain registration
- DNS routing
- health checking

8. Amazon Relational Database Service (RDS):
RDS makes it easy to set up, operate, and scale a relational database in the cloud.
It provides you with six database engines to choose from, including Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.
RDS makes it easy to set up, operate, and scale a relational database in the cloud.
It provides you with six database engines to choose from, including Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, and SQL Server.

These are some of the the most commonly used services from AWS.
There are many other which are worth exploring:
- SNS
- CloudFront
- Kinesis
- VPC
- DynamoDB
- RedShift
There are many other which are worth exploring:
- SNS
- CloudFront
- Kinesis
- VPC
- DynamoDB
- RedShift
If you want to learn AWS concepts from scratch, here's an awesome e-book written by @dvassallo who has worked in AWS team for 10+ years. https://gumroad.com/a/238777459/MsVlG