WEBVTT

00:00.120 --> 00:01.520
Wait, is it possible?

00:01.800 --> 00:02.440
Yes.

00:02.560 --> 00:02.960
Yes.

00:02.960 --> 00:03.640
It's possible.

00:03.640 --> 00:06.360
You made it to week three, day one.

00:06.400 --> 00:08.920
You've made it to the biggest week of the course.

00:08.920 --> 00:11.320
You've made it to the finale week.

00:11.600 --> 00:13.480
This is going to be huge.

00:13.680 --> 00:14.200
This.

00:14.520 --> 00:16.080
This is the week where.

00:16.080 --> 00:19.560
Where you earn the right to put on your black belt with N810.

00:19.600 --> 00:21.160
You are going to become a pro.

00:21.200 --> 00:23.720
We're going to be doing some serious stuff.

00:23.720 --> 00:26.120
We're going to be amplifying your business.

00:26.160 --> 00:27.960
It's all about to happen.

00:27.960 --> 00:30.120
So what is week three all about?

00:30.120 --> 00:33.600
Week three is about getting advanced.

00:33.640 --> 00:36.840
Week three we're going to we're going to do some self-hosting stuff today.

00:36.840 --> 00:38.320
We're going to do advanced integrations.

00:38.320 --> 00:45.400
We're going to look at MCP, such a hot topic and then context engineering and Subagents.

00:45.400 --> 00:51.680
It's about getting more sophisticated with what we build as workflows and then and then a capstone project

00:51.680 --> 00:57.440
to look at ways that you could be not just automating a business, not just accelerating your business,

00:57.440 --> 01:03.620
but actually amplifying your business, able to do much greater things than were previously possible.

01:03.660 --> 01:10.020
Being being able to truly differentiate your business or your client's business through the use of n-r10.

01:10.060 --> 01:11.340
Well, there's no time to dawdle.

01:11.340 --> 01:12.820
Let's dig straight in.

01:12.860 --> 01:15.420
We're not going to any recaps this time.

01:15.420 --> 01:17.260
We're going to get straight to action.

01:17.300 --> 01:19.900
Cloud versus self-hosted.

01:19.980 --> 01:28.820
So far we have been doing everything on cloud at I o and it was very quick to get started.

01:28.820 --> 01:29.100
Right.

01:29.140 --> 01:30.500
It was really simple.

01:30.660 --> 01:36.060
And similarly it takes care of all the maintenance for us, upgrading the versions, keeping things

01:36.060 --> 01:37.740
up to date, keeping things running.

01:37.900 --> 01:44.300
It's all handled on their cloud, on their hardware, by any one of the things that we were doing a

01:44.300 --> 01:50.300
lot last week was, was webhooks, where third parties call it in to our infrastructure, and if we're

01:50.300 --> 01:55.540
running on the cloud, then that's really easy because Nan has URLs that they provided us with.

01:55.580 --> 01:59.500
You remember that the test and production, and we could just give them to a third party and it could

01:59.500 --> 02:00.540
call into Nan.

02:00.700 --> 02:06.270
And Nan gave us a long webhook and took care of the fact that there had to be forwarded in to our instance.

02:06.270 --> 02:10.150
It was just all handled where webhooks can get a bit messy otherwise.

02:10.390 --> 02:15.990
And OAuth integrations, the harder kind of integrations were actually relatively easy with things like

02:15.990 --> 02:18.150
Google Sheets and Gmail.

02:18.150 --> 02:20.990
There was just something to click on and authenticate, and we were done.

02:20.990 --> 02:24.270
And I'd said that OAuth is really hard, and you might be thinking, oh, it's not that hard.

02:24.310 --> 02:29.750
Well, that's because we're running on net and cloud, and it's taking care of a lot of the heavy lifting

02:29.750 --> 02:30.510
for us.

02:30.870 --> 02:32.830
But there are some downsides of course.

02:33.070 --> 02:35.270
First of all, there's the subscription pricing.

02:35.270 --> 02:40.070
We've been on the free plan, or at least I have the free trial, which is like a 14 day or something,

