Abstract
Context: The term “serverless” defines applications that use elements of Function as a Service or Backend as a Service cloud models in their architectures. Serverless promises infrastructure and operations cost reduction, faster software development, and automatic application scalability. Although many practitioners agree that Serverless simplifies operations part of DevOps, it still requires a new approach to automation practices because of the differences in its design and development workflow. Goal: The goal of this paper is to explore how Serverless affects DevOps practices and demonstrate a DevOps pipeline implementation for a Serverless case project. Method: As the method, we use the design science research, where the resulting artefact is a release and monitoring pipeline designed and implemented according to the requirements of the case organization. Results: The result of the study is an automated DevOps pipeline with an implementation of Continuous Integration, Continuous Delivery and Monitoring practices as required by the Serverless approach of the case project. Conclusions: The outcome shows how strongly the Serverless approach affects some automation practices such as test execution, deployment and monitoring of the application. In total, 18 out of 27 implemented practices were influenced by the Serverless-specific features of the project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Riungu-Kalliosaari, L., Mäkinen, S., Lwakatare, L.E., Tiihonen, J., Männistö, T.: DevOps adoption benefits and challenges in practice: a case study. In: Abrahamsson, P., Jedlitschka, A., Nguyen Duc, A., Felderer, M., Amasaki, S., Mikkonen, T. (eds.) PROFES 2016. LNCS, vol. 10027, pp. 590–597. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-49094-6_44
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: Migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)
Adzic, G., Chatley, R.: Serverless computing: economic and architectural impact. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering, pp. 884–889. ACM, Padeborn (2017)
Sbarski, P., Kroonenburg, S.: Serverless Architectures on AWS: With examples using AWS Lambda. Manning Publications Company, Shelter Island (2017)
Rodgers, J.: Serverless Hosting Comparison. https://headmelted.com/serverless-showdown-4a771ca561d2. Accessed 03 Jun 2018
Montiel, I.: How We Migrated our Startup to Serverless. https://read.acloud.guru/our-serverless-journey-part-2-908d76d03716. Accessed 03 Jun 2018
Kim, G.: Top 11 Things you Need to Know about DevOps. https://www.thinkhdi.com/~/media/HDICorp/Files/White-Papers/whtppr-1112-devops-kim.pdf. Accessed 03 Jun 2018
Dyck, A., Penners, R., Lichter, H.: Towards definitions for release engineering and DevOps. In: Release Engineering (RELENG), IEEE/ACM 3rd International Workshop, pp. 3–3. IEEE (2015)
Erich, F.M.A., Amrit, C., Daneva, M.: A qualitative study of DevOps usage in practice. J. Softw. Evol. Process 29(6), e1885 (2017)
Bass, L., Weber, I., Zhu, L.: DevOps: A Software Architect’s Perspective. Addison-Wesley Professional, Boston (2015)
Humble, J., Farley, D.: Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Pearson Education, London (2010)
Kim, G., Debois, P., Willis, J., Humble, J.: The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. IT Revolution (2016)
Fowler, M.: Continuous integration. https://martinfowler.com/articles/continuousIntegration.html. Accessed 03 Jun 2018
Fitzgerald, B., Stol, K.J.: Continuous software engineering and beyond: trends and challenges. In: Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, pp. 1–9. ACM, Hyderabad (2014)
Chapin, J., Roberts, M.: What is Serverless. O’Reilly Media Inc., Sebastopol (2017)
Roberts, M.: Serverless architectures. https://martinfowler.com/articles/serverless.html. Accessed 03 Jun 2018
Baldini, I., et al.: Serverless computing: current trends and open problems. In: Chaudhary, S., Somani, G., Buyya, R. (eds.) Research Advances in Cloud Computing, pp. 1–20. Springer, Singapore (2017). https://doi.org/10.1007/978-981-10-5026-8_1
Zambrano, B.: Serverless Design Patterns and Best Practices. Packt Publishing, Birmingham (2018)
Zanon, D.: Building Serverless Web Applications. Packt Publishing, Birmingham (2017)
Cukier, D.: DevOps patterns to scale web applications using cloud services. In: Proceedings of the 2013 companion publication for conference on Systems, programming & applications: software for humanity, pp. 143–152. ACM, Indianapolis (2013)
Claburn, T.: From DevOps to No-Ops: El Reg Chats Serverless Computing with NYT’s CTO. https://bit.ly/2waLJXz. Accessed 03 Jun 2018
Becker, T.: A Production-grade CI/CD Pipeline for Serverless Applications (2018). https://bit.ly/2PjPN0m. Accessed 03 Jun 2018
Gancarz, R.: Serverless takes DevOps to the Next Level (2017). https://www.infoq.com/articles/serverless-takes-devops-next-level. Accessed 03 Jun 2018
Dingsøyr, T., Lassenius, C.: Emerging themes in agile software development: Introduction to the special section on continuous value delivery. Inf. Softw. Technol. 77, 56–60 (2016)
Peffers, K., Tuunanen, T., Rothenberger, M.A., Chatterjee, S.: A design science research methodology for information systems research. J. Manag. Inf. Syst. 24(3), 45–77 (2007)
Brown, S.: Software Architecture for Developers, vol. 2. Visualise, document and explore your software architecture. Leanpub (2018)
Munns, C.: Serverless architecture patterns and best practices by Chris Munns. https://www.youtube.com/watch?v=_mB1JVlhScs. Accessed 03 Jun 2018
Driessen, V.: A Successful Git Branching Model. https://bit.ly/197szRP. Accessed 03 Jun 2018
Ståhl, D., Bosch, J.: Automated software integration flows in industry: a multiple-case study. In: Companion Proceedings of the 36th International Conference on Software Engineering, pp. 54–63. ACM, Hyderabad (2014)
Rejström, K.: Implementing continuous integration in a small company: A case study. Master’s thesis, Aalto University, School of Science, Espoo (2016)
Udd, R.: Adopting continuous delivery: A case study. Master’s thesis, Aalto University, School of Science, Espoo, Finland (2016)
Buckholz, G.: The pros and cons of a serverless DevOps solution. https://www.agileconnection.com/article/pros-and-cons-serverless-devops-solution. Accessed 03 Jun 2018
Ståhl, D., Bosch, J.: Experienced benefits of continuous integration in industry software product development: A case study. In The 12th iasted International Conference on Software Engineering, pp. 736–743. Innsbruck, Austria (2013)
Acknowledgements
We wish to thank all participants for their time and contributions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Ivanov, V., Smolander, K. (2018). Implementation of a DevOps Pipeline for Serverless Applications. In: Kuhrmann, M., et al. Product-Focused Software Process Improvement. PROFES 2018. Lecture Notes in Computer Science(), vol 11271. Springer, Cham. https://doi.org/10.1007/978-3-030-03673-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-030-03673-7_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-03672-0
Online ISBN: 978-3-030-03673-7
eBook Packages: Computer ScienceComputer Science (R0)