152 research outputs found

    Practical tooling for serverless computing

    Get PDF
    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)

    Get PDF
    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)

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Full text link
    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
    • …
    corecore