FaaS and CaaS

Differences between FaaS and CaaS

We’ll split the solutions into Functions as a Service (FaaS) and Containers as a Service (CaaS). The problem is that they’re often mixed up, so we’ll make easy distinctions between the two.

Input as a distinct quality

One difference is in the form of the deliverables we need to provide to a service. They can be code or binaries, and in that case, we’d call those FaaS. On the other hand, the service might ask us to provide a container image, and in that case, we’d call it CaaS.

As we mentioned previously, the division between FaaS and CaaS is blurred because almost all solutions do use containers. So, for the rest of this course, we won’t distinguish between them based on how it’s running. That’s almost always a container. Instead, the distinction will be made based on our input (code or container images).

Managing source as a distinct quality

Another distinction we’ll make is whether you or someone else is in charge of maintaining the platform. We can choose a managed solution from one of the vendors (e.g., AWS, Azure, or Google Cloud) or assemble and manage it ourselves as part of our platform of choice. Since almost all serverless computing platforms are based on containers, the latter choice almost inevitably leads to Kubernetes. In any case, if it is you who is managing the platform, it is self-managed, and if it’s someone else, it’s managed (without the word “self”).

Get hands-on with 1200+ tech skills courses.