WEBVTT

1
00:00.000 --> 00:06.070
To understand how Amazon really got to where they are today to where they can

2
00:06.070 --> 00:07.520
have one of the world's largest

3
00:07.520 --> 00:13.420
Software applications largest most visited web pages in the world and never go

4
00:13.420 --> 00:14.000
down

5
00:14.000 --> 00:19.440
We really need to start and spread this content out over a few different videos

6
00:19.440 --> 00:23.920
We're gonna start by talking about the biggest thing that they did and that was

7
00:23.920 --> 00:24.600
designing

8
00:24.600 --> 00:27.240
for cloud

9
00:27.240 --> 00:32.960
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

9
00:27.240 --> 00:32.960
Scale and it's kind of funny and it's kind of interesting because Amazon well

10
00:32.960 --> 00:40.020
Invented the cloud. That's really where AWS sprung out of but really the idea

11
00:40.020 --> 00:41.360
here is Amazon

12
00:41.360 --> 00:46.120
Understood quickly. What does it mean to get an application?

13
00:46.120 --> 00:49.280
globally accessible very

14
00:49.280 --> 00:54.240
Performant and deliver updates all the time that doesn't break it

15
00:55.040 --> 01:00.080
Because they were so good at it. They deployed massive amounts of
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

15
00:55.040 --> 01:00.080
Because they were so good at it. They deployed massive amounts of

16
01:00.080 --> 01:03.400
infrastructure all around the world and

17
01:03.400 --> 01:09.880
Then effectively told the world hey you can copy our blueprint

18
01:09.880 --> 01:13.280
Just rent your servers on demand

19
01:13.280 --> 01:20.410
From us using this thing called AWS. That's really how the cloud came to be it

20
01:20.410 --> 01:21.680
really started here

21
01:22.160 --> 01:26.360
So let's start talking about the biggest thing one of the biggest things that

22
01:26.360 --> 01:28.440
they did in the good old days

23
01:28.440 --> 01:30.440
we had what we called a
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

23
01:28.440 --> 01:30.440
we had what we called a

24
01:30.440 --> 01:33.280
monolithic

25
01:33.280 --> 01:38.320
application and the idea here is we would have one server

26
01:38.320 --> 01:43.640
That had the web front end. I'm gonna call this FE

27
01:43.640 --> 01:48.880
It had the application or business logic tier

28
01:50.080 --> 01:55.000
Which is well, I'll explain that in a second and then it had the database and

29
01:55.000 --> 02:01.480
All of this was bundled and packaged into a single app and
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

29
01:55.000 --> 02:01.480
All of this was bundled and packaged into a single app and

30
02:01.480 --> 02:07.840
Shipped to you know one or two servers for redundancy purposes now this part

31
02:07.840 --> 02:10.080
right here the application tier may be

32
02:10.080 --> 02:15.000
Confusing to you. I want you to think about what happens when you click buy now

33
02:15.000 --> 02:16.960
Well when you click buy now

34
02:16.960 --> 02:19.800
This is a button that you see in the front end

35
02:19.800 --> 02:26.360
But the button actually does something doesn't it it will send a request to the

36
02:26.360 --> 02:31.960
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

36
02:26.360 --> 02:31.960
Back end I'm gonna put that right here for simplicity sake and the back end

37
02:31.960 --> 02:34.600
handles things like charging the credit card

38
02:34.600 --> 02:39.910
Storing the order in a database and getting the information to shipping and

39
02:39.910 --> 02:40.600
logistics

40
02:40.840 --> 02:45.160
That's all the back end and the application tier itself

41
02:45.160 --> 02:49.320
It's called the app tier because this is where the application

42
02:49.320 --> 02:51.520
Actually

43
02:51.520 --> 02:56.460
Executes the commands that you say it to do the front end is just a visual way

44
02:56.460 --> 02:57.360
of doing it

45
02:57.360 --> 03:02.560
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

45
02:57.360 --> 03:02.560
This is just a website the website doesn't have all this business logic built

46
03:02.560 --> 03:03.080
into it

47
03:03.080 --> 03:05.080
It just says if you click this button

48
03:05.720 --> 03:10.760
Call this back end application with this data, you know that we're ordering

49
03:10.760 --> 03:14.840
this hat right here and let the application take it from there

50
03:14.840 --> 03:18.920
That's what the app tier does so we used to call this the three

51
03:18.920 --> 03:20.920
tier

52
03:20.920 --> 03:25.840
application front end app tier and then database to store all the data of like

53
03:25.840 --> 03:29.680
Transactions and order details and whatever
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

54
03:30.800 --> 03:37.310
And it was usually a monolithic application the problem with this is when we

