1
00:00:02,070 --> 00:00:04,520
Now let's start at the basics.

2
00:00:04,520 --> 00:00:08,440
How can we publish our website to the world?

3
00:00:08,440 --> 00:00:12,400
Well, for this, your website must be hosted

4
00:00:12,400 --> 00:00:15,460
on some remote machine as it's called.

5
00:00:15,460 --> 00:00:16,920
Now, what does that mean?

6
00:00:16,920 --> 00:00:20,760
It simply means that we have our website code

7
00:00:20,760 --> 00:00:24,810
and our website code lives on our local machine right now,

8
00:00:24,810 --> 00:00:29,240
which typically doesn't accept external HTTP requests.

9
00:00:29,240 --> 00:00:31,630
And we don't want our local machine

10
00:00:31,630 --> 00:00:34,840
to accept external HTTP requests

11
00:00:34,840 --> 00:00:37,293
as this would pose a security issue.

12
00:00:38,170 --> 00:00:42,060
Instead, we wanna keep our code on our local machine

13
00:00:42,060 --> 00:00:44,100
and work on it and test it

14
00:00:44,100 --> 00:00:47,650
as long as we are, well, developing the website.

15
00:00:47,650 --> 00:00:49,070
But of course, at some point,

16
00:00:49,070 --> 00:00:52,080
we wanna expose our website to the world.

17
00:00:52,080 --> 00:00:54,440
Because we wanna enable visitors,

18
00:00:54,440 --> 00:00:58,550
people from all over the world to view our website

19
00:00:58,550 --> 00:01:01,180
and they can't access our website code

20
00:01:01,180 --> 00:01:03,490
as long as it's on our local machine.

21
00:01:03,490 --> 00:01:06,400
This is not possible because as mentioned,

22
00:01:06,400 --> 00:01:09,420
our local machine typically does not allow

23
00:01:09,420 --> 00:01:11,723
external HTTP requests.

24
00:01:12,580 --> 00:01:16,530
Now I will say you could configure your local computer

25
00:01:16,530 --> 00:01:20,740
and network such that it does allow external requests

26
00:01:20,740 --> 00:01:22,960
because in the end, the remote machines

27
00:01:22,960 --> 00:01:25,280
we're going to move our code to later

28
00:01:25,280 --> 00:01:29,050
are just regular machines that are configured such.

29
00:01:29,050 --> 00:01:31,500
But unless you really know what you're doing,

30
00:01:31,500 --> 00:01:34,830
you don't wanna fiddle with your local computer

31
00:01:34,830 --> 00:01:38,580
or network configuration to allow external visitors

32
00:01:38,580 --> 00:01:40,730
because as mentioned before as well,

33
00:01:40,730 --> 00:01:44,023
this can quickly introduce security problems.

34
00:01:45,180 --> 00:01:48,090
So therefore, instead, the goal is to deploy,

35
00:01:48,090 --> 00:01:52,740
which basically just means to upload our website code

36
00:01:52,740 --> 00:01:56,430
onto some remote machine that is configured

37
00:01:56,430 --> 00:01:59,930
to take external HTTP requests.

38
00:01:59,930 --> 00:02:02,230
So we wanna have our deployed website code

39
00:02:02,230 --> 00:02:04,590
on such a remote machine.

40
00:02:04,590 --> 00:02:06,030
And that remote machine

41
00:02:06,030 --> 00:02:07,900
and therefore the code on that machine

42
00:02:07,900 --> 00:02:11,450
will then be accessible by external visitors

43
00:02:11,450 --> 00:02:13,830
and therefore people from all over the world

44
00:02:13,830 --> 00:02:16,023
will be able to see our website.

45
00:02:17,660 --> 00:02:22,200
Now, this remote machine is typically not configured by us

46
00:02:22,200 --> 00:02:24,890
because it's not an easy task.

47
00:02:24,890 --> 00:02:25,723
You could do it

48
00:02:25,723 --> 00:02:29,160
if you are an experienced network administrator.

49
00:02:29,160 --> 00:02:31,840
You could definitely build your own computer,

50
00:02:31,840 --> 00:02:33,570
configure it correctly,

51
00:02:33,570 --> 00:02:36,630
connect it to a network and configure that as well,

52
00:02:36,630 --> 00:02:38,420
and then build your own computer

53
00:02:38,420 --> 00:02:40,450
that is exposed to the world.

54
00:02:40,450 --> 00:02:42,690
But typically, we don't do that

55
00:02:42,690 --> 00:02:45,270
because it's definitely not easy,

56
00:02:45,270 --> 00:02:47,660
but instead easy to mess up.

57
00:02:47,660 --> 00:02:50,640
Because if we would wanna do that on our own,

58
00:02:50,640 --> 00:02:52,580
we, of course, would have to take care

59
00:02:52,580 --> 00:02:54,690
about having proper hardware,

60
00:02:54,690 --> 00:02:56,720
about installing all the software

61
00:02:56,720 --> 00:02:58,440
and configuring all the software

62
00:02:58,440 --> 00:03:00,930
that might be needed behind the scenes.

63
00:03:00,930 --> 00:03:03,860
We would have to deal with the network configuration

64
00:03:03,860 --> 00:03:07,400
and with exposing the proper ports on our machine

65
00:03:07,400 --> 00:03:11,250
so that external requests can reach those ports.

66
00:03:11,250 --> 00:03:14,980
And, of course, we would have to deal with security issues.

67
00:03:14,980 --> 00:03:18,540
So definitely nothing we wanna do on our own typically.

68
00:03:18,540 --> 00:03:22,200
And instead, there are dedicated hosting providers,

69
00:03:22,200 --> 00:03:26,080
companies out there which sell hosting,

70
00:03:26,080 --> 00:03:29,730
so the offering of such pre-configured machines

71
00:03:29,730 --> 00:03:30,793
as a service.

72
00:03:31,660 --> 00:03:34,630
And therefore, we can just pay those providers

73
00:03:34,630 --> 00:03:37,970
to get access to a readily configured machine

74
00:03:37,970 --> 00:03:40,750
onto which we can upload our code.

75
00:03:40,750 --> 00:03:43,460
And thankfully, there are even providers

76
00:03:43,460 --> 00:03:45,250
that let us get started for free

77
00:03:45,250 --> 00:03:47,770
and we'll have a look at such an example provider

78
00:03:47,770 --> 00:03:50,030
throughout this course section.

79
00:03:50,030 --> 00:03:51,800
Though I will say already,

80
00:03:51,800 --> 00:03:54,260
if you Google for a hosting provider

81
00:03:54,260 --> 00:03:58,690
or something like host a website,

82
00:03:58,690 --> 00:04:02,520
you will find dozens and hundreds of results,

83
00:04:02,520 --> 00:04:04,970
advertisements and regular results

84
00:04:04,970 --> 00:04:07,480
of hosting providers you could use

85
00:04:07,480 --> 00:04:09,970
and of blog articles and comparisons

86
00:04:09,970 --> 00:04:12,920
that walk you through different hosting providers.

87
00:04:12,920 --> 00:04:16,230
And, of course, it's way beyond the scope of this course

88
00:04:16,230 --> 00:04:18,779
to compare all those hosting providers.

89
00:04:18,779 --> 00:04:21,860
There basically is an infinite amount of those providers.

90
00:04:21,860 --> 00:04:23,110
But instead it's up to you,

91
00:04:23,110 --> 00:04:26,060
if you're serious about deploying a website

92
00:04:26,060 --> 00:04:28,230
to go through a couple of different options

93
00:04:28,230 --> 00:04:31,280
and find out which option you prefer.

94
00:04:31,280 --> 00:04:33,410
Of course, all those hosting providers

95
00:04:33,410 --> 00:04:35,730
typically allow you to host a website,

96
00:04:35,730 --> 00:04:38,770
but then some providers have some extra services.

97
00:04:38,770 --> 00:04:40,960
Some providers give you more control,

98
00:04:40,960 --> 00:04:45,180
whereas others gives you less control and so on.

99
00:04:45,180 --> 00:04:47,810
You can, of course, always switch a hosting provider

100
00:04:47,810 --> 00:04:51,380
even after you chose one if you wanna migrate your website

101
00:04:51,380 --> 00:04:53,463
to a different provider in the future.

102
00:04:54,320 --> 00:04:57,010
But for the moment, that's it about hosting providers.

103
00:04:57,010 --> 00:05:00,140
We will later use one together in this course section,

104
00:05:00,140 --> 00:05:01,690
but before we do that,

105
00:05:01,690 --> 00:05:04,230
we'll have to prepare our website a little bit

106
00:05:04,230 --> 00:05:05,970
and we'll have to learn a bit more

107
00:05:05,970 --> 00:05:09,440
about choosing a proper hosting provider

108
00:05:09,440 --> 00:05:12,960
because it turns out that there is one important difference

109
00:05:12,960 --> 00:05:14,213
you should be aware of.

