Implementation of DevOps pipeline for Serverless Applications

Loading...
Thumbnail Image

URL

Journal Title

Journal ISSN

Volume Title

Perustieteiden korkeakoulu | Master's thesis

Date

2018-06-18

Department

Major/Subject

Software and Service Engineering

Mcode

SCI3043

Degree programme

Master’s Programme in Computer, Communication and Information Sciences

Language

en

Pages

78

Series

Abstract

Serverless computing is a cloud computing execution model where server-side logic runs in the stateless compute containers that are event-triggered and usually fully managed by vendor hosts such as AWS Lambda. This approach is also called Function as a Service (FaaS). Applications that rely on this approach are called Serverless applications. Serverless usage promises infrastructure cost reduction and automatic scalability. One more important benefit of serverless is making the operations part of DevOps process simpler. It reduces the time on the management and maintenance of the servers and sometimes makes them even completely unnecessary. Despite this fact, applications using serverless computing model require a new look at DevOps automation practices since it is a new approach to software architecture design and software development workflow. The goal of this thesis is to implement DevOps pipeline for a Serverless application within a single case organization and evaluate the results of implementation. This is done through design science research, where result artifact is a release pipeline designed and implemented according to the requirements for a new project in the case organization. The result of the study is automated DevOps pipeline with implemented Continuous Integration (CI), Continuous Delivery (CD) and Monitoring practices required for the case project. The research shows that architecture of Serverless applications affects many DevOps automation practices such as test execution, deployment and monitoring of the application. It also affects the decisions about source code repositories structure, mocking libraries and Infrastructure as Code (IaC) tools.

Description

Supervisor

Smolander, Kari

Thesis advisor

Kyröhonka, Jussi

Keywords

DevOps, serverless, continuous integration, continuous delivery, design science research

Other note

Citation