02:40.070 --> 02:41.870
and it runs out and then you have to pay.

02:42.110 --> 02:44.230
And there's various plans, of course.

02:44.230 --> 02:47.830
And the lowest one is, I think, $20 or £20 a month.

02:47.990 --> 02:51.910
Uh, and it has uh, has some constraints in terms of what you can do.

02:51.910 --> 02:54.870
And then you can tick up to higher paying plans.

02:55.030 --> 02:57.630
And of course there's a bit less control.

02:57.670 --> 02:59.950
It's not like you're running everything yourself.

02:59.950 --> 03:05.650
So there are some constraints on what you can and can't do, and also privacy for people that want to

03:05.690 --> 03:11.810
keep all the data on their computers and be completely in control of everything when it comes to privacy.

03:11.850 --> 03:13.130
Well, you're not doing that.

03:13.130 --> 03:16.970
You're running your software on any infrastructure.

03:16.970 --> 03:24.850
And of course, no surprise at all the positives of running locally, yourself or self-hosting is the

03:24.890 --> 03:26.250
sort of flip of that.

03:26.450 --> 03:31.130
Uh, it's it's free, uh, but it's at least under the fair code license.

03:31.130 --> 03:33.010
Remember, I spoke about that at the very beginning.

03:33.050 --> 03:33.530
A license.

03:33.530 --> 03:35.770
That means that you can run it for free.

03:35.810 --> 03:38.130
You can you can sell your services to others.

03:38.130 --> 03:44.970
What you can't do is directly compete with and sell the product itself to somebody else.

03:44.970 --> 03:47.050
And that's totally fair enough, I get that.

03:47.050 --> 03:48.090
I hope you do too.

03:48.090 --> 03:50.490
And that's what they call the fair code license.

03:51.010 --> 03:53.250
It's you've got total control and flexibility.

03:53.250 --> 03:57.530
If you're self-hosting, it means you're installing the open source software yourself or the fair code

03:57.530 --> 03:59.650
software yourself and you're running it.

03:59.650 --> 04:01.210
You can do what you want with it.

04:01.250 --> 04:02.370
It's it's yours.

04:02.820 --> 04:05.100
And of course, privacy is big.

04:05.140 --> 04:06.060
You're running the code.

04:06.100 --> 04:09.860
Of course, you might still be calling out to third parties, but maybe you'll be running them locally

04:09.860 --> 04:12.980
as well, so it gives you much more control of your data.

04:13.340 --> 04:18.260
But the obviously the it's harder, it's harder.

04:18.420 --> 04:20.980
The setup is more time consuming as we're about to see.

04:21.300 --> 04:23.340
Maintenance is more tricky.

04:23.620 --> 04:29.500
And the webhooks webhooks aren't so easy anymore because it's running on your local box.

04:29.500 --> 04:33.540
And you might be, as I am, just sitting behind some internet service provider.

04:33.540 --> 04:40.220
I don't have a public web address to my computer, so if I'm running it locally, then how would an

04:40.220 --> 04:45.180
external, how would how would slack send a webhook to to my laptop right there.

04:45.220 --> 04:46.020
How's it going to do it?

04:46.060 --> 04:50.900
It can't put localhost because that would just be localhost for for the slack box.

04:51.340 --> 04:56.700
So somehow there's got to be a web address that it can call to connect into my laptop.

04:56.820 --> 04:58.700
And that's not so easy.

04:58.900 --> 05:05.800
And then oth of course it's the full OAuth for people that know about OAuth, it's like setting up an

05:06.200 --> 05:06.520
app.

05:06.520 --> 05:08.800
It's like, oh, there's a lot to it.

05:08.800 --> 05:16.520
So so it's it's definitely more of a pro situation to be in that is self-hosted.

05:16.560 --> 05:19.760
And now when I say self-hosted, that can mean two things.

05:19.760 --> 05:25.840
You can self-host as in literally installing it on your own computer, running it locally.

05:25.920 --> 05:26.960
I'm looking down at my computer.

05:27.000 --> 05:27.360
That's right.

