AWS (Amazon Web Services) is a cloud computing platform popular with tech companies and engineers. When it comes to working with AWS a question that comes immediately to most people is: âWill I need to code to use AWS?â
Does AWS require coding? No. Getting started with and learning AWS does not require any coding skills, many basic tasks can be performed without coding. However dependent on the job / skills you have (or need) you may still be required to learn some programming skills.
As always, thereâs some nuances to the question. Whilst I might not know your exact personal circumstance, we can still look at examples of tasks you can complete in AWS with and without coding skills, and we can also go through and understand the situations that require coding and why.
Why AWS Sometimes Doesnât Require Coding
AWS Services List
In some circumstances working with AWS doesnât require coding. AWS is mainly interacted with in one of two ways: manually through clicking in the AWS UI, or programmatically via an infrastructure as code tool, which means defining cloud configuration instructions in text files.
Itâs common that newcomers donât create their AWS infrastructure via code, but instead use the UI. And many tutorials usually show the UI approach, as thatâs one of the most straight-forward ways to learn AWS.
However, be warned, just because AWS can be used manually though the UI doesnât mean that approach is recommended for professional situations. In fact, thes topic of manual configuration vs code configuration is so important that I really think we should discuss it before we go further.
Why You Shouldnât Do Things Manually
Manually creating things within AWS is possible, you can use the UI to create infrastructure, and complicated setups can all be done through the UI. This is also how a handful of companies operate.
However, whilst there are companies that create cloud infrastructure manually, itâs generally not advised and is considered an industry bad practice. Creating resources manually soon becomes hard to track and manage.
There are numerous benefits to storing configurations as code, teams can easily review changes before they are made, track and understand when previous changes were made and why, and also go back in time to past configurations.
Many newcomers to AWS often complain that the UI is missing features and is confusing. But this isnât an oversight from AWS, itâs because they encourage AWS users to interact via infrastructure as code tools instead of using the UI.
I must say though, that AWS is best when mostly used in scripts, not in the UI. IMO this is a common misconception (the UI is mostly a second class citizen). The UX of the infra as code is a lot more consistent than the UI.
At this point thereâs something important which I must address. Weâve talked mostly about infrastructure as code, but is in fact another type of coding, called application coding.
Itâs important we distinguish between these types of coding as it will impact whether or not youâll need to learn to code. Letâs take a look at the differences and why it mattersâŚ
I often encourage newcomers to AWS to learn infrastructure as code as early as possible, if youâd like to know why, check out the article: 5 Important Reasons To Learn Terraform Before Cloud Computing.
Application Coding vs Infrastructure Coding
Coding comes in all shapes and sizes, but when it comes to AWS specifically, coding can be categorised into two large groups: infrastructure coding, and application coding. Letâs look at the difference between these two typesâŚ
What is Application Coding?
JavaScript Code
First up, application coding is the type of coding that most people think of when they think of coding. Itâs the coding which allows us to, for instance, automate a repetitive task or even write a website.
Typically application coding heavily relies on logic, such as if/else statements to âforkâ code dependent on some condition, or loops which repeat tasks a number of times. Itâs the logic within coding that many find daunting or confusing.
But there is another type of codingâŚ
What is Infrastructure Coding?
Infrastructure coding on the other hand, as the name suggests is dedicated to the sole task of writing infrastructure configurations. Infrastructure configurations can be thought of simply as sets of instructions that create infrastructure. And in our context our infrastructure is our cloud setup.
Infrastructure coding, unlike application coding generally doesnât involve much logic, itâs not very common see things such as if/else statements or looping going on in infrastructure as code. So in some ways infrastructure coding can be considered more straight-forward (but that doesnât make it âeasyâ!).
So when it comes to answering the question of whether youâll need coding for AWS, youâll also need to consider what types of things youâll be doing in AWS.
Are you intending just to create infrastructure? Or do you want to also create applications within that infrastructure? Weâll discuss in more detail soon about how you can decide what types of coding youâll need and why.
Now that we understand that AWS can be used manually to create infrastructure (but itâs not recommended), letâs address the question of whether we need to code from a slightly different angle, and take a look at some different tasks in AWS, and whether or not they would require coding skills, and why.
If youâre interested in cloud engineering, Iâve also written about a similar topic which you should check out: Do Cloud Engineers Code?
AWS Tasks That Donât Require Coding
To help answer our question, it will be useful for you to see which things you can do in AWS with or without coding. Letâs first take a look at a couple of common tasks that you can perform in AWS which donât require coding.
Creating a WordPress website
Creating websites is a common task that AWS is used for, and the most popular platform on the internet is WordPress. It is possible to create a WordPress website within AWS fairly simply without any coding experience at all.
How? By using an AWS feature called the marketplace where vendors can sell pre-made, ready-to-launch machine images which are simple to provision and can be done without coding. There are many other images in the marketplace too, for launching off-the-shelf blogging, wikiâs, photo storage servers.
Using AWS to store files
Another common task for AWS is to be used as file storage. File storage can then be used by all areas of a business to store videoâs, text file, images, etc. These files are then easily distributed on the internet or internally in a company.
Setting up a file storage system on AWS S3 (Simple Storage Service) can be done without coding skills. Itâs possibly to interact with the file storage through one of the many clients and GUIâs that exist, such as Cloud Mounter.
Okay, so that covers a couple of tasks that we can complete in AWS that donât require coding, which might have you thinking: âOkay, so what tasks do require coding?â. Letâs look at that nowâŚ
AWS Tasks That Do Require Coding
The following tasks within AWS do require coding knowledge:
Creating a (custom) website
Building a website is a very common objective for many AWS customers. In order to build a custom website, youâre going to need to know how to code, and at the very least youâll need to know HTML. Building websites can be done in all different types of programming languages: Node.JS, Python, PHP.
AWS has many services that are provided to help make websites, services such as: S3, CloudFront, ECS, Fargate. The list goes on, thereâs lots of options.
Creating an Alexa Skill
If you want to create some custom home automation for instance, such as an Alexa Skill, youâd also need some coding skills to write the technical APIâs which power the Alexa skill.
Okay, so that gives us more of an idea of the types of tasks we can complete in AWS, and we now know that some of them require coding, and some of them donât. But weâre still left with our question of whether we need to codeâŚ
So, Do You Need To Code?
Weâve covered a lot of ground today in trying to answer the question of whether AWS requires coding. And I said at the start, the short answer is: no. There are many tasks (as weâve seen today) that can be done in AWS without coding skills.
However, it really depends on the type of things you want to use AWS for. If you want to become a cloud engineer, or work on the cloud itself then youâll need to learn infrastructure as code. If you want to build applications, youâre going to need to learn application coding.
There are of course some circumstances where youâll find yourself working with AWS and not needing coding, but to be honest with you, these situations are the exception rather than the normal (but it doesnât mean they donât exist).
So if youâre truly serious and committed to learning AWS, I recommend you at least take a look at learning infrastructure as code. Itâs not as involved as regular application coding, it could save you a lot of headaches, and it might just be the edge you need to land the job you want.
However, if youâre just getting started, donât feel too bad if youâre just using the UI to create infrastructure within AWS, just know that there are better ways to work with AWS and make a plan to look into those ideas in the future.
If youâre looking to start learning AWS, I can highly recommend taking a look at my article: Where (And How) to Start Learning AWS as a Beginner.
The post Does AWS Require Coding? Understanding When You Might Need To Code. 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.