I am planning to write a series of blogs related to DevOps, among them AWS is my first choice because I’ve been doing a lot of tasks on AWS for a month.
In this article, we will figure out if at all you should be learning the AWS and if yes, then what that time should be?
So before learning how and when you should learn AWS. let’s know something about what AWS is?
AWS stands for Amazon Web Services and it is a cloud provider which is backed by Amazon.com, Inc. The concept of cloud services pretty much implies on all other cloud provider services. For example, Google has Google Cloud Platform, Microsoft has Azure, Digital Ocean, Linode, and tons of more. But to be honest, AWS, Azure, and GCP are only three out there who are full-fledged, fully-blown, and full-matured platforms where you can host pretty much anything you can imagine on the internet.
Alright, the next thing is should you learn AWS as a developer? — And the short answer to this question is obviously yes. But there is a thing you should be careful about, that is the timing when you should learn this?????
This is a one-man’s point of view in this article. so obviously take it as a grain of salt and consider other resources out there as well.
My experience with AWS has been something like the following:
Frontend -> Backend -> Servers -> CPannel -> Heroku -> Firebase -> AWS
In Frontend, you learn structuring the webpages then you make it more interactive and dynamic using the proper backend. Deploying your project on the internet will make you learn servers. If you are using PHP, you gonna work a lot with the cpannel. There you learn about DNS, Hosting, IP, Records, and much more things. Heroku is pretty much like a cloud provider but it lacks so many features. Google Firebase offers dozens of services like Hosting, Database, Storage, Authentication, and a few more.
In general, you should start with the front-end & backend then move to the server. Try to understand them and learn a bit about networking stack, DNS, CNAME Records, A records, MX records, because you gonna handle a lot of stuff related to networking on AWS anyways. Take it a little bit slow and move to Heroku, learn about CLI. learn about Linux, Learn how to deploy simple servers on Linux. And then move to AWS.
Caution: Make sure you are not trying to explore everything, AWS is the universe, it is basically a data center at your fingertips. So, don’t try to learn everything. Stick to a few which are commonly used.
Few mostly used AWS services that are:
- EC2 – Elastic compute
- S3 – A simple storage service
- Lamda : Serverless compute
- SES: Simple Email Service
- SQS : For maintaing queue structre
- DynamoDB: Stores key-value pairs.
So, learn about these few services only and try to use them in your projects. Don’t just go ahead and learn other services like pipelining and all. Because what’s going to happen is that if you start messing around with the AWS stuffs, that is all fun and cool only till the day when you are using these stacks on production and something blows.
The amount of flexibility and freedom which you will get with AWS is immense but trust me, the amount of headache you gonna get when you shift on AWS is also immense. Because AWS primarily is Infrastructure as a service (IaaS).
If you are done with server and Linux things and wanna learn AWS, stay tuned !!