A Cloud-Based DevOps Toolchain for Efficient Software Development

More Info
expand_more

Abstract

In the traditional software development life cycle, development and operation are divided into different departments. The conflict between departments and, besides, the lack of automation usually leads to low software development efficiency and slow software delivery. Thus, the concept of DevOps is introduced, which combines different departments and automates the process to make software delivery faster and easier. The DevOps toolchain is one important component for adopting DevOps. On the other hand, the adaptation of cloud technology, especially serverless computing makes it tempting for us to investigate what benefits serverless computing brings to the DevOps toolchain. In the first research question, we examine the benefits that AWS serverless platforms bring to DevOps toolchain. To answer this research question, we develop a DevOps toolchain hosted in Amazon Web Services (AWS) and leverage the serverless computing service. In addition, we examine what does each serverless computing service brings to the DevOps toolchain, examine how does the performance of the DevOps toolchain changes with or without using serverless computing service. Our research shows that serverless computing services such as AWS Fargate could reduce the cost, operation effort, and improves performance by enabling parallel execution. Our experiments show that in contrast to a toolchain hosted in a traditional cloud server vs the toolchain that was developed by us using serverless computing service could reduce the total runtime of parallel execution up to 65%. In the second research question, we focus on the integrated toolchain build with AWS DevOps tools from AWS serverless platform. We build a demo integrated DevOps toolchain with AWS DevOps tools and compare the integrated toolchain with the non-integrated toolchain that we built. We find that the integrated toolchain significantly reduces the development time by providing an out-of-box solution for the software team. In addition, the better integration with underlying cloud infrastructure provides more functionality such as global monitoring and blue/green deployment. However, we also find that from the experiment that the performance of the integrated toolchain is lower due to the limitation of resources which also come with a high cost.

Files