So, I’m guessing you’re new to AWS? If you are—you might be wondering what different things you should understand before deep diving into your learning. Well, you’re in the right place, since that’s exactly what we’ll discuss today.
What are the prerequisites to learning AWS? There are no mandatory pre-requisites to learning AWS. However knowledge of topics such as: the internet, command line interfaces, programming and “infrastructure as code” can be beneficial and might speed up the learning process.
But of course, it’s not very useful to just list these topics, let’s go through and discuss why and how these areas can help as pre-requisites to learning AWS.
1. The Internet & Networking
Many AWS services require basic networking knowledge, for instance launching a server on AWS EC2, or linking a domain name to a website using AWS Route 53. But, then again, there are also many services within AWS that require essentially no networking knowledge, such as AWS S3.
Regardless, there are a few topics within networking that are useful to know when it comes to learning AWS. For instance, knowing and understanding IP addresses, how IP addresses get assigned, and how they relate to DNS (domain name system) can be very useful when working with AWS.
Whilst it’s not necessary that you understand every detail about networking, it is likely that you’ll bump into networking topics occasionally when working with AWS. Without a basic knowledge of networking, it’s possible that you’ll get stuck at some point on networking when trying to set something up.
If you want to know more about networking, specifically in AWS, be sure to check out my article: AWS networking fundamentals: A simple guide for software engineers.
2. Command Line Interfaces
Whilst AWS has a user interface, a huge amount of work performed on AWS uses its command line interface, called the AWS CLI. The CLI is essentially a way to control AWS which works through text input, instead of clicking on a UI.
Some AWS tasks cannot be performed in the UI at all, and will require the CLI. So an understanding of how CLI’s work can be beneficial, such as how to pass arguments to a CLI, and how to compose CLI commands together.
3. Access Keys & Security
An important part of working with AWS is granting safe access to it. A lot of actions that you’ll perform within AWS will be through use of what’s called an access key and secret. These are much like a username and a password.
However, you’ll want to be VERY careful what you do with these access keys right from the start. If they fall into the wrong hands, it can be be very costly. I was once charged thousands within a day of my credentials getting hacked.
Understanding basic security, and best practices for secrets management and how to look after your credentials can help you to avoid making any costly mistakes, getting your account hacked and getting large, surprise bills.
For more understanding about accessing AWS through access keys, and how to keep them safe, check out: AWS access keys — 5 Tips To Safely Use Them.
4. Infrastructure As Code
Infrastructure as code is the practice of defining technical infrastructure (such as AWS resources) via code files. Defining infrastructure as code has many benefits, such as applying review processes to infrastructure roll out. And the ability to go back to previous infrastructure definitions.
Whilst infrastructure as code isn’t mandatory for learning AWS (since many tasks can be performed via their interface), the manual approach should be treated with caution, as amongst many other downsides, you can easily lose track of what you’ve done and leave expensive resources running.
It’s for these reasons that I strongly suggest learning infrastructure as code as early as possible when learning cloud computing. I’ve talked about why I suggest this before, and if you’re interested, check out: 5 Important Reasons To Learn Terraform Before Cloud Computing.
There are many ways to implement infrastructure as code, you can use the AWS infrastructure as code service CloudFormation, a tool from AWS called the AWS CDK, or there are other third party tools which you can use, like Terraform.
For more on infrastructure as code, check out my article: Infrastructure As Code: An Ultimate Guide
5. Programming
Of course, it’s no secret that AWS is popular with technical companies and software engineers. So you might be wondering how much programming is required in order to learn AWS—this is a very common question.
Like all the other items on this list, programming is not required in order to learn AWS. Some services will require you to understand programming to use them, such as AWS Lambda, whilst others, such as AWS S3, do not.
However, if you are looking to get into a software engineering career, it would make sense to start learning programming before, or even at the same time as starting to learn AWS.
For a more in-depth understanding of when you’ll need to code within AWS, I can recommend my article: Does AWS Require Coding? Understanding When You Might Need To Code.
Now It’s Time To Learn AWS
And that brings us to the end of our article for today. These areas are just a handful of the more important pre-requisites which could help you on your way to understanding and learning AWS more quickly.
Remember, areas are not essential. Most AWS training resources will explain any pre-requisite knowledge. But maybe you’re the type of person which likes to have a full understanding, in which case are good topics to look into.
If you’re looking to get started learning AWS, I can recommend you check out my article: Where (And How) to Start Learning AWS as a Beginner which (at the time of writing) is the most read article on my website.
The post What Are The Pre-Requisites To Learning AWS? 5 Topics You Probably Should Look Into First. appeared first on The Dev Coach.
Lou is the editor of The Cloud Native Software Engineering Newsletter a Newsletter dedicated to making Cloud Software Engineering more accessible and easy to understand. Every month you’ll get a digest of the best content for Cloud Native Software Engineers right in your inbox.