If you understand how a brewery works, you may understand Amazon Web Services (AWS).
When you’re working on building your first web app, you always hear about the ease of launching a new product compared to years past.
People would say, “Back in my day, you had to buy your own server and configure it yourself!”
Or, “We’ll be up all night debugging the latest issue with our server infrastructure.”
Fortunately, those days are long gone. If you know what you’re doing, you can deploy your new web app in under an hour for $10 a month.
But, there is a small problem. Standard tools like Amazon Web Services (AWS) can be too complicated, at least for a novice. While they offer incredible potential to scale from your first users to hundreds of millions of users… they also require some configuration.
I wanted to know about all the major options that AWS offers. After thinking about it for a few hours, I realized that the AWS ecosystem is largely the same with all the different parts of the brewery.
So, here’s how 5 popular AWS tools work behind the scenes of a web app. I’ll also explain Heroku, a popular tool for deploying web apps that offers less flexibility but is easier to get started with.
The official video from AWS gives some context about the tools we’ll be discussing:
To understand this tutorial, you just need to understand the concept of client-server model, which you can learn more about here.
Amazon Web Services Reference
Let’s imagine that you are a fan of beer making. You start making wine for yourself and friends in your kitchen. Soon, word gets out about your delicious work. To meet the growing demand, you decide to rent some equipment and space in a warehouse to see if you can build a full-fledged company. You will take orders from distributors, restaurants and independent businesses.
In the example above, an order comes in from a customer – one of the restaurants or distributors. This is called a request. Your brewery will deliver the order and collect payment via invoice. It’s called reaction.
Similarly, web browsers send requests to the server based on the actions taken by the users. The server gives the required information through a response.
This is of course just a high-level approach. We’re going to dig into all the different processes that happen on the server side in AWS discovery. In our brewery analogy, we’re assuming that orders are already coming in left and right. Now our job is to organize an entire brewery so that we can deliver those orders reliably.
Heroku Explained – A Very Simple Alternative to AWS
Before we get into Part 5 of AWS, you should probably be aware of the simpler alternative. Heroku manages many of these systems for you. In fact, it is built on top of the AWS infrastructure.
Heroku allows you to deploy new versions of your app directly from your command line using git push heroku master. It also has a rich library of add-ons that allow you to add new functionality to your dyno, or virtual server.
Heroku is like hiring a third party contractor to manage your brewery. All you need to do is provide the recipe, and this contractor will use their expertise in brewing operations to produce the beer. They provide the team, equipment and relationships with suppliers.
This may sound miraculous. Now you can spare all that painful time and energy that you would need to spend on learning how to run a brewery! But there are two reasons to be careful.
Heroku has the same pros/cons. It’s a bit more expensive but allows you to get started right away. If you grow up, you may need to move your services to AWS, which will mean you’ll have to learn the AWS system anyway.
With that, let’s get into the different tools within AWS.
aws storage device
This is the first of three categories that are going to sound the same, so gear up! Within our brewery, there are a lot of stable assets that don’t change but are essential to making any type of brew. Think of machinery, assembly lines, or power tools that workers use. You cannot take these items apart and reassemble them. But, they can be used over and over again and still be useful.
It is like Amazon S3. S3 is a cloud service that allows you to store static assets like images. It stands for Simple Storage Service.