- Overcoming the 6 barriers to IT modernization
- The display that solved my biggest smart home problem is $125 for Black Friday
- Three reasons why your Zero Trust project isn’t delivering results (and what to do about it.)
- My cat Norbert loves this automatic wet food feeder, and it's on sale for Black Friday
- QNAP fixes critical security holes in its networking solutions
The Many Flavors of DevOps
Join the Cisco DevOps Community
Lately, I’ve been trying to get a better understanding of the DevOps job role and the different directions this role has taken across the technology spectrum. The concept of DevOps has spread to several different areas, and each has its own distinct implementation.
What is DevOps?
In its most basic form, DevOps is the combination of development and operations to build a faster, more flexible, and more automated set of processes for software development. The origin of this idea is attributed to Patrick Debois (Mezak, 2018), who became frustrated with a lack of cooperation between developers and operations and started the DevOpsDays conference in Belgium in 2009.
DevOps lifecycle
The DevOps lifecycle is commonly used to describe scope and sequence of the different tasks that DevOps practitioners take on.
The DevOps lifecycle is divided into eight tasks
The DevOps lifecycle is divided into eight tasks, as shown in the previous graphic. These tasks are further divided by role, as follows:
Developer tasks
- Plan: Identify business requirements, collect feedback, make product roadmap
- Code: Code development, best practices, tools
- Build: Code commit and build tools
- Test: Security, user acceptance, performance, quality
Operations tasks
- Release: All tests complete, schedule deployment
- Deploy: Infrastructure-as-code, CI/CD
- Operate: In use by customers, provisioning and configuration can happen
- Monitor: Collect data on performance, customer behavior, look for bottlenecks in development and productivity
One of the benefits of adopting a DevOps cycle for building and deploying applications is that once established, this cycle can be run on a continuous basis. The lifecycle tasks can be described in these terms as follows:
- Continuous Development: Planning and introducing new code, focused on developers
- Continuous Integration: Integrating developed code into a central repository, focused on developers
- Continuous Testing: Pre-scheduled and automated code testing, focused on developers
- Continuous Delivery/Deployment: Updates are ready to be pushed to production, focused on operations
- Continuous Monitoring: Ongoing monitoring to ensure stability and performance, focused on operations
What are the different types of DevOps?
The DevOps role is fairly general in that it describes a methodology for developing and deploying software. However, this methodology is modified when applied to different technology areas and tasks. The following “flavors” of DevOps have been emerging:
NetDevOps/NetOps
Just like it sounds, NetDevOps brings the DevOps practices to the networking world. Of course, this is of big interest to many Cisco customers and partners as more networking configuration gets automated through software-defined networking (SDN). Preston (2017) points out that for a long time, network deployments were met with a “culture of fear”, with many companies very concerned about the fragility of their networks and worried that any changes might bring down their system. NetDevOps brings several benefits, from the ease of deployment using network automation, to the more vigorous quality checks and testing that can be done with a continuous integration and deployment (CI/CD) methodology.
DevSecOps/SecOps
Security has become an integral part of all network and application deployments. However, as Lietz (2015) points out, traditional security implementations were very focused on the waterfall methodology, and with security threats becoming more impactful every day, a more integrated and continuous approach to building security into software is required. DevSecOps brings the DevOps lifecycle to security implementations, which has helped security applications become more responsive and more secure as threats can be addressed as they occur.
DataOps
DataOps is the practice where teams developing data analytics can improve quality and cycle time in a similar way to how software development has improved with DevOps. One big difference between DevOps and DataOps is that DataOps consists of two main pipelines, the data factory and the innovation pipeline (DataKitchen, 2022). The data factory pipeline takes raw data and produces analytics that are of value to the organization. The innovation pipeline is where the analytics are used to develop ideas based upon the analytics and move them into production.
CloudOps
CloudOps takes the concepts of DevOps and applies them to a cloud-native environment. With cloud providers making fully programmable APIs available on their platforms, creating automation for these deployments is extremely easy (Crilly, 2020). In addition, tons of tools for cloud automation are available, such as Kubernetes, Terraform, and others, which makes CloudOps almost a necessity for any cloud-native implementations.
ChatOps
When I started reading about ChatOps, I had visions of Skynet in my head, as this flavor puts the bots in charge! ChatOps allows bots to perform automated tasks based on natural language input. For example, Gomez (2021) talks about how you can program your Webex chat bots to perform networking tasks. ChatOps is all about how to build these workflows to allow a higher degree of automation.
AIOps/MLOps
As described in the article, “What is AIOps?“, this is an approach to NetOps, SecOps, and DevOps in general where artificial intelligence (AI) and machine learning (ML) are used to integrate systems and automate IT operations. Using this advanced technology, an intelligent system can detect problems, send alerts, open tickets, and perform other tasks without human intervention.
NoOps
NoOps is the ultimate state of automation. This idea is that operations automation can be built in such a way that developers can interact with a self-service infrastructure that takes the operations reliance out of the picture (Spinella, 2022). This concept uses DevOps principles for automation, testing, and CI/CD, but has the ops part fully automated.
Platform Engineering
Aeris Stewart (2022) got a lot of attention when she posted her article entitled “DevOps is Dead. Embrace Platform Engineering.” She makes a good point, that many organizations have found difficulty in trying to balance the freedom that developers need to create with the boundaries that are necessary in deploying code in a cloud-focused world. This balance can be found by investing in platform engineers, who are focused on designing and building the toolchains and workflows that allow developers to develop and site-reliability engineers (SREs) to operate. In this sense, DevOps isn’t “dead”, it just needs a little help from platform engineering to keep up the flow and cooperation that has been so instrumental in building up the DevOps role.
So Many Flavors!
The basic idea behind all of the different kinds of xOps is that automation and continuous integration and deployment are part of having an efficient and manageable system, where changes can be made regularly without major disruptions. For many of us who are trying to understand how to improve the quality and speed of deploying applications, network configurations, analytics, and other business essentials, we can use these concepts, processes, and platforms to achieve our goals. I wish you the best on your xOps journey!
Do you have any questions, or want to continue the DevOps conversation? Join us in the new Cisco DevOps Community!
References
What is CloudOps?. Crilly, M. (2020, February 17).
Using a Bot to Operate Your Network!? – Getting Started with ChatOps, Part 1. Gomez, J. (2022, January 27). Cisco Blogs.
What is DevSecOps?. Lietz, S. (2015, June 2). DevSecOps.com.
The Origins of DevOps: What’s in a Name?. Mezak, Steve (2018, January 25). devops.com.
Part 1: Embrace NetDevOps, Say Goodbye to a Culture of Fear Preston, H. (2017, October 9). Cisco Blogs.
What is NoOps? – Shift focus from Operational Overhead to Mission Outcomes using the Azure NoOps Accelerator. Spinella, J. (2022, November 2).
DevOps Is Dead. Embrace Platform Engineering. Stewart, Aeris. (2022, November 4). The New Stack.
What Is AIOps? (2022, May 25). Cisco.
What is DataOps? (2022, October 7). DataKitchen.
Share: