[Music] Welcome to “What is function as a Service?” After watching this video, you will be able to define Function as a Service, referred to as FaaS, describe FaaS capabilities and benefits, and identify the differences between FaaS and serverless. What is Function as a Service? Function as a Service, known as FaaS, is an event-driven computing model, which means that code is executed in response to events. Like serverless, FaaS abstracts away infrastructure management so that developers can focus on building, running, and managing application packages as functions. Functions are stateless software that run customized logic for business purposes. Application code is typically packaged as a container and runs in response to events or requests. As discussed with serverless, functions scale down to zero when there are no requests. Function run only in response to incoming requests. Functions manage server-side logic and state. For instance, a function wouldn’t generally serve a front-end web page, but the function would be triggered on the server-side in response to a user action on the front end. Function-as-a-service sounds a lot like serverless, and people often use the two terms interchangeably. But FaaS is a subset of serverless computing and is one way to implement serverless. As a result, the characteristics of serverless are true of function-as-a-service. Both are pay-per-use, involve no infrastructure management, and allow developers to focus on developing their apps. But while serverless is focused on any service category where configuration, billing, and management of servers are invisible to the end-user. Serverless focuses on any service category where configuration, billing, and management of servers are invisible to the end-user. This includes compute, storage, database, API gateways, and others. Function-as-a-service, while perhaps the most central technology in serverless, focuses on event-driven computing. The benefits of function-as-a-service are easy to list because they are largely the same as the benefits of serverless computing that we already discussed. Function-as-a-service lets developers focus on code and not infrastructure; lets teams pay only for the resources they use when they use them; scales up and down automatically; and provides high availability. For a real-world example, consider the scenario where you need to upload a profile picture to a website. The website might also require a thumbnail of that image for displaying on certain webpages. When a user uploads a photo to the site, this image is uploaded to an object storage bucket. This event triggers an IBM Cloud function that is designed to take that image and create a thumbnail image. The function also stores the thumbnail image in object storage so that if needed, the website can access the thumbnail image. This is a common situation in which function-as-a-service is used. Here’s another example that explains how functions can integrate with microservices architectures: Traditionally, a monolithic application performed all of the actions. While this programming method was feasible, the method crammed a lot of functionality into a single application. The resulting code was difficult to parse and maintain. Now, programmers can use microservices to implement the bulk of the application, such as the web front end and account management capabilities. Functions are ideal for simple capabilities performed when specific events occur. When the account management microservice uploads a new picture, programmers can have a high level of confidence that the thumbnail will be created automatically by the function. In this video, you learned that: FaaS, a subset of serverless computing, is an event-driven computing execution model. Highly available, microservices compatible, FaaS applications consist of stateless, scalable, customized containers. FaaS is ideal for spiky workloads, pay-as-you-go capabilities often results in cost savings. FaaS enables developers to focus on business needs