What Is FaaS? (Function As A Service)

How do we use/implement FaaS? Does FaaS make any significant difference in my everyday life? Can you buy it on Amazon? All of the questions will be covered in this article.

what is faas

Image Credit: Austen Collins – ServerlessConf Austin ‘17

First off, let’s start with the basics. There are several cloud models, and I want to explain them briefly, so you’ll have a clear picture of the FaaS model.

IaaS (Infrastructure As A Service) is a cloud model in which the provider supplies a complete infrastructure like virtual machines, virtual networks, and more. Many are referring to IaaS as “Cloud Computing.”

SaaS (Software As A Service) is another cloud model in which the provider does not expose virtual computers or even networks to users. Instead, it provides access to databases or any other software services, and this allows the users to be free of maintenance of operating systems while the user can remain focused on the actual usage of the software.

PaaS (Platform As A Service) is yet another cloud model, and its providers’ focus is on providing a software development environment to its users. The entire idea is to give developers the tools and the software they need in a single, virtual place.

FaaS (Function As A Service) is an entirely new cloud model and a game-changer to many. FaaS belongs to a category of CCS (Cloud Computing Services) which provides a platform for customers to develop, run, and manage applications. Doing so without the complex maintenance and building of infrastructure that is usually associated with the development and the launch of an app. Building the app while following this model is a way to achieve a “serverless” architecture. This model is mostly used for building microservices.

Function As A Service is still very young and brand-new in cloud computing. FaaS was first introduced and made available to the world by hook.io in late 2014 and was shortly followed by AWS LambdaGoogle Cloud FunctionsMicrosoft Azure Functions, and many others. This means that you can upload modular pieces of functionality into the cloud that are independently executed. Imagine the possibilities this provides!

Before this, you needed to scale a monolithic REST server to handle the potential load, and now you can divide the server into several functions which can be scaled automatically and separately. That is something that blew my mind upon discovery.

FaaS vs PaaS

However, I should also mention the differences between FaaS and PaaS (Platform As A Service) so that you could distinguish them one from another. Some serverless computing architectures don’t require the user to have any direct interaction in managing resources, and it is called Platform As A Service (PaaS).

Let me remind you that these services are very different in their implementation architecture, having some scaling implications. Most of the PaaS systems continually run at least one server process. Even with the autoscaling functionality, a few longer-running processes are merely added on the same machine which further means that the scalability is a more visible problem to developers. The FaaS systems are the place where the functions should start in milliseconds to be able to allow handling of individual requests while the PaaS systems, in contrast, gives us the idea of the application thread which keeps running for an extended time period while handling multiple requests. The mentioned difference is most visible in the pricing. While FaaS services charge per execution time of the function and PaaS services charge per running time of the thread where the server application is running.

FaaS Use Case

Some of the use cases regarding the FaaS are in close connection with “on-demand” functionality. This “on-demand” functionality enables the supporting infrastructure to be powered down, so it won’t incur any charges while it’s not in use. Meaning you can cut your server bills drastically! Check out this cost calculators for AWS Lambda and this case study about saving over 300% on infrastructure cost by moving to serverless if you don’t believe me.

Some of the examples would be the data processing ones like batch processing or stream processing, ETL. Even the IOT services for devices that are connected to the internet, mobile apps as well as web apps.

Type Of Functions

There are various types of functions are I will briefly explain them. Since there are many potential uses for functions and support and implementation for the functions varies by the providers. Some of the most common scenarios are scheduling tasks or jobs, processing web requests or process queue messages, or even running them manually. These functions can also be chained together meaning that a web request can write a queue and it can then be picked up by a different function.

Conclusion

If you are asking yourself “Do I need to use FaaS and will it bring positive solutions to my everyday development workflow?”, you should discover more details about whether it will benefit your work or not. Like every other tool, it depends on what you need to use it for. FaaS is an excellent choice for centralization of function implementation while it also has the benefit of scaling the implementation. This further means that if you need numerous instances running at the same time, the provider will handle that for you. For more details about this and many other topics, search through our blog on our website.

All-in-all, FaaS is yet to be used to its full potential, but as for now and by what we already know, it’s a big game-changer.


Further reading:

10 Amazing business benefits of going serverless

Serverless for enterprises

Creating your first serverless website in 15 minutes

Read our blog

Top 6 AWS Lambda Monitoring Tools

Monitoring helps you identify any performance issues, and it can also send you alerts and notify you of anything you might need to know. This article will cover the top 6 AWS Lambda monitoring tools and explain how they work and are used.

8 Common Mistakes When Using AWS ECS to Manage Containers

In this article, we’ll discuss the potential pitfalls that we came across when configuring ECS task definitions. While considering this AWS-specific container management platform, we’ll also examine some general best practices for working with containers in production.

AWS Lambda Cost Optimization Strategies That Work

From caching Lambda responses to building smaller functions to choosing the right memory configs. In this article, we’re exploring six specific steps you can take to optimize your AWS Lambda costs.

Made by developers for developers

Dashbird was born out of our own need for an enhanced serverless debugging and monitoring tool, and we take pride in being developers.

What our customers say

Dashbird gives us a simple and easy to use tool to have peace of mind and know that all of our Serverless functions are running correctly. We are instantly aware now if there’s a problem. We love the fact that we have enough information in the Slack notification itself to take appropriate action immediately and know exactly where the issue occurred.

Thanks to Dashbird the time to discover the occurrence of an issue reduced from 2-4 hours to a matter of seconds or minutes. It also means that hundreds of dollars are saved every month.

Great onboarding: it takes just a couple of minutes to connect an AWS account to an organization in Dashbird. The UI is clean and gives a good overview of what is happening with the Lambdas and API Gateways in the account.

I mean, it is just extremely time-saving. It’s so efficient! I don’t think it’s an exaggeration or dramatic to say that Dashbird has been a lifesaver for us.

Dashbird provides an easier interface to monitor and debug problems with our Lambdas. Relevant logs are simple to find and view. Dashbird’s support has been good, and they take product suggestions with grace.

Great UI. Easy to navigate through CloudWatch logs. Simple setup.

Dashbird helped us refine the size of our Lambdas, resulting in significantly reduced costs. We have Dashbird alert us in seconds via email when any of our functions behaves abnormally. Their app immediately makes the cause and severity of errors obvious.