Return to Video

Interview with Chris - Web Development

  • 0:00 - 0:03
    Okay so, welcome to this interview.
  • 0:03 - 0:04
    We are talking with Chris Chew,
  • 0:04 - 0:08
    who is one of the Udacity engineers, and he's been working on App Engine.
  • 0:08 - 0:12
    And we're going to talk a little bit today about how Udacity uses App Engine in
  • 0:12 - 0:17
    production, and some of the things that are different from writing toy apps.
  • 0:17 - 0:18
    You know, we've been writing these simple things, and
  • 0:18 - 0:21
    Udacity actually has thousands of users, and so
  • 0:21 - 0:23
    it's a much different problem that they are solving.
  • 0:24 - 0:27
    So we spoke before about how when you,
  • 0:27 - 0:30
    when you came to Udacity, you were skeptical about App Engine and, and
  • 0:30 - 0:32
    you expected to try to have to convert people.
  • 0:32 - 0:34
    And how, how has your experience been so far?
  • 0:35 - 0:38
    >> And yeah, actually, and it's, it's been interesting.
  • 0:38 - 0:41
    I think a lot of people,
  • 0:41 - 0:46
    especially the more engineering experience you have, the more skeptical you
  • 0:46 - 0:51
    tend to be about something that makes claims as big as App Engine's claims.
  • 0:51 - 0:54
    And, you know, everything always has trade-offs, and App Engine has trade-offs.
  • 0:54 - 0:59
    But, you know, I really did come to Udacity thinking that I would be
  • 0:59 - 1:01
    able to talk everybody out of moving to something different,
  • 1:01 - 1:03
    where we'd have a little bit more control.
  • 1:03 - 1:06
    And I think the opposite has actually happened.
  • 1:06 - 1:10
    I'm, I've been a little converted the other way, and I think,
  • 1:10 - 1:13
    you know, App Engine's really the perfect spot for
  • 1:13 - 1:16
    Udacity, and Udacity really does run on App Engine.
  • 1:16 - 1:20
    We really do have a lot of traffic, and there's even some larger websites that
  • 1:20 - 1:23
    have way more traffic than we do that run successfully on App Engine.
  • 1:23 - 1:26
    >> Okay, actually so I had, I had the same thought.
  • 1:26 - 1:29
    You know, we decided to use App Engine because, you know,
  • 1:29 - 1:32
    I thought it would be easy to get up, get up and online for students, so
  • 1:32 - 1:34
    they wouldn't have to do sys admin things.
  • 1:34 - 1:37
    But, you know, I have always done my own thing as well, and not used App Engine,
  • 1:37 - 1:40
    so I was highly skeptical, and I've had a similar, similar change of heart.
  • 1:40 - 1:45
    So what are some of the things that App Engine does that, that make it so
  • 1:45 - 1:49
    nice to work in, that you would otherwise have to do on your own?
  • 1:49 - 1:51
    The big one it always boils to,
  • 1:51 - 1:58
    they provide a lot of infrastructure caching highly replicated data stores.
  • 1:58 - 2:04
    They force you to address what consistency means in your application,
  • 2:04 - 2:08
    you know, and does, you know, the same, does a name have to be updated
  • 2:08 - 2:12
    everywhere immediately or can, can things be a little bit slower to update.
  • 2:12 - 2:16
    You know, things like that that building a simple app you just, you know,
  • 2:16 - 2:18
    you don't have to think and then all of sudden you get really big and
  • 2:18 - 2:19
    then you have to scramble to try and
  • 2:19 - 2:24
    redefine, you know, how those sorts of things are going to work in your system.
  • 2:24 - 2:27
    The queuing, is actually really powerful.
  • 2:27 - 2:30
    It was really smooth, it seems very reliable and you know,
  • 2:30 - 2:34
    allows you to build, you know, tasks, and really focus on the tasks,
  • 2:34 - 2:37
    as opposed to the infrastructure to get the tasks delivered.
  • 2:38 - 2:43
    The login infrastructure by and large works actually really well.
  • 2:43 - 2:47
    It may, it works really well considering the scale of logging statements you
  • 2:47 - 2:48
    can put through it.
  • 2:48 - 2:51
    >> You, you mentioned the queuing which is funny, cause we actually just spent
  • 2:51 - 2:53
    a lot of time in the previous interview with Neil from Reddit,
  • 2:53 - 2:58
    talking about all of the infrastructure Reddit has built around the,
  • 2:58 - 3:01
    the queues and the pre-computing cache and that sort of stuff.
  • 3:02 - 3:04
    It was actually really tough for us to build.
  • 3:04 - 3:08
    and, and there's a lot of things that I think were really tough for us to build.
  • 3:08 - 3:13
    I wonder if you can mention talk a little bit about how the, the version
  • 3:13 - 3:18
    handling works in App Engine and how that kind of fits in the bigger picture?
  • 3:18 - 3:21
    >> Versions are actually really interesting in App Engine.
  • 3:21 - 3:24
    They, they're different than what I expected and it, so
  • 3:24 - 3:29
    they actually allow you to upload a totally different code base really, but
  • 3:29 - 3:34
    going against the same data store and the same services.
  • 3:34 - 3:38
    And you can use that I guess in a couple of different ways effectively.
  • 3:38 - 3:41
    One thing is that it enables what we call AB testing.
  • 3:41 - 3:44
    So, kind of like two versions of a site are running at the same time.
  • 3:44 - 3:49
    And there's actually an AB testing, some administration there that allows you
  • 3:49 - 3:53
    to kind of blend, you know, percentage of users in, in a somewhat sticky manner.
  • 3:53 - 3:57
    So that, you know, you can roll out new features to some users and test them,
  • 3:57 - 4:01
    and, and as they're more successful, migrate all the users to the new features.
  • 4:01 - 4:02
    Things like that.
  • 4:03 - 4:06
    The other thing is that they kind of provide you a way to have,
  • 4:06 - 4:09
    I think of it as like aspects into a system.
  • 4:09 - 4:12
    You can actually, you know, you could have a version of an app that is for
  • 4:12 - 4:18
    mainly administrative tasks, or for purely testing, or for monitoring.
  • 4:18 - 4:22
    Or and then what you know, your, your normal users would see in, in the site and
  • 4:22 - 4:27
    they're all running simultaneously and you know, against the same you know,
  • 4:27 - 4:30
    data storing services but it allows you to kind of,
  • 4:30 - 4:33
    you know, partition your logic and so you could still reuse models and
  • 4:33 - 4:37
    things between them And it's it's, it's really,
  • 4:37 - 4:42
    it was a surprising feature that, in there, and it seems to be really handy.
  • 4:42 - 4:42
    >> Cool.
Cím:
Interview with Chris - Web Development
Leírás:

more » « less
Video Language:
English
Team:
Udacity
Projekt:
CS253 - Web Development
Duration:
04:43

English subtitles

Felülvizsgálatok Compare revisions