1
00:00:05,300 --> 00:00:09,060
Welcome everyone to this section of the course or we're going to focus on actually the point.

2
00:00:09,080 --> 00:00:12,650
Our web site to the internet so anyone can then visit your website.

3
00:00:13,980 --> 00:00:20,280
Or we're going to do just explore a couple of details that allow us to actually the Player Tango application,

4
00:00:20,290 --> 00:00:24,640
and I want to start off by thinking about what are the key requirements that we need when having our

5
00:00:24,640 --> 00:00:26,200
website up and running on the internet.

6
00:00:27,510 --> 00:00:31,710
Well, we first want to make sure that anyone can visit our website online, which means we don't want

7
00:00:31,710 --> 00:00:35,310
to concern ourselves with things like uptime or resiliency.

8
00:00:35,700 --> 00:00:40,740
So, for example, throughout this entire course, we've technically been hosting the website, but

9
00:00:40,740 --> 00:00:44,730
we've only hosted it locally and only let it be accessible locally.

10
00:00:45,300 --> 00:00:50,400
If you were a really good programmer and had really good internet and really robust resources in terms

11
00:00:50,400 --> 00:00:54,820
of servers and computers, you could technically host the website yourself.

12
00:00:54,840 --> 00:00:57,090
However, that's actually super complex.

13
00:00:57,090 --> 00:01:02,010
And pretty much if anything goes wrong with your local computer setup, then your website will be down.

14
00:01:02,040 --> 00:01:04,890
So clearly, we want to use some sort of cloud service provider.

15
00:01:05,670 --> 00:01:11,070
We also want to make sure that we're able to ourselves connect to that cloud server easily and that

16
00:01:11,070 --> 00:01:13,710
that cloud server supports things like Python and Django.

17
00:01:14,220 --> 00:01:18,780
The other part of this is that we need to be able to push updates to our code and have version control

18
00:01:18,990 --> 00:01:21,270
when we want to add new features to our website.

19
00:01:23,240 --> 00:01:26,420
So what we need to do is choose a cloud service provider.

20
00:01:26,570 --> 00:01:31,490
And that's essentially a company that is going to host a computer or server with our single application

21
00:01:31,490 --> 00:01:33,290
living on it along with the database.

22
00:01:33,590 --> 00:01:36,160
And I should point out, there are many cloud service providers.

23
00:01:36,170 --> 00:01:42,530
There's eight of us Google Cloud, Azure, Heroku, Lennart, and there's often a tradeoff between ease

24
00:01:42,530 --> 00:01:43,860
of use and price.

25
00:01:43,880 --> 00:01:48,920
And it doesn't really make sense for us to show an example through the dozens of cloud service providers.

26
00:01:49,250 --> 00:01:54,650
Instead, we want to do is pick one that is ideal for someone who's just gone through this course and

27
00:01:54,650 --> 00:01:56,030
then wants to launch their website.

28
00:01:57,400 --> 00:02:02,320
And a cloud provider with a really nice balance between price and ease of use is Leonard.

29
00:02:02,830 --> 00:02:07,330
And we can use Leno to set up an online server that contains or Jenga web application.

30
00:02:07,630 --> 00:02:12,880
And what's really nice about Leno is it actually has what's known as a Leno app marketplace that essentially

31
00:02:12,880 --> 00:02:18,100
allows us just to fill out a form, click a button and immediately launch a jingle project live to the

32
00:02:18,100 --> 00:02:18,430
web.

33
00:02:18,580 --> 00:02:21,550
It's super easy to use, and it's actually really affordable.

34
00:02:22,960 --> 00:02:28,240
Speaking of affordability, we actually provide you a link for $100 in line note credit.

35
00:02:28,630 --> 00:02:32,530
And I should point out that what we do throughout this section of the course, depending on how long

36
00:02:32,530 --> 00:02:35,560
you run, your website shouldn't take up the full $100.

37
00:02:37,320 --> 00:02:42,060
Now, let's talk about the fact that you will have to actually provide your credit card information

38
00:02:42,150 --> 00:02:47,520
even with a link for the line of credit, and you should note that any major cloud service provider

39
00:02:47,820 --> 00:02:52,200
is going to require your credit card information in case you go beyond the credit or free tier limits.

40
00:02:52,560 --> 00:02:56,580
And by continuing with this section of the course, you understand that you may be charged if you exceed

41
00:02:56,580 --> 00:02:57,120
the limits.

42
00:02:58,580 --> 00:03:02,450
And again, what we show in this lecture, this section of the course should easily fall within the

43
00:03:02,450 --> 00:03:07,430
$100 credit limit, but cloud services are going to be charging monthly, so eventually the credits

44
00:03:07,430 --> 00:03:08,220
will be used up.

45
00:03:08,240 --> 00:03:10,850
You can't just run this in perpetuity for free forever.

46
00:03:12,260 --> 00:03:17,000
Now, if you have any questions on pricing information or charging information, please contact your

47
00:03:17,000 --> 00:03:20,360
specific cloud hosting provider or check out your dashboard there.

48
00:03:20,810 --> 00:03:25,910
US personally are not going to give you any advice regarding payments or credit limits, and if you

49
00:03:25,910 --> 00:03:28,850
ask a question saying how much will this cost or how much will this charge me?

50
00:03:29,000 --> 00:03:33,410
We're pretty much going to have to redirect you to the cloud hosting provider and their dashboard there

51
00:03:33,440 --> 00:03:36,020
because we want to make sure that you get the most accurate information.