55
03:37.310 --> 03:38.480
need to change

56
03:38.480 --> 03:44.020
Any component at all the web front end the app tier and the database if this

57
03:44.020 --> 03:46.480
was all bundled into a single application

58
03:46.480 --> 03:53.640
We have to change any component at all. We have to take all of this offline

59
03:53.640 --> 03:55.840
to do that

60
03:55.840 --> 04:01.280
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

60
03:55.840 --> 04:01.280
So if we wanted to do something as simple as changing, you know the the color

61
04:01.280 --> 04:03.040
scheme on the

62
04:03.040 --> 04:04.960
You know search bar right here

63
04:04.960 --> 04:08.570
Guess what that means we're taking down the application and we're taking down

64
04:08.570 --> 04:10.320
the database and all

65
04:10.320 --> 04:14.080
Productivity in the app stops at that moment

66
04:14.080 --> 04:20.830
So the big thing that Amazon did is they say wait a minute. Why are we doing it

67
04:20.830 --> 04:21.520
that way?

68
04:22.160 --> 04:28.480
What if what if we took every single component of this application and

69
04:28.480 --> 04:32.880
broke it out into its own application
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

69
04:28.480 --> 04:32.880
broke it out into its own application

70
04:32.880 --> 04:38.920
So now what we'll have is the search bar

71
04:38.920 --> 04:42.440
Will be an app

72
04:42.440 --> 04:45.520
like this and then the

73
04:45.520 --> 04:47.960
shopping cart

74
04:47.960 --> 04:51.080
will be an app and then the

75
04:51.080 --> 04:53.680
display

76
04:53.680 --> 04:57.800
Will be an app and then the you know picture

77
04:57.800 --> 05:00.240
Thatcher
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

77
04:57.800 --> 05:00.240
Thatcher

78
05:00.240 --> 05:05.890
Like where did this image of this hat come from that will be an app and then

79
05:05.890 --> 05:07.800
the delivery

80
05:07.800 --> 05:10.400
time frame

81
05:10.400 --> 05:14.840
based on where it's shipping to that will be an app and

82
05:15.360 --> 05:19.920
The ability to find other sellers on Amazon that will be

83
05:19.920 --> 05:32.600
They perform a very small piece of what this application does
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

83
05:19.920 --> 05:32.600
They perform a very small piece of what this application does

84
05:32.600 --> 05:34.600
and

85
05:34.600 --> 05:37.280
With a large company like Amazon

86
05:37.280 --> 05:42.960
We can dedicate whole teams to working on a single individual

87
05:43.480 --> 05:48.880
service so they are only focused on delivering updates for their tiny little

88
05:48.880 --> 05:51.360
application all the time and

89
05:51.360 --> 05:58.080
Because we built a DevOps lifestyle and workflow we can deliver those small

90
05:58.080 --> 05:58.720
updates

91
05:58.720 --> 06:04.560
Rapidly without ever taking down the application. How do these things all work
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

91
05:58.720 --> 06:04.560
Rapidly without ever taking down the application. How do these things all work

92
06:04.560 --> 06:05.360
together?

93
06:06.480 --> 06:14.930
API's the add to cart button will call the shopping cart API and let them know

94
06:14.930 --> 06:18.200
to add this product that we've navigated to

95
06:18.200 --> 06:22.520
They're constantly sending data back and forth to each other

96
06:22.520 --> 06:28.400
But a fault on one of these servers right here

97
06:28.400 --> 06:34.240
Neither takes down the whole service nor the application itself
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

97
06:28.400 --> 06:34.240
Neither takes down the whole service nor the application itself

98
06:36.080 --> 06:41.870
Because these applications are so small we don't have to provision tremendous

99
06:41.870 --> 06:44.240
servers or massive scale compute

100
06:44.240 --> 06:50.880
We can provision tiny footprints of an entire data center to just managing the

101
06:50.880 --> 06:53.400
shopping cart and then we can globally

102
06:53.400 --> 06:59.940
Distribute it and load balance it that way it makes scaling to a very large

103
06:59.940 --> 07:00.640
size
WEBVTT
X-TIMESTAMP-MAP=LOCAL:00:00:00.000,MPEGTS:900000

103
06:59.940 --> 07:00.640
size

104
07:01.400 --> 07:07.960
globally incredibly easy by breaking big applications down into tiny

105
07:07.960 --> 07:12.880
Applications and then focusing on optimizing those tiny applications

106
07:12.880 --> 07:18.390
So the first thing to understand about a cloud scale architecture is to break

107
07:18.390 --> 07:23.140
an application down into tiny pieces called microservices

108
07:23.140 --> 07:33.140
[BLANK_AUDIO]
