The DevOps movement has completely changed the nature of application development and deployment. Alongside the development of new cloud platforms and agile development techniques, the DevOps movement has brought development and operational IT teams together so software releases are carried out with cooperation between the two teams. But Andi Mann, the Chief Technology Advocate at Splunk, says there's a need for an evolution of that approach. Dubbed NewOps, he wants to see that connection between the development and operational teams developed further.
In the traditional development lifecycle, software is created by collecting requirements from users, developing the program, testing and then handing the application to a deployment team who install it and hand over responsibility to operational teams. That approach was typically built around large scale development projects. But over recent years a more interactive and iterative development process, called agile, has resulted in much smaller releases at a greater frequency.
This necessitated a closer relationship between all the parties involved and has allowed businesses to react to changing business circumstances quickly. It has also helped reduce risk by not putting all your software ware development eggs in one basket.
But Mann says the role of the system operator is changing.
"Increasingly, the old style of IT operations, the classic sys admin role, has been left behind. We hear it all the time from developers. They say 'the cloud is our operations team'," said Mann.
The result is that part of the application lifecycle has been left behind. While the DevOps movement has delivered great benefit during development and deployment, less attention has been directed to the operate and fix part of the lifecycle. This is where NewOps fits in. By using observability, data and metrics, operations teams can work with developers to help them solve problems explains Mann. He says the use of the term NewOps echoes the goal of DevOps and makes it clear we aren't talking about NoOps.
The information that operations teams can access is useful to developers to help them better develop the next iteration of their applications. NewOps focusses on the operation of an application and learning how the apple action works so it can optimised. It also keeps a closer connection between operations and development teams.
As new technologies and methods come to light, it can be challenging for businesses to know what to focus on so they around being blown around the wind of what is topical and new. Mann says it's important to maintain focus and know what is important. And, to do that, data is the only constant. Even in the API age we're in, understanding the data that goes into and comes out of a service, is critical.
By keeping an eye on the data, operations teams can move from "babysitting mode" where the goal is to monitor and maintain systems into a state where they are constantly looking for ways to optimise and to detect anomalies. This can help businesses not only plan the functions in future releases but inform the timing of releases.
Mann says one of the challenges is about overcoming the "failure is not an option mindset".
"Failure should always be an option," explains Mann. "The secret is to find ways to fail fast, small and cheap and then learn from your mistakes. If you do that, things work a lot better".
For example, instead of doing large six-monthly waterfall releases, you can split off a small part of your production environment and deeply changes there. They you can compare the new release against the previous production environment by looking at the data. This means the traditional tools for making decisions - gut feel and schedules - are set aside in favour of data-driven decision making processes.
New releases are put into production when the data says they are ready and not because a milestone date on a schedule has been reached. This is a significant change to how application projects are managed. Traditionally, everyone would push hard to complete development and deploy according to a project plan. Instead, Mann says that by using data it becomes possible to only release new functions and updates when they are ready.
This requires a change that starts at management says Mann. And there's also a need for developers and system administrators and operations teams to develop their communication and collaboration skills. And there is also a need for everyone to have an understanding of coding. That doesn't mean everyone needs to be able to write code. Rather, it's about understanding how coding works so that everyone has a common language for discussing how things work.
NewOps is an evolution of the DevOps approach that takes a data-driven approach to how applications are operated and using the lessons learned from running an application to inform the ongoing development process. It takes the approach of getting an application into production further and looks at what happens after an application is in production.
Anthony Caruana interviewed Andi Mann at Splunk.conf in Orlando, which he attended as a guest of Splunk.