From DevOps to NoOps: Is It Worth It?

Abstract

With the rise of the adoption of microservice architecture due to its agility, scalability, and resiliency for building the cloud-based applications and their deployment using containerization, DevOps were in demand for handling the development and operations together. However, nowadays serverless computing offers a new way of developing and deploying cloud-native applications. Serverless computing also called NoOps, offloads management and server configuration (operations work) from the user to the cloud provider and lets the user focus only on the product developments. Hence, there are debates regarding which deployment strategy to use. This research provides a performance comparison of a cloud-native web application along with three different function benchmarks in terms of scalability, reliability, and latency when deployed using DevOps and NoOps deployment strategy. NoOps deployment in this work is achieved using Google Cloud Function and OpenWhisk, while DevOps is achieved using the Kubernetes engine. This research shows that neither of the deployment strategies fits all the scenarios. The experimental results demonstrate that each type of deployment strategy has its advantages under different scenarios. The DevOps deployment strategy has a huge performance advantage (almost 72% lesser 90 percentile response time) for simple web-based requests and requests accessing databases while compute-intensive applications perform better with NoOps deployment. Additionally, NoOps deployment provides better scaling-agility as compared to DevOps.

Anshul Jindal
Anshul Jindal
Ph.D. Student

My research interests include cloud computing, specifically focussing on serverless computing for heterogeneous systems, edge computing, and AIOps.

Related