52
00:03:36,260 --> 00:03:37,220
So just keep that in mind.

53
00:03:37,370 --> 00:03:40,160
We can't really answer questions about pricing information.

54
00:03:40,400 --> 00:03:45,650
You'll have to explore those yourselves depending on your situation, the instance you end up running

55
00:03:45,650 --> 00:03:48,080
and creating and your cloud hosting provider.

56
00:03:48,800 --> 00:03:51,560
Now that was the information on the cloud service provider.

57
00:03:51,980 --> 00:03:57,950
Remember, we also need version control for the actual code underlying our website, and we want to

58
00:03:57,950 --> 00:04:01,560
wait to be able to edit or website's code and keep track of those changes.

59
00:04:01,580 --> 00:04:07,550
And for this, we're going to end up using a system called Get or I.T. and that keeps track of the actual

60
00:04:07,550 --> 00:04:09,320
versions of your software.

61
00:04:09,500 --> 00:04:14,660
So version one, version two, version three and so on, and we're going to end up using GitHub to actually

62
00:04:14,660 --> 00:04:15,590
store our code.

63
00:04:15,980 --> 00:04:17,660
So sometimes beginners are confused on this.

64
00:04:17,959 --> 00:04:25,040
Git is the actual open source version control system and Gets Hub is technically a subsidiary of Microsoft,

65
00:04:25,280 --> 00:04:29,820
which allows you to beyond a certain free tier, actually just host code for free.

66
00:04:29,840 --> 00:04:35,090
So we'll be using that and then in turn will be using it to push and pull changes to our website.

67
00:04:35,960 --> 00:04:39,950
Now, I want to quickly visualize our website hosting structure and version control structure so we

68
00:04:39,950 --> 00:04:41,240
understand everything that's going on.

69
00:04:42,500 --> 00:04:47,180
So we're essentially going to start up a server using Lennart and within that server.

70
00:04:47,180 --> 00:04:51,650
You can think of this as just a really small computer or really large computer, depending on the actual

71
00:04:51,650 --> 00:04:53,210
instance you and the purchasing.

72
00:04:53,570 --> 00:04:58,820
And within that server, that little virtual computer, we end up creating our jungle web application.

73
00:04:58,940 --> 00:05:04,160
This is essentially everything we've just did locally, except now we're doing it on a computer that's

74
00:05:04,160 --> 00:05:05,420
being hosted by Lenovo.

75
00:05:06,290 --> 00:05:10,070
And that way, the user browser can then access the server.

76
00:05:10,070 --> 00:05:15,170
Hey, show me this Django web application at the specific IP address, which you could later redirect

77
00:05:15,170 --> 00:05:16,430
to your own custom domain name.

78
00:05:17,820 --> 00:05:21,470
And again, we're using Leno for this aspect of the cloud service provider.

79
00:05:22,560 --> 00:05:28,080
Next, we also want to do is make sure that we actually are able to update our code, so we set up what's

80
00:05:28,080 --> 00:05:34,350
known as it gets repository, which includes a copy of the website code that I can then make changes

81
00:05:34,350 --> 00:05:34,710
to.

82
00:05:34,710 --> 00:05:39,360
And when I'm ready to actually deploy those changes, I can connect them to the tangled web application.

83
00:05:39,720 --> 00:05:45,330
This allows me to edit the code that's being hosted on GitHub without having to worry of breaking the

84
00:05:45,330 --> 00:05:47,460
website if I'm trying to test out new features.

85
00:05:47,730 --> 00:05:53,130
I can just mess around with what's being hosted on GitHub and then when I feel it's ready after testing

86
00:05:53,130 --> 00:05:56,610
it locally, I can push it to the Django Web app that lives on the server.

87
00:05:57,720 --> 00:06:03,120
And I should note that it's going to be slightly more complicated than what I show here in order for

88
00:06:03,120 --> 00:06:05,190
our computer to actually connect to the server.

89
00:06:05,400 --> 00:06:10,350
We need to use what's known as an SSA connection, and we'll talk about that later on when we actually

90
00:06:10,350 --> 00:06:13,460
deploy our Django app using the Linux marketplace.

91
00:06:13,470 --> 00:06:14,460
But just keep that in mind.

92
00:06:14,670 --> 00:06:19,740
There is going to be a special, secure connection that we can make to our server in order to actually

93
00:06:19,740 --> 00:06:23,820
edit things that are happening on that server, rather than just viewing the actual website.

94
00:06:25,080 --> 00:06:29,750
OK, so we're going to start off by setting up our Jingle Web application, using what's known as Notes

95
00:06:29,760 --> 00:06:33,720
Marketplace, I think you're really going to like how easy it is to use and this will do again, a lot

96
00:06:33,720 --> 00:06:35,250
of setup work for us automatically.

97
00:06:35,280 --> 00:06:39,840
It's actually going to automatically start a new jingle project and link it to an IP address on the

98
00:06:39,840 --> 00:06:40,720
web at a port.

99
00:06:40,740 --> 00:06:44,460
So it's super cool about this is pretty much thing like a few minutes.

100
00:06:44,730 --> 00:06:49,710
You're going to have a jingle project already set up live on the web that you can visit from anybody's

101
00:06:49,710 --> 00:06:50,130
browser.

102
00:06:50,310 --> 00:06:53,070
It's super cool, so I'm excited to get started on it.

103
00:06:53,340 --> 00:06:54,690
All right, I'll see you at the next lecture.

