152 research outputs found
Practical tooling for serverless computing
Cloud applications are increasingly built from a mixture of runtime technologies. Hosted functions and service-oriented web hooks are among the most recent ones which are natively supported by cloud platforms. They are collectively referred to as serverless computing by application engineers due to the transparent on-demand instance activation and microbilling without the need to provision infrastructure explicitly. This half-day tutorial explains the use cases for serverless computing and the drivers and existing software solutions behind the programming and deployment model also known as Function-as-a-Service in the overall cloud computing stack. Furthermore, it presents practical open source tools for deriving functions from legacy code and for the management and execution of functions in private and public clouds
Service Prototyping Lab Report - 2017 (Y2)
The annual activity report of the Service Prototyping Lab at Zurich University of Applied Sciences. Research trends and initiatives, research projects, transfer to education and local industry, academic community involvement, qualification and scientific development over the period of one year are among the covered topics
Service Prototyping Lab Report - 2018 (Y3)
The annual activity report of the Service Prototyping Lab at Zurich University of Applied Sciences. Research trends and initiatives, research projects, transfer to education and local industry, academic community involvement, qualification and scientific development over the period of one year are among the covered topics
FaaSter, better, cheaper : the prospect of serverless scientific computing and HPC
The adoption of cloud computing facilities and programming models differs vastly between different application domains. Scalable web applications, low-latency mobile backends and on-demand provisioned databases are typical cases for which cloud services on the platform or infrastructure level exist and are convincing when considering technical and economical arguments. Applications with specific processing demands, including high-performance computing, high-throughput computing and certain flavours of scientific computing, have historically required special configurations such as compute- or memory-optimised virtual machine instances. With the rise of function-level compute instances through Function-as-a-Service (FaaS) models, the fitness of generic configurations needs to be re-evaluated for these applications. We analyse several demanding computing tasks with regards to how FaaS models compare against conventional monolithic algorithm execution. Beside the comparison, we contribute a refined FaaSification process for legacy software and provide a roadmap for future work
Towards sustainable ecosystems for cloud functions
The main technologies around modern cloud development and deployment paradigms such as Function-as-a-Service (FaaS) environments follow a typical technology life-cycle. Starting with basic code installation and execution environments, they unfold into a complete ecosystem with rich collaborative development and market enablement tools. In this paper, we analyse the growth of such ecosystems, reveal causes of hindrances in previous service-oriented approaches, and present a vision of how an ecosystem with sustainable operation could look like both in general and specifically for cloud functions. We present Function Hub, a partial prototypical implementation to gain first knowledge about the potential operational ecosystem behaviour
A mixed-method empirical study of Function-as-a-Service software development in industrial practice
Function-as-a-Service (FaaS) describes cloud computing services that make infrastructure components transparent to application developers, thus falling in the larger group of “serverless” computing models. When using FaaS offerings, such as AWS Lambda, developers provide atomic and short-running code for their functions, and FaaS providers execute and horizontally scale them on-demand. Currently, there is no systematic research on how developers use serverless, what types of applications lend themselves to this model, or what architectural styles and practices FaaS-based applications are based on. We present results from a mixed-method study, combining interviews with practitioners who develop applications and systems that use FaaS, a systematic analysis of grey literature, and a Web-based survey. We find that successfully adopting FaaS requires a different mental model, where systems are primarily constructed by composing pre-existing services, with FaaS often acting as the “glue” that brings these services together. Tooling availability and maturity, especially related to testing and deployment, remains a major difficulty. Further, we find that current FaaS systems lack systematic support for function reuse, and abstractions and programming models for building non-trivial FaaS applications are limited. We conclude with a discussion of implications for FaaS providers, software developers, and researchers
A mixed-method empirical study of Function-as-a-Service software development in industrial practice
Function-as-a-Service (FaaS) describes cloud computing services that make infrastructure components transparent to application developers, thus falling in the larger group of “serverless” computing mod- els. When using FaaS offerings, such as AWS Lambda, developers provide atomic and short-running code for their functions, and FaaS providers execute and horizontally scale them on-demand. Currently, there is nosystematic research on how developers use serverless, what types of applications lend themselves to this model, or what architectural styles and practices FaaS-based applications are based on. We present results from a mixed-method study, combining interviews with practitioners who develop applications and systems that use FaaS, a systematic analysis of grey literature, and a Web-based survey. We find that successfully adopting FaaS requires a different mental model, where systems are primarily constructed by composing pre-existing services, with FaaS often acting as the “glue” that brings these services to- gether. Tooling availability and maturity, especially related to testing and deployment, remains a major difficulty. Further, we find that current FaaS systems lack systematic support for function reuse, and ab- stractions and programming models for building non-trivial FaaS applications are limited. We conclude with a discussion of implications for FaaS providers, software developers, and researchers
The Journey to Serverless Migration: An Empirical Analysis of Intentions, Strategies, and Challenges
Serverless is an emerging cloud computing paradigm that facilitates
developers to focus solely on the application logic rather than provisioning
and managing the underlying infrastructure. The inherent characteristics such
as scalability, flexibility, and cost efficiency of serverless computing,
attracted many companies to migrate their legacy applications toward this
paradigm. However, the stateless nature of serverless requires careful
migration planning, consideration of its subsequent implications, and potential
challenges. To this end, this study investigates the intentions, strategies,
and technical and organizational challenges while migrating to a serverless
architecture. We investigated the migration processes of 11 systems across
diverse domains by conducting 15 in-depth interviews with professionals from 11
organizations. we also presented a detailed discussion of each migration case.
Our findings reveal that large enterprises primarily migrate to enhance
scalability and operational efficiency, while smaller organizations intend to
reduce the cost. Furthermore, organizations use a domain-driven design approach
to identify the use case and gradually migrate to serverless using a strangler
pattern. However, migration encounters technical challenges i.e., testing
event-driven architecture, integrating with the legacy system, lack of
standardization, and organizational challenges i.e., mindset change and hiring
skilled serverless developers as a prominent. The findings of this study
provide a comprehensive understanding that can guide future implementations and
advancements in the context of serverless migration
- …