Casale, GiulianoZhu, LulaiLulaiZhu2024-02-232023-10-312024-02-232022-05almahttp://hdl.handle.net/10044/1/109497Function as a service (FaaS) is a new cloud computing paradigm that realizes the idea of serverless. In the FaaS paradigm, an application is built of stateless functions whose resources are provisioned and managed by the cloud provider in place of their owner. FaaS saves operating costs, reduces management effort, enables seamless scalability and augments development productivity, compared to traditional cloud computing paradigms such as infrastructure as a service and platform as a service. Despite these benefits, three challenges often arise as obstacles to software vendors taking advantage of the FaaS paradigm and relevant technologies: migration of a monolith to the serverless architecture, cost optimization of serverless applications and performance modeling of FaaS-oriented frameworks. To address the first challenge, we propose a semi-automatic approach, RADF, for decomposing the architecture of a monolithic application. RADF divides the entire decomposition process into two stages, namely coarse- and fine-grained decompositions. The former identifies candidate microservices through interface analysis, while the latter composes the identified microservices with serverless functions. RADF has been compared with other approaches in the literature, leading to a decomposition solution better than the available baselines. To tackle the second challenge, a model-driven approach called RDOF is proposed for optimizing the deployment of a serverless application. RDOF predicts the performance of an application by instantiating a layered queueing network, and searches for the optimal configuration by running a genetic algorithm. We have demonstrated the applicability of RDOF on Amazon Web Services, which is now the most popular public cloud platform as to serverless computing. RDOF may also be extended to Google Cloud. The third part of the thesis focuses on closed queueing networks (QNs) with discriminatory processor sharing (DPS), which are found useful for modeling the performance of the OpenFaaS framework. Specifically, we propose a fluid approach to transient and steady-state analysis of closed QNs consisting of delay and DPS stations. This approach is as accurate as the state of the art for steady-state analysis. A refined method for approximating response time distributions through transient analysis is further introduced. It outperforms prior work in handling non-exponentially distributed service times.Creative Commons Attribution LicenceApplication decomposition and optimization for function as a serviceThesis or dissertationhttps://doi.org/10.25560/109497644869825040