AWS Learning Hub

From your friends at AI: Batteries Included

Understanding AWS from Zero

Through our short lessons, we'll help break down AWS' numerous products and services to help you start building your dream website on your own terms.

As a new web developer with an idea for a website, you're like a baker with an idea for a great peach cobbler.

SVG component
← Web dev
SVG component
Baker →

Our plans often don't begin fully fleshed out, but benefit from a few ideas of features we want on display.

Here, we think about the creation process and what we want on display. What components do we need to make our end product more than usable, but enjoyable?

Traditional or modern?

Feature-rich or simple?

Language choice?

Just as the baker considers things like cubed vs sliced peaches, we as web developers can consider things like the language we'll use, components we want on display, and more. This is our technical stack.

Our choices here don't need to be permanent -- we'll be able to make changes according to our taste/testing down the line!

What does the baker do when they've refined a set of ideas that seem to make a good cobbler? They'll write it down into a recipe -- which is a quick way to say that they convert their own ideas into a standardized way for you or other people to experience them.

SVG component

In our case, we have a package of code that we can use to compile a viewable website.

SVG component

In the baker's case, they have a package of a recipe and ingredients that they can use to assemble a peach cobbler.

In both cases, we used standardized language to describe how to create our idea. However, we're both currently limited in our reach: if anyone wants access to our product, they'll need to ask us to give them the repository/recipe each time.

When we're making changes to our projects, we want to be able to save and track our changes over time.

SVG component

Version 1

Version 1 is clunky, but it works

SVG component

Version 2

Version 2 builds upon that

SVG component

Version 3

Version 3 breaks everything!

Version control lets us isolate our changes to branches over time, letting us revert to an earlier version if we change our mind on something (or, in many cases, if we break the entire thing).

The baker learns about a free program: their local Library accepts copies of their recipe, even storing the ingredients someone else would need to make it on their own.

[Illustration placeholder]

The Library isn't making the cobbler, displaying it, or advertising it. They're storing the latest version of the recipe kit provided, keeping track of the changes made to it, and freely giving the recipe kit to anyone who requests it.

For developers, the Library is like GitHub. We can take the code that compiles our webpage locally, upload it to GitHub, and use its branch features to test and implement any changes we make.

[Illustration placeholder]

GitHub, like the Library, will store our packaged data as long as we push, stage, and commit our changes -- and, if we allow it, give those who request it the ability to download our code.

The baker, while ambitious, would rather not use their home to make and display all of their finished peach cobblers.

SVG component

They may not have experiencing providing services at scale

SVG component

Their home appliances aren't designed for such workloads

SVG component

They'll need to devote much more time away from baking

This mirrors our position here as a developer: we could use our own time, effort, and tools to host our website live on the Internet, but we would have great difficulty scaling it.

SVG component

Our goal at the early stage of creating our website is to focus our energy into technical planning and the creative process around our user experience.

If we decided to go the route of hosting our website ourselves and creating our tools from scratch, we'd have far less ability to focus on our goal of creating our project with speed.

So, how can we avoid this?

We can use Amazon Web Services to streamline uploading and storing our website, securing our domain, introducing functionalities like email services, and more.

SVG component

For the baker, using AWS is like starting a contract with a huge chain of bakeries that offers to produce and display other people's baked goods -- it takes the weight off of the individual to manage and maintain the systems needed to realize their project, giving them more ability to focus on their original scope.

S3

Massive pantries and arrays of ovens that scale with demand

CodeBuild

In-house test kitchens that analyze new recipe changes

CloudFront

Chains of storefront locations that deliver fresh to local customers

Route 53

Manages your branding so people can find your stuff by name

SES

Automate notifications, confirmations, etc. with customers

IAM

Ensures that only you and those you've approved make changes

With a live, functioning website using AWS products, we can offer our audience a way to access our services and information from anywhere with an internet connection.