I would personally suggest not going too deep in the links to different services mentioned as it may confuse you and I will be explaining those in future posts
In this post, I will try to explain what AWS is in the best and easy to understandable way possible.
AWS basically stands for Amazon Web Services. In an essence, it's Amazon having a lot of computers stacked in places called data centres across the globe and then offering these computers for use to the general public at justified rates.
Here are some of the benefits of using AWS:
- You don't have to worry about managing the hardware. For eg: let's say during black friday sale your application goes viral with its offerings and you are receiving 10 times the usual traffic. In that case, you can't possibly add that much hardware fast enough and it will impact your customers but if you use AWS then you can set it to auto-scale which will provision the hardware as per the demand or you can do it yourself with just one single click (it's that easy 😉)
- Its cheaper to use AWS that to use your own hardware and there are a lot of surveys on the internet which have proven this 😌.
- AWS customers can enjoy a lot of services which if they try to develop on their own, it would take them a lot of time and then the time spent in managing those will be a lot but with AWS you can just use them with few clicks 😎 and they best part is they just configure so easily with other AWS resources.
- AWS is more cheaper, reliable than the competition always!
- Since AWS is the oldest player in the game, its offering are tested a lot by the customers and just for reference Netflix, Prime Video etc uses AWS for their infrastructure and I am sure you'll agree with me that they works like charm (though the developers of these apps are also major contributors for this but AWS has empowered them 😀)
The offerings by AWS can be divided into two parts:
This includes things like EC2 instances (can be thought of a
small server) which basically provision some hardware and we
are able to directly interact with that hardware.
This includes almost everything at AWS. Things like SQS queues, SNS topics, lambda, S3 storage which at some lower level also provision some hardware but we are not incharge of managing that hardware and we can't access it.
Here are a few:
- AWS may go down and your product may be impacted by this. You can thought of this as putting all your eggs in the same basket. To avoid such scenarios, make sure that you deploy your apps in different regions and availability zones which would minimise the impact on your service if something at AWS goes bad.
- Since resources are provisioned automatically (if you configured AWS to do so) sometimes, it may result in you getting hefty bills so my advise would be to add alarms on billing and also set provisioning of resources accordingly.
- [inspired by @wowik ] If data flow outside the AWS network(to the open internet) is also charged and it may happen that sometimes the amount you pay for the data transfer is equal to or more than what you pay for the resources 🙁.
That's all from my side. In my future posts, I will try to explain some services from AWS. If you want to add something in it, feel free to comment or reach out and I will then make the changes accordingly.