As I mentioned, Serverless is probably my favorite topic in the Cloud because if you like to build technology, this is probably one of the best tools that you can use. I'm going to talk about three different aspects of Serverless. First I'm going to talk about the Cloud Service Model, then I'm going to talk about functions and why they apply to Serverless. Then I'm also going to talk a little bit about the ecosystem and then I'm going to get into some hands-on example. To really explain Serverless at the beginning, we need to talk about the service model itself. To do that, I can actually just draw this maybe at the bottom here to make it a little bit simpler. When you're building things in the cloud, a spectrum, you have Infrastructure as a service, which is the lowest level, you have the Platform as a service, which is a little bit higher level, then you have things like Serverless. The big distinction here between these different models is that Infrastructure's code means that really you are getting the low-level pieces. You could be getting the CPU, the storage, maybe also the network and you're controlling explicitly each of those components. This would be a lot like in the real world, going to a big store that has the raw ingredients like flour, sugar, meat things like that, vegetables. You're basically getting the core ingredients, but then you have to cook the food yourself. That's really the way to think about Infrastructure as a service. On one hand, if you're in a restaurant, you could make a lot of money because you could buy the food for cheap and then sell it for more money. It's the same way with the Cloud, if you buy things cheap, using Infrastructure as a service, you can construct things and then sell that to other companies and that's actually done through something called SaaS or Software as a Service, it's a lot like the same example of a restaurant owner. Now Platform as a service is a little bit different, we can draw an arrow here, because Platform as a service is something where it's a lot more like a restaurant where you could actually order the food, you could go through and you just order what it is you want. It's almost like going to somewhere where you can tell the person making the food, what it is you want in your burrito. If you have ever gone to a restaurant where they let you decide what to put in the burrito, you can say I want chicken and I want some rice. You didn't have to buy the chicken, you didn't have to buy the rice, but you still have control over what it is you want to build in there. What are the options in the Cloud that are similar? A lot of these are our web service based components. The technical analogy here would be a Google App Engine or GAE would be a good example of a PaaS, also Elastic Beanstalk, we'll call this EB on AWS would be a good example. These are services where you still have to do a little bit of work, but most of the servers themselves are actually handled by the Cloud vendor. I find myself leaning towards, a lot of times wanting to use something like this because I don't want to go down to the low level a lot of times because it's a lot of work. That's not really what I'm trying to solve. I'm trying to solve for a problem. Now Serverless would be even easier and more of high level one. The analogy here would be, just like you order something in person and you can customize things. Serverless is even easier, it will be like ordering takeout food. You will be like, if you went to a restaurant on the phone and you call an opera, you go on a website, you say, look, give me the food, bring it to my house. There's nothing to do, you asked for it and they give it to you. What's nice about Serverless, and we'll get into this, is that it's really the lowest level of abstraction in terms of automation, or I guess you could say, depending on how you define it, it's either lower or the highest level of abstraction. That basically what this means is that you can think in logic, and the logic will directly correspond to what it is you're trying to build. What are some examples of this? Examples of this would be our Functions, these would be things like Google Cloud Functions, AWS Lambda. I'll get into this in a second and explain why this is so important. Really that's the main thing to think about when you talk about Serverless. It's that you're moving away from doing everything yourself. Depending on how you define it, you could still define Serverless as platform as a service because you're not managing servers. But in generally it's moving away from doing things yourself instead of spinning up virtual machines, attaching storage, doing network connections to things. You're using high level services that automate a lot of it. If you're a builder and you want to focus on building technology, then this is probably the technology that you want to focus on. As I mentioned, the Cloud providers themselves, this is really where they're focusing most of their energy, is on the Platform as service and Serverless.