WEBVTT

00:00.860 --> 00:03.670
I want you to pretend for a minute that I'm a programmer.

00:03.830 --> 00:06.500
No I'm not just a programmer I'm a developer.

00:06.500 --> 00:12.740
I've got an idea for a new kind of web application that everybody's going to go crazy over the next

00:12.770 --> 00:13.510
Dropbox.

00:13.520 --> 00:18.060
It's it's it's the next G-mail I don't know but I love this thing.

00:18.170 --> 00:19.990
Now keep in mind that I'm a programmer.

00:20.030 --> 00:20.550
OK.

00:20.690 --> 00:22.260
And that's what I do.

00:22.310 --> 00:24.700
I write programs and I've got this dream.

00:24.770 --> 00:30.980
But for me as a programmer to go through the process of setting this up I have to be setting up servers

00:30.980 --> 00:36.950
and I'd have to have lots of administrators to protect all my systems and people running backups and

00:37.220 --> 00:41.500
then I would need people grabbing stuff for me help and my development didn't need this.

00:41.540 --> 00:46.790
It's a big deal for somebody like me to get my dream out there.

00:46.790 --> 00:52.920
Wouldn't it be cool if we could create a magic little world where me as a programmer.

00:52.940 --> 01:00.890
All I see is a a platform a basically a screen that allows me to write my code and not only write my

01:00.890 --> 01:07.880
code but have access to big software libraries that I need to help write my code that will help keep

01:07.880 --> 01:10.070
track of my development for me.

01:10.190 --> 01:15.260
And then when I got it and I want to see how it works all I can do is press a button and say deploy

01:15.260 --> 01:20.450
and it magically appears on a server that's completely configured and ready to go at all I have to do

01:20.450 --> 01:22.110
is type in w w w that.

01:22.130 --> 01:25.350
Check out my cool site dotcom and see how it's do it.

01:25.610 --> 01:26.660
Sounds fun.

01:26.900 --> 01:34.520
Well that my friends is platform as a service platform as a service will usually be some infrastructure

01:34.520 --> 01:37.880
as a service aspect to it but that doesn't mean anything to me as a programmer.

01:38.030 --> 01:44.660
I don't care about what the internal LAN IP addresses for a server I don't even care if I have the servers

01:44.660 --> 01:49.880
or how many or what kind of RAM they have I don't care what kind of operating systems running on my

01:49.880 --> 01:50.680
machines.

01:50.810 --> 01:55.820
I don't really care what's on the firewall that that's all another world and I don't want to deal with

01:55.820 --> 01:56.830
all that.

01:56.900 --> 02:02.960
And that's what platform as a service is all about a cozy little cuddly world where developers can create

02:03.020 --> 02:04.860
amazing web applications.

02:05.090 --> 02:05.390
OK.

02:05.390 --> 02:06.620
More than web applications.

02:06.620 --> 02:08.820
But that's the best way to think about this stuff.

02:08.960 --> 02:13.130
And they can make these Web applications and press a button that all goes and everything's taken care

02:13.130 --> 02:19.100
of for them and they all live happily ever after to appreciate the platform as a service.

02:19.130 --> 02:20.120
I need to show you it.

02:20.240 --> 02:22.490
Let's take a look at one of the more popular ones.

02:22.550 --> 02:24.770
Heroku All right.

02:24.770 --> 02:27.170
Now this is the Heroku dashboard.

02:27.170 --> 02:29.380
It's a little bit boring to look at right now.

02:29.600 --> 02:32.870
Right now I have one application that's up there I don't want to mess with it.

02:32.870 --> 02:34.620
That one's actually working for a living.

02:34.700 --> 02:39.580
But what I do have is here on my computer here I've got this application.

02:39.580 --> 02:45.160
Now this is a little teeny tiny javascript application and the only thing it does is puts the word hello

02:45.160 --> 02:46.690
world up on the screen.

02:46.840 --> 02:51.310
But this could be a complete application this could be read it for example.

02:51.310 --> 02:58.990
So if you're familiar with the Reddit website so I can do any kind of code that I want and what I'm

02:58.990 --> 03:01.630
going to do in one shot is using Heroku.

03:01.810 --> 03:06.390
I'm going to take my code I'm going to upload it to Heroku.

03:06.460 --> 03:10.690
It's going to get everything configured is going to bring along libraries is going to check my code

03:10.690 --> 03:13.500
it's going to start anything that needs to be started.

03:13.750 --> 03:19.090
And it's actually going to give it a real U R L so it can post up and we can check it out and we can

03:19.090 --> 03:22.290
deploy this thing pretty much in the press of one button.

03:22.480 --> 03:24.170
So let's go ahead and get started.

03:24.700 --> 03:29.230
OK so here's my code then there's nothing too terribly exciting about my code all it's going to do is

03:29.230 --> 03:30.320
say hello world.

03:30.520 --> 03:38.540
But just so you know we look and explore here you can see it's on my desktop under a folder called node

03:38.610 --> 03:46.690
dash J J.S. dash sample so you can see there's files and there's folders We need all this to run Java

03:46.990 --> 03:50.920
JavaScript So let me go in and close that and I'll minimize this guy.

03:51.280 --> 03:53.080
And what we're going to do is bring it up.

03:53.080 --> 04:00.520
So we're going to go ahead and we're going to create a new app and we call it Fred.

04:00.520 --> 04:05.050
Now what's interesting here Samadi are you ready used Fred.

04:05.050 --> 04:08.010
So I can go ahead and do it graphically.

04:08.020 --> 04:14.620
But what's really interesting about Heroku is that most of this stuff is actually done from a command

04:14.620 --> 04:15.430
prompt.

04:15.490 --> 04:21.130
So if you want to use Heroku Well you could bring it in from Dropbox or anything else but all the hip

04:21.130 --> 04:27.670
kids will actually install a Heroku tool kit which will add command line utilities to let them do all

04:27.670 --> 04:28.480
the work.

04:28.480 --> 04:36.760
So in order for me to make this happen I need to open up a command prompt and run a few commands.

04:36.830 --> 04:37.750
Right so here I am.

04:37.770 --> 04:40.920
And if you remember this is desktop and that's the folder name.

04:40.960 --> 04:41.550
So

04:45.410 --> 04:47.330
first thing I'm going to do is create

04:50.810 --> 04:51.550
the app

04:57.150 --> 04:57.770
OK.

04:57.880 --> 04:59.350
Now look really close.

04:59.350 --> 05:04.450
It has created the application which is really just basically made a container for it up on Heroku but

05:04.450 --> 05:08.500
it already tells me now what the hell's going to be for the site.

05:09.430 --> 05:14.740
And this other one is used for something called a get which we can use to load stuff up.

05:14.760 --> 05:16.380
And I'm actually going to use that now.

05:25.280 --> 05:26.010
No titles.

05:27.820 --> 05:29.900
So I'm going to use this get command.

05:30.010 --> 05:33.410
And this is actually going to send all my files up.

05:33.490 --> 05:34.870
It's going to send my files up.

05:34.870 --> 05:37.810
It's going to create the web site and get everything started.

05:52.290 --> 06:00.720
Okay now if I've done everything right I now have a couple of commands and actually set up a complete

06:00.760 --> 06:02.740
website that runs my code.

06:02.940 --> 06:08.760
So what I'm going to do now is of course Heroku has another command line that allow me to actually open

06:08.760 --> 06:11.220
up a browser and check out my new web app

06:20.660 --> 06:22.370
Tenna.

06:22.490 --> 06:23.080
There it is.

06:23.090 --> 06:24.100
Hello world.

06:24.170 --> 06:30.700
Notice first of all that I've got an actual u r l it's under Heroku app dot com so they can make all

06:30.710 --> 06:38.480
these that they want but I'm legitimately up on the Internet and I can test this out do whatever I need

06:38.480 --> 06:39.250
to do.

06:39.260 --> 06:44.840
There are people who use this as an ongoing basis as I bring in new versions that takes care of everything

06:44.840 --> 06:45.710
for me.

06:46.100 --> 06:49.730
And that's the power of what platform as a service does for me.

06:49.910 --> 06:53.300
I don't really care much about servers or anything like that.

06:53.310 --> 06:55.440
Now let's say the Web sites were a little slow.

06:55.460 --> 06:57.240
Oracle lets me take care of that too.

07:07.310 --> 07:07.790
OK.

07:07.990 --> 07:09.980
So here's the app that I created.

07:09.980 --> 07:11.510
Then you can click on this.

07:11.920 --> 07:18.670
So let's say I want to build up a sequel server because I need a sequel server in the old days I would

07:18.670 --> 07:23.130
have to actually get a sequel server installed get it up and running with Heroku.

07:23.130 --> 07:27.970
I can just put in these add ons and there are zillions of add ons for all kinds of stuff.

07:29.570 --> 07:37.310
And see and isn't.

07:37.420 --> 07:43.690
So I'm a big fan of post Grace so I can actually just click on this if I want to and I've load myself

07:43.750 --> 07:48.200
in a complete sequel server just by going click.

07:48.530 --> 07:52.350
But we don't need any add ons for the simple app.

07:52.650 --> 07:58.870
Now the other thing that's interesting here what they called Duyne knows C programmers don't care about.

07:58.890 --> 08:02.150
Do we have enough web servers to do whatever we're going to do.

08:02.310 --> 08:08.240
Well I'm sure they care but only so far as they make sure that their application is running well.

08:08.280 --> 08:13.050
So let's say I deploy this and I got it up and running and it seems sluggish.

08:13.200 --> 08:18.140
Well it's no big deal with Heroku all I need to do is add more Didos.

08:18.150 --> 08:23.990
Now they cost more money as you add more but I add more Dido's until my applications running well and

08:24.030 --> 08:25.610
it's pretty trivial stuff.

08:25.860 --> 08:33.210
The beauty of platform as a service is that everything is avise skated as a programmer.

08:33.270 --> 08:35.460
I don't even see the servers.

08:35.460 --> 08:41.220
I don't see anything that I don't want to see other than my beautiful code running beautifully in its

08:41.220 --> 08:42.400
own little you are el

08:48.910 --> 08:49.620
in

08:57.740 --> 08:58.590
in.