05:27.400 --> 05:27.680
Right there.

05:27.680 --> 05:33.040
You don't know that my computer is there, but it is, uh, so you can run it locally on your computer

05:33.240 --> 05:35.360
and that would be self-hosted.

05:35.400 --> 05:43.200
You could also then deploy it to a cloud computer that you're in charge of, like an AWS box or a box

05:43.200 --> 05:45.600
on Google's GCP or on Azure.

05:45.880 --> 05:50.640
You get a box and you deploy it there and manage it there on the cloud.

05:50.640 --> 05:52.840
And that's still considered self-hosted.

05:52.840 --> 05:58.960
It's like you've taken what cloud has done and you've deployed it yourself and you have complete control

05:58.960 --> 05:59.280
over it.

05:59.320 --> 06:00.160
It's yours.

06:00.360 --> 06:03.640
And so, uh, and and self-hosting means both of those things.

06:03.730 --> 06:07.050
And what we'll do on this course is we will install it locally and run it there.

06:07.050 --> 06:11.450
I'm not going to do the deployment to the cloud part, because that has nothing to do with Nan and nothing

06:11.450 --> 06:15.970
to do with AI and everything to do with DevOps, but platform engineering.

06:15.970 --> 06:19.210
And I do cover a lot of that on my ML ops course.

06:19.210 --> 06:21.850
If you if you are interested, you could look at that.

06:22.170 --> 06:28.290
But anyone that knows how to deploy something to App Runner or or Google, GCP, cloud run, something

06:28.290 --> 06:31.170
like that, you can you can basically use that to do it.

06:31.170 --> 06:32.610
So it's a parallel task.

06:32.650 --> 06:37.410
You could also give it to it to some DevOps person to do it for you once you've deployed it locally.

06:37.410 --> 06:41.930
So when I say Nan self-hosted, we'll be doing it on our own computers.

06:41.930 --> 06:42.770
That's what we'll be doing.

06:42.810 --> 06:48.570
And after saying I wasn't recapping anything, there is a just a quick recap reminding you of the authentication

06:48.570 --> 06:50.570
patterns that we covered all the way back.

06:50.610 --> 06:56.170
I think in week one of the different ways you can have credentials with a third party that you're integrating

06:56.170 --> 07:01.290
with, and the simple one is when you have an API key, because you're just connecting all of your platform

07:01.290 --> 07:04.630
to another platform like OpenAI, you've got a key with them.

07:04.630 --> 07:05.990
You make the connection.

07:06.030 --> 07:08.670
The API key checks out and you're done.

07:09.070 --> 07:14.390
And then there is OAuth or OAuth two is the full name which which we worked on.

07:14.390 --> 07:16.430
First of all with this very simple way.

07:16.590 --> 07:20.470
It didn't seem that hard at all, like with Google Sheets and Gmail, and I think with slack as well.

07:20.510 --> 07:25.150
I think everything that we've done so far has been this simple way where OAuth two hasn't been so painful.

07:25.350 --> 07:31.070
And that's because we've been going through an cloud, and they've already done some of the heavy lifting

07:31.110 --> 07:34.030
to put in place the kind of OAuth connectivity.

07:34.590 --> 07:39.710
But if you don't have that, if you're if you're working locally or for some of the integrations on

07:39.750 --> 07:43.550
cloud, you have to do the full on OAuth two.

07:43.710 --> 07:45.550
And there is a bit of lift to this.

07:45.550 --> 07:47.470
There are a couple of hoops to jump through.

07:47.510 --> 07:53.070
It's totally doable, but it is a bit of a procedure and and we'll be doing that okay.

07:53.110 --> 07:58.230
And now this this local business, this self-hosted engine.

07:58.390 --> 08:01.150
This is somewhat optional for you.

08:01.190 --> 08:03.070
It's not like this is required.

08:03.070 --> 08:04.880
So there is something of a fork in the road.

08:04.880 --> 08:05.720
At this point.

08:05.720 --> 08:12.200
If you are someone that is reasonably technical, then you should absolutely try this local setup.

08:12.200 --> 08:17.120
That will do together right now, and you could keep going with this for the rest of the week.

08:17.240 --> 08:22.320
You'll need to do a few things along the way, so you'll need to use something like Ngrok for webhooks.

08:22.320 --> 08:26.200
If you already know what Ngrok is, then you might as well you know all about this.

08:26.200 --> 08:32.400
Then do it and we'll do OAuth the advanced way together once, and if you want to keep doing it, you'll

08:32.400 --> 08:33.880
have to do that every time.

08:34.000 --> 08:35.440
And you know there's something to it.

08:35.440 --> 08:37.520
But once you've done it a few times you'll be used to it.

08:37.520 --> 08:42.360
But you should really only take this path if that all sounds good to you and makes sense and you know

08:42.360 --> 08:43.080
how to do it.

08:43.080 --> 08:49.560
Plus, you're super interested in having the flexibility and the privacy of running non locally in a

08:49.560 --> 08:50.600
self-hosted way.

08:50.920 --> 08:56.880
If you're super technical and you want to run models locally as well, then instead of using open router

08:56.880 --> 09:02.000
that we'll be using to call open source models in the cloud, you could run locally.

09:02.040 --> 09:06.820
If you've taken one of my technical courses, you've already done that and you can then connect any

09:06.820 --> 09:09.580
N to a llama and run everything locally.

09:09.580 --> 09:16.340
And if your box is big enough to run something like GPT OS 20, then you'd be able to carry out a genetic

09:16.340 --> 09:18.900
flows running everything locally.

09:19.220 --> 09:24.180
And also, if you've taken my MLOps course or you know about things like App Runner, you'd be able

09:24.180 --> 09:28.580
to take your local install and deploy it to the cloud as well.

09:28.580 --> 09:32.620
So all of these things could be in scope for you, should you wish.

09:32.780 --> 09:39.500
And I'll be honest with you, originally it was my plan to do this with everyone, not to have a fork

09:39.500 --> 09:43.820
in the road, but that this would be the way we would embrace it and move forwards with local install

09:43.820 --> 09:44.660
for everyone.

09:44.660 --> 09:52.700
But I did realise as I went through this myself that it gets to there's more sort of technical fussing

09:52.700 --> 09:58.540
around than might be desired for for many of you, and it could be too much of a distraction.

09:58.540 --> 10:04.500
And if you're already productive in cloud, and if you don't mind paying the £20 a month, $20 a month,

10:04.940 --> 10:06.790
you can see I'm in London then.

10:06.790 --> 10:09.350
Then you might say, ah, okay, I get it.

10:09.350 --> 10:14.350
It's nice to see that I can run it locally, but I'm happy with cloud and I'm more focused on the commercial

10:14.350 --> 10:15.190
side of this.

10:15.430 --> 10:22.350
And yes, if you're more focused on the commercial side, then I would suggest, hey, try once to install

10:22.350 --> 10:23.870
locally as we will do in a second.

10:23.870 --> 10:24.630
It's optional.

10:24.630 --> 10:25.270
You don't need to.

10:25.270 --> 10:30.950
If you don't want to, you can just watch me do it and take that in and then just go back to the cloud

10:30.950 --> 10:32.470
and do everything else in the cloud.

10:32.470 --> 10:36.510
You'll have to sign up for a paid plan and consider going local later if you wish to.

10:36.550 --> 10:42.390
And what I'm going to do is today we will do the the technical part, the installing it locally, which

10:42.390 --> 10:45.990
you can just watch or, or try and go along with as well.

10:45.990 --> 10:47.750
And then for the rest of the week, you know what?

10:47.750 --> 10:52.990
I'm going to do it on the cloud so that it's it's not getting into the technical nitty gritty where

10:52.990 --> 10:53.950
we don't need to.

10:53.990 --> 11:00.710
We're going to focus primarily on the commercial bang for the buck on what can we do to amplify your

11:00.710 --> 11:03.750
business using Nw10 and the technical folk?

11:03.830 --> 11:06.870
You should try and replicate this running it locally.
