Advantages of Serverless Services for Servitization Teams

Imagine: you are working for a company that produces tires. For many years now, your company has been collecting sensor data from the previously sold tires. Now the time has come to extract value from that data. You will lead the implementation of a data-driven predictive maintenance service, so your company can take over responsibility for timely maintenance from the customer (“servitization”). You need to gather the right expertise around you, and build a digital infrastructure. But how do you limit the amount of the digital/technical knowledge needed by the team, if digitalization is not your core business?

Case 1: Storing data in a database

The team decides to store data in a database on AWS, and need to choose how to set up the database. Two extreme opposites are:

  • serverless with AWS Aurora
Table 1: storing data, do I need to spend time on …?
  • Updating and upgrading the operating system and the database version
  • Configuring up and downscaling of the resources to support fluctuations in required storage size and usage intensity
  • Making estimates of the required storage and CPU to avoid over and under capacity

Case 2: Tire wear model code deployment

Once the data has been stored in the cloud, it must be prepared for use. The data is cleaned, transformed and stored again. Then analytical models analyze the data and provide advice on maintenance. To this extent, a domain specialist digitalizes a physical model that, for example, calculates wear on the tire. The question is, how will this model run in the cloud environment?

  • Serverless functions or Function as a Service (FaaS). This option requires uploading the model code and invoking the function. Serverless functions are (often) limited in their duration and memory. You invoke the function with different parameters, for example belonging to different tires. The FaaS framework will take care of spawning independent processes and the underlying resources instantly.
  • Using containers in Kubernetes. This option will run the code in Docker containers, which are orchestrated by Kubernetes. The code is stored in Docker images, which are build by the developer. There are many ways to run the code on Kubernetes, for example with Jobs, or by installing a FaaS framework on top of Kubernetes (like OpenFaaS).
  • (new: FaaS on AWS now runs Docker containers.)
Figure 1: Three ways in which the physical model can be deployed in a scalable manner.
  • Kubernetes reduces infrastructural tasks but requires knowledge of Docker and Kubernetes.
  • The serverless approach requires knowledge of the serverless framework, but does not require management tasks.
Table 2: Processing data: do I need to spend time on …?
  • Updating and upgrading the operating system
  • Configuring up and downscaling of the size and number of virtual machines
  • Estimating the CPU and memory requirements of the virtual machines

Case 3: …?

Data storage (Case 1) and code deployment (Case 2) are just a few of the topics the team will encounter. When setting up a reverse proxy, or message queue, a similar assessment with the CNCF definition can be made. If the team happens to be on Kubernetes, a wide range of serverless tools that may be used. An overview is found on the CNCF serverless landscape.

Conclusion

If your team starts to develop a cloud application, it’s important to make conscious decisions on the responsibilities you take for the digital infrastructure and frameworks. Using virtual machines and building you own world is always an option, but moving responsibilities to the cloud vendor could be a better choice. Serverless moves many responsibilities to the cloud vendor.

  1. By setting capacity units
  2. -
  3. AWS Elastic Compute
  4. AWS Elastic Kubernetes Service with Fargate, Azure Kubernetes Service
  5. AWS Lambda

About the author

Dick Abma and Bertjan Broeksema are data engineers at BigData Republic, an expert consultancy firm in data science & engineering. If you are interested in applying data engineering for your business, feel free to contact us at info@bigdatarepublic.nl.

Data Engineer at BigData Republic

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store