In recent years, a number of IT solutions have been developed in the field of cloud computing that offer users ad­van­tages primarily through location-in­de­pen­dent avail­abil­i­ty and flexible use. The probably best-known field, Software as a Service or SaaS for short, covers all types of software that can be used via an Internet con­nec­tion without having to own a local version.

Function as a Service or FaaS describes ap­pli­ca­tion packages that are developed, managed, and executed by de­vel­op­ers. At the same time, their own in­fra­struc­ture isn’t required for their man­age­ment, as it’s provided by the service provider. The de­vel­op­ment of the functions takes place in isolation in so-called con­tain­ers. Data pro­cess­ing or mobile apps are common examples of functions used with FaaS. In this article, we explain which areas Function as a Service covers, how de­vel­op­ers can use the service, and what the ad­van­tages and dis­ad­van­tages of the cloud computing solution are.

$1 Domain Names – Grab your favorite one
  • Simple reg­is­tra­tion
  • Premium TLDs at great prices
  • 24/7 personal con­sul­tant included
  • Free privacy pro­tec­tion for eligible domains

What is FaaS?

Function as a Service is a cloud computing service with which ap­pli­ca­tions can be developed and put into operation. The special feature is that the server on which the ap­pli­ca­tion runs and the in­fra­struc­ture of the service are the re­spon­si­bil­i­ty of the provider, meaning that as­so­ci­at­ed tasks like main­te­nance or regular updates are not necessary for the de­vel­op­ers. This allows them to focus entirely on pro­gram­ming code for the required ap­pli­ca­tion packages. Here, the term “function” refers to a software component that is often executed for only seconds. Ap­pli­ca­tions consist of one or several functions, and it’s also possible to assemble mi­croser­vice com­po­nents that consist of a large number of functions.

Although many of the FaaS solutions are cloud-based, some of the FaaS ar­chi­tec­tures are also deployed locally and are installed and hosted in purpose-built data centers. The provider charges for the use of the FaaS solution based on the computing power required and the data storage used.

How does Function as a Service work?

Function as a Service provides de­vel­op­ers with a method for im­ple­ment­ing server­less computing. For this purpose, a business logic is written within a so-called container, and man­age­ment is carried out entirely via a readily provided platform. This platform is usually used in the cloud, but the model is also already being used with local and hybrid de­ploy­ments.

What’s special: FaaS follows a reactive system that is con­trolled by events. The events are triggered by specific occasions, such as the click on a button, which results in the function being called up. Once the call has been made, the service waits until a new event is generated. The basis for how FaaS works is that the response to the occasion is started and executed straight away. For example, the upload of an image file can trigger a reaction that results in the file being au­to­mat­i­cal­ly converted to a specific format.

To execute the responses of the Function as a Service logic, an in­fra­struc­ture is available at any time, so that permanent server processes aren’t needed in the back­ground. This in turn has a positive effect on scaling options: The cloud provider ensures the avail­abil­i­ty of the defined functions and provides resource al­lo­ca­tion to the second. As a result, when few requests arrive, the ap­pli­ca­tion is scaled down. With FaaS, you’re charged only for the resources used – standby times are therefore not incurred.

In practice, two types of ap­pli­ca­tions are par­tic­u­lar­ly well suited for FaaS im­ple­men­ta­tion: in­fre­quent­ly executed workloads and high-volume trans­ac­tions.

What’s the dif­fer­ence between FaaS and SaaS?

The fun­da­men­tal dif­fer­ence between FaaS and SaaS lies in how the two cloud services are applied. While FaaS operates in the microcosm of the ap­pli­ca­tion landscape and is limited to simple functions, Software as a Service provides users with extensive ap­pli­ca­tions.

The com­mon­al­i­ty between both services is that no dedicated server has to be provided to use the services. This elim­i­nates the entire ad­min­is­tra­tion and main­te­nance effort, so that the resources freed up can be used for other projects and de­vel­op­ments.

SaaS solutions include, for example, Google Drive or Slack, which are used by a large number of companies for day-to-day tasks. The scope of functions in SaaS is often clearly defined, so de­vel­op­ers can’t create ad­di­tion­al functions. In contrast, with FaaS, de­vel­op­ers can freely define desired functions according to existing re­quire­ments.

What are the ad­van­tages and dis­ad­van­tages of Function as a Service?

Ad­van­tages of Faas

  • Faster de­vel­op­ment: De­vel­op­ers don’t need to spend time con­fig­ur­ing and managing servers. All available capacity can be used to write ap­pli­ca­tion logic and develop ap­pli­ca­tions faster.
  • Automatic scal­a­bil­i­ty: FaaS solutions are scalable by their very nature. This elim­i­nates the need for up-front con­sid­er­a­tions about workloads in terms of data volumes accessed or usage volumes. The required scaling is performed au­to­mat­i­cal­ly by the provider and is billed on a per-second basis.
  • Efficient cost struc­tures: With Function as a Service, you’re only billed for what is actually accessed by users. There are therefore no costs for any resources held in reserve.
  • Minimal ad­min­is­tra­tive effort: With FaaS, both the hosting of a server and the man­age­ment and main­te­nance of the server in­fra­struc­ture are not in de­vel­op­ers’ hands.
  • Freedom in pro­gram­ming: FaaS solutions are usually possible in all common pro­gram­ming languages, so that no ad­di­tion­al pro­gram­ming knowledge is required for im­ple­men­ta­tion.

Dis­ad­van­tages of Faas

  • Limited design options: Since the in­fra­struc­ture and its man­age­ment sit with the provider, de­vel­op­ers must work with pre­de­fined systems. If you want to determine the server in­fra­struc­ture yourself, but want to save resources for main­te­nance, it’s worth taking a look at Backend as a Service (BaaS).
  • Complex testing: Depending on the provider, trans­fer­ring FaaS code to a local test en­vi­ron­ment is not a simple un­der­tak­ing. Testing an ap­pli­ca­tion may require more resources to complete.
Go to Main Menu