TU Darmstadt / ULB / TUprints

Migrating monolithic applications to function as a service

Würz, Hendrik M. ; Krämer, Michel ; Kaster, Marvin ; Kuijper, Arjan (2024)
Migrating monolithic applications to function as a service.
In: Software: Practice and Experience, 2024, 54 (2)
doi: 10.26083/tuprints-00027174
Article, Secondary publication, Publisher's Version

[img] Text
SPE_SPE3263.pdf
Copyright Information: CC BY 4.0 International - Creative Commons, Attribution.

Download (1MB)
Item Type: Article
Type of entry: Secondary publication
Title: Migrating monolithic applications to function as a service
Language: English
Date: 4 June 2024
Place of Publication: Darmstadt
Year of primary publication: February 2024
Place of primary publication: Chichester
Publisher: John Wiley & Sons
Journal or Publication Title: Software: Practice and Experience
Volume of the journal: 54
Issue Number: 2
DOI: 10.26083/tuprints-00027174
Corresponding Links:
Origin: Secondary publication DeepGreen
Abstract:

Function as a service (FaaS) promises low operating costs, reduced complexity, and good application performance. However, it is still an open question how to migrate monolithic applications to FaaS. In this paper, we present a guideline for software designers to split monolithic applications into smaller functions that can be executed in a FaaS environment. This enables independent scaling of individual parts of the application. Our approach consists of three steps: We first identify the main tasks (and their subtasks) of the application to split. Then, we define the program flow to be able to tell which application tasks can be converted to functions and how they interact with each other. In the final step, we specify actual functions and possibly merge those that are too small and which would produce too much communication overhead or maintenance effort. Compared to existing work, our approach applies to applications of any size and results in functions that are small enough — but not too small — for efficient execution in a FaaS environment. We evaluate the usefulness of our approach by applying it to a real‐world application for the storage of geospatial data. We describe the experiences made and finish the paper with a discussion, conclusions, and ideas for future work.

Uncontrolled Keywords: architectural design, cloud computing, design patterns, function as a service, migration
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-271746
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Interactive Graphics Systems
20 Department of Computer Science > Fraunhofer IGD
20 Department of Computer Science > Parallel Programming
Date Deposited: 04 Jun 2024 12:42
Last Modified: 07 Jun 2024 07:32
SWORD Depositor: Deep Green
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/27174
PPN: 518863530
Export:
Actions (login required)
View Item View Item