Cloud services are no longer a technological exotic. Moreover, they have become commonplace. One such tool is FaaS (function as a service). In this article, we will try to explain in an accessible form for uninitiated readers what is Function as a Service, when to use FaaS, and also give some function as a service examples.
How it works
What is FaaS in cloud computing? It is a type of cloud computing that relieves developers of the need to manage application infrastructure. When developers use the FaaS platform, it creates, runs, and manages application packages on their behalf.
FaaS is a type of so-called serverless service. This is the name of a category of computer services (computing, storage, database, messaging, API gateways, etc.) in which the configuration and management of servers are invisible to the end user. That is, FAAS and "serverless services" are not synonymous.
It is important to note that the word "serverless" should be understood correctly. Real server computers made of metal, plastic and chips are not going anywhere. They still continuously heat the air in the depths of data centers. Another thing is that the user of serverless services is as remote as possible, abstracted from everything connected with real servers.
Let us dwell on two important aspects of FAAS technology.
First, hosting software on the Internet requires physical/virtual server provisioning and administration, operating system management, and web server hosting. It turns out that the developer has to do a lot of purely technical work that is not directly related to his main task. In the case of using FaaS, hardware, the OS of the virtual machine and the management of the web server software are provided by the cloud service provider. This allows developers to focus on key project tasks.
Secondly, for a long time applications were written in relation to a monolithic architecture. This means that all of its components were driven by a single execution operation. Here you can draw an analogy with a car. Launching an application on a monolithic architecture was about the same as if turning the ignition key turned on all the car's systems: from starting the starter to heating the cigarette lighter with turning on the FM radio.
Up to a certain point in the development of IT, this approach was justified. However, it gradually began to lose effectiveness.
Software developers have begun to use microservices. In other words, modules that can be actuated independently of each other. To continue the analogy with a car — it became possible to start the engine, but leave some systems inoperative.
The ability to work with microservices separately made it easier to test and support the products you created.
A function is just such a microservice. It consists of performing one action in response to an event. An event has occurred — the server has started, the function has been executed. After executing the function, the server is turned off and can be used to perform other tasks.
We continue the analogy with the car. The driver does not need at all that the windshield washers and brushes on the windshield turn on at the same time as the engine is started. Windshield cleaning is just an example of a function that turns on after a certain event occurs. Such an event is the ingress of contaminants on the windshield. Is the glass clear? This means that the task is solved and the glass cleaning function is turned off. Accordingly, the battery charge is not wasted, the water in the washer tanks is not wasted, the mechanical parts of the washer and wiper design are not worn out.
Notable FaaS Platforms
FaaS services were first implemented in 2014 in the Open-Source Microservice Hosting Platform project. "Function as a service" market in 2021 amounted to $6.93 billion. It is expected that in 2022 this value will reach $8.59 billion, and by 2026 — $20.96 billion. Today, many leading companies IT industries provide their customers with the FAAS platform. We will briefly describe some of them:
- AWS Lambda. Convenient computing platform with a wide range of applications from Amazon Web Services. AWS Lambda supports Java, NodeJS, Python, C#, and Go programming languages. Not suitable for small projects.
- Google Cloud Functions. Ranked among the world's leading FaaS service providers worldwide. Provides a means and environment for running functional code without any server management or administration. Google Cloud Functions allows you to use Google and third-party services as building blocks for your code.
- IBM Cloud Functions. The platform allows you to run the internal application code without using servers. IBM Cloud Functions charges the user for the time it takes to execute their code. If the code is not executed, then you do not need to pay.
- Microsoft Azure Function. Has no restrictions in building and deploying features in any particular language or server. You can use any programming languages or frameworks (.NET, Node JS, Python, Java etc).
- Alibaba Functions. The peculiarity lies in the fact that the distributed clusters of the platform are located in different places. If one zone becomes unavailable, then Alibaba's cloud computing features will automatically use other resources from the working zone.
Interesting facts about FaaS
- Until now, North America remains the region where the most developed FaaS market existed. However, in the near future, the Asia-Pacific region may come out on top.
- The leading countries in this market are the USA, Mexico, Canada, China, Germany, France.
- The expansion of the FaaS market has been driven by the need for server management solutions, as well as the sharp growth in the field of application development and the shift to serverless computing.
- Third-party API issues (blocking, security, compliance, and other architectural issues) are limiting the market.
- Demand for solutions that can rapidly develop and implement business process communications and healthcare data transformation is driving the healthcare and life sciences industries.
A few words in conclusion
An important feature of FaaS is the prospect and significance of this technology is not limited to progress in cloud computing. FaaS stimulates new approaches to organizing and doing business. The Coca Cola Company is already using a serverless service based on Lambda, Step Functions and API Gateway for the dissemination of nutritional information in the field of catering.
Based on FaaS, Benchling (software for life sciences) has created a tool that researchers use to modify parts of the genome with the highest precision.
Leading household robot vacuum manufacturer iRobot is building a new generation of smart home devices using FaaS. "Function as a service" makes business faster and reduces operating costs. This is the key perspective of this concept.
You probably know that the speed of leads processing directly affects the conversion and customer loyalty. Do you want to receive real-time information about new orders from Facebook and Instagram in order to respond to them as quickly as possible? Use the SaveMyLeads online connector. Link your Facebook advertising account to the messenger so that employees receive notifications about new leads. Create an integration with the SMS service so that a welcome message is sent to each new customer. Adding leads to a CRM system, contacts to mailing lists, tasks to project management programs – all this and much more can be automated using SaveMyLeads. Set up integrations, get rid of routine operations and focus on the really important tasks.