Amazon Web Services is a cloud computing platform that provides customers with a wide array of cloud services. We can define AWS (Amazon Web Services) as a secured cloud services platform that offers compute power, database storage, content delivery and various other functionalities. To be more specific, it is a large bundle of cloud based services. Consider we need electricity for our home. Either we can generate our own electricity or purchase it from electric power companies. When we generate our own electricity, we need set up a lot of Infrastructure costing us a lot of money. Instead of that, we could purchase electricity and pay as we use. Similarly, AWS is one of the cloud computing providers that provide us computing, storage, networking and lot more services that we can pay as we use. Here I am trying to provide a small description of the currently available AWS products. I have tried to make it as simple as even a layman can understand it.
- Amazon Elastic Compute Cloud (EC2)
We can call them as Amazon virtual servers. Consider them as a computer where we can host our data. It will be available in different types on the basis of computing, memory, storage, and graphics. AWS EC2 instance is like we are renting a server from AWS on an hourly basis. The two main attractions of EC2 services are the Elastic Load Balancing and Auto Scaling.
- AWS Elastic load balancing
Elastic load balancing will help us to distribute incoming application traffic across multiple Amazon EC2 instances. For example, if I have too much work to do then I will ask for help from some other person, exactly the same applies here. If a server can’t handle the traffic then we will add a replica of that server and balance the load between them using the load balancer.
- AWS Auto Scaling
Auto Scaling allows us to scale our Amazon EC2 capacity up or down automatically according to conditions that we define. With Auto Scaling, we can ensure that the number of Amazon EC2 instances we are using increases seamlessly during demand spikes to maintain performance and decreases automatically during demand lulls to minimize costs.
- AWS Identity and Access Management (IAM)
This is where we create and manage our AWS users. AWS Identity and Access Management (IAM) enable us to securely control access to AWS services and resources for our users. Using IAM we can create and manage AWS users and groups and use permissions to allow and deny their permissions to AWS resources.
- AWS S3
We can use this service to store images and other files for websites. We can keep our backups and share files between our AWS services. One of the interesting use this service is for hosting static websites. Also, many of the other AWS services write and read contents from S3.
- Amazon Virtual Private Cloud (VPC)
We can call it as our private network in Cloud. By using AWS VPC we can keep all our aws services under the same network. Also, we will have an additional layer of security for all our AWS services. It is like we are hosting all our AWS services in a single rack.
- AWS Lambda
We are using it to run our scripts. Here we do not have to worry about the server where we are running our scripts. It is like we are asking AWS to spin a computer and it’s one and the only purpose will be running our script.
- AWS RDS
RDS is exclusively for hosting our databases. It is completely manged by AWS and we do not have to worry about anything else. Just create an RDS instance, upload our desired database then forget about all other complications because AWS is there to manage your database. Currently, they support AWS Aurora, MySQL, MariaDB, Oracle, Microsoft SQL Server, or PostgreSQL database engine
You can call it as AWS DNS. We can use it to buy a domain name and manage its DNS records.
- AWS SES
It is the email service offered by AWS. We can use it to relay our emails through AWS. It will assure us better reachability for our emails. Do not think about spamming, it will not be a good idea.
- AWS CloudFront
CloudFront is the CDN service in AWS. AWS has a global network of edge locations and regional edge caches that cache copies of our content close to our website viewers. They ensure that end-user requests are served by the closest edge location. As a result, viewer requests travel a short distance, improving performance for the viewers.
- AWS Elasticache
It’s the cache service offered by AWS. We can host both Redis and Memcache instance in this service.It will be same as RDS. Let the AWS tech worry about the server.
- AWS WAF
Call it as the AWS firewall, we can use it to save our websites from attacks like DoS and DDoS. Also, we can use it to block bad request to our network
- AWS SNS
It is like the AWS message service. We can use it to send alerts to mobile devices, emails, ticketing systems etc..
- AWS CodeCommit and Code Deploy
Call it as AWS GitHub, we can use this services for version control and deploy our codes to multiple EC2 instances.
- AWS Elastic Beanstalk
Consider you want to build a website and do not want to handle any of the server stuff and deployment, you are in the right place. Use Beanstalk upload your codes and let AWS worry about hosting your contents.
- AWS Direct Connect
Direct connect is like getting a dedicated leased line from your data center or on-prem to AWS. Do not forget about your ISP because we have to pay them and AWS to make it happen.
- AWS Snowball
If we have terabytes of data to upload to your AWS S3. Let’s pack your hard disk and mail it to AWS, they will upload it on S3. Do not worry they will send the hard disk back.
- AWS CloudFormation
CloudFormation is an interesting service in AWS. It is the easy way to deploy your architecture in AWS. Here we will use CloudFormation scripts to deploy the servers. Forget the old way to create servers manually. Let’s automate it using CloudFormation.
- AWS CloudWatch
This service will be the one that will play the role of a watcher. It will alert us about the services that are misbehaving or getting disconnected. Also, we can keep track of all our server logs in Cloudwatch.
- AWS CloudTrail
It will keep track of the stuff that we are doing on AWS control panel. It will update us who is doing what in our AWS panel.
- AWS Glacier
It is for achieving our data in S3. Like keeping a backup of your backup. Consider you have a lot of data in your S3 and you are not using it right now, but we will need it in near future so will move it to Glacier. Note that we can’t access that data immediately.
- AWS SQS
Call it as the queue service in AWS. We can store our data for future processing in a queue. It will come in handy when we design de-coupled architectures.