So let me talk a little bit about the functions next here, before I get into the ecosystem. So, one of the things that is interesting about serverless is that, it capitalizes on this concept of a function. And so if I go here and I say, serverless and functions, I think I've mentioned this before that with AWS, they're probably the leader in serverless. And they have something called AWS Lambda and well, what is AWS lambda at its core? Really, you could think of it as something called FaaS or Function as a Service. And so what this means is that at the core of anything that you build that serverless is the python function. And it could be really as simple as, for example, I could do this, I could say, def and I could say, hello. And then I take some payload, we'll just say it's X. And then I return back, let's say X plus 1, that really is potentially all you would need to do to build out some kind of resource, right? It's just a couple of lines of code. And if I put that into AWS Lambda, I can then make it go all over the AWS ecosystem. I can attach triggers to it, I can build Web services. So really, the heart of serverless is just a function. It's really something that is a couple lines of code, and it can accept an input. It can process it, and it can return it back out. And so that's a really key thing to understand about building serverless technology. Now, the concept of a function, though, is a very interesting concept. Because outside of just building things in the cloud, this concept of a function also can be applied to other computer science techniques. So in particular, let's say that you want to do GPU programming and I'm going to show you an example of this in a second. Well, you can do the same thing. You can just have a function and you can attach, let's say, a decorator on top that says, essentially, use a GPU. And then now you can dispatch this function and run it. Let's say 10 million times very quickly across the GPU cluster, and it's just that function, and all you did was put a decorator on top. You also can build command line tools by just attaching a decorator on top of something and building something. You can also build a Web service so you could build a flask app and it could again be just a function. The other things you can do with a function, you can also do data science. So if you go to pandas, for example, pandas, most operations that are helpful require you to build and apply function. So you do .apply here, and then the apply, the function would go across every row and actually do those operations. So this is really at the heart of actually thinking about serverless, is that when you really get down to it in terms of cloud computing, it's a distributed system. And it works really well with this concept of have a small piece of code and then I use that small piece of code to do something. It could be a cloud function, it could be a GPU operation that has incredible scale, like 10 million rows that I process all concurrently. It could be committing tool or Web app, Data Science application, It could could be machine learning. You could do an ML problem with it. And sometimes it's just a few lines of code, and I think this is really the key reason why serverless is such a fun technology. Is, once you understand that, the power of things is to encapsulate it in a very small amount of code and then connect those pieces together. So that's serverless and is kind of setting the stage for some other stuff I'm going to talk about.