To understand how Amazon really got to where they are today to where they can
have one of the world's largest
Software applications largest most visited web pages in the world and never go
down
We really need to start and spread this content out over a few different videos
We're gonna start by talking about the biggest thing that they did and that was
designing
for cloud
Scale and it's kind of funny and it's kind of interesting because Amazon well WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Scale and it's kind of funny and it's kind of interesting because Amazon well
Invented the cloud. That's really where AWS sprung out of but really the idea
here is Amazon
Understood quickly. What does it mean to get an application?
globally accessible very
Performant and deliver updates all the time that doesn't break it
Because they were so good at it. They deployed massive amounts of WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Because they were so good at it. They deployed massive amounts of
infrastructure all around the world and
Then effectively told the world hey you can copy our blueprint
Just rent your servers on demand
From us using this thing called AWS. That's really how the cloud came to be it
really started here
So let's start talking about the biggest thing one of the biggest things that
they did in the good old days
we had what we called a WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
we had what we called a
monolithic
application and the idea here is we would have one server
That had the web front end. I'm gonna call this FE
It had the application or business logic tier
Which is well, I'll explain that in a second and then it had the database and
All of this was bundled and packaged into a single app and WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
All of this was bundled and packaged into a single app and
Shipped to you know one or two servers for redundancy purposes now this part
right here the application tier may be
Confusing to you. I want you to think about what happens when you click buy now
Well when you click buy now
This is a button that you see in the front end
But the button actually does something doesn't it it will send a request to the
Back end I'm gonna put that right here for simplicity sake and the back end WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Back end I'm gonna put that right here for simplicity sake and the back end
handles things like charging the credit card
Storing the order in a database and getting the information to shipping and
logistics
That's all the back end and the application tier itself
It's called the app tier because this is where the application
Actually
Executes the commands that you say it to do the front end is just a visual way
of doing it
This is just a website the website doesn't have all this business logic built WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
This is just a website the website doesn't have all this business logic built
into it
It just says if you click this button
Call this back end application with this data, you know that we're ordering
this hat right here and let the application take it from there
That's what the app tier does so we used to call this the three
tier
application front end app tier and then database to store all the data of like
Transactions and order details and whatever WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
And it was usually a monolithic application the problem with this is when we
need to change
Any component at all the web front end the app tier and the database if this
was all bundled into a single application
We have to change any component at all. We have to take all of this offline
to do that
So if we wanted to do something as simple as changing, you know the the color WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
So if we wanted to do something as simple as changing, you know the the color
scheme on the
You know search bar right here
Guess what that means we're taking down the application and we're taking down
the database and all
Productivity in the app stops at that moment
So the big thing that Amazon did is they say wait a minute. Why are we doing it
that way?
What if what if we took every single component of this application and
broke it out into its own application WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
broke it out into its own application
So now what we'll have is the search bar
Will be an app
like this and then the
shopping cart
will be an app and then the
display
Will be an app and then the you know picture
Thatcher WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Thatcher
Like where did this image of this hat come from that will be an app and then
the delivery
time frame
based on where it's shipping to that will be an app and
The ability to find other sellers on Amazon that will be
They perform a very small piece of what this application does WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
They perform a very small piece of what this application does
and
With a large company like Amazon
We can dedicate whole teams to working on a single individual
service so they are only focused on delivering updates for their tiny little
application all the time and
Because we built a DevOps lifestyle and workflow we can deliver those small
updates
Rapidly without ever taking down the application. How do these things all work WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Rapidly without ever taking down the application. How do these things all work
together?
API's the add to cart button will call the shopping cart API and let them know
to add this product that we've navigated to
They're constantly sending data back and forth to each other
But a fault on one of these servers right here
Neither takes down the whole service nor the application itself WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
Neither takes down the whole service nor the application itself
Because these applications are so small we don't have to provision tremendous
servers or massive scale compute
We can provision tiny footprints of an entire data center to just managing the
shopping cart and then we can globally
Distribute it and load balance it that way it makes scaling to a very large
size WEBVTT X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000
size
globally incredibly easy by breaking big applications down into tiny
Applications and then focusing on optimizing those tiny applications
So the first thing to understand about a cloud scale architecture is to break
an application down into tiny pieces called microservices
[BLANK_AUDIO]