In Part 2 of APMdigest's exclusive interview, John Jeremiah, Technology Evangelist for HP's Software Research Group, talks about DevOps.
APM: Do you feel that developers and testers are being held more accountable for application quality today? How is their role changing?
JJ: Developers and testers are taking greater and greater accountability for both speed and quality. As we've discussed, if defective code gets into a new software product or update, it becomes much more costly and time-consuming to rectify down the line. It's like one bad ingredient in a sandwich. The more ingredients are added to the sandwich, the more laborious and painful it becomes to take it apart.
The goal of having smaller, more focused releases is to improve both speed and quality. Because development is faster and releases are smaller, then it becomes easier to test and fix bugs.
Faster feedback is a key to both speed and quality – if a bug is quickly found, the developer knows what to fix, as opposed to finding a bug that was created six months ago. Not only is it easier to fix, it's also possible to prevent a spiral of issues based on that one bad line of code.
APM: What about the "Ops" side of DevOps – how is the Ops role changing? What new demands do they face?
JJ: It's not all about Dev and Test. In fact, automating the delivery — code and infrastructure — of an app change is a critical part of DevOps. The explosion of containerization and infrastructure as code is having a real impact on the definition of "Ops". I see their role evolving to where they provide consistent frameworks or patterns of infrastructure for DevOps teams to utilize — shifting from actually doing the provisioning, to providing "standard" and "supported" packages for Dev teams.
IT Ops teams also contribute to application quality in a "shift right" way so to speak. There is a wealth of information in production data that can be fed back to developers, in order to help developers prioritize areas for improvement – for example, what are the most common click-through paths on a website, or where exactly in a site are end users abandoning shopping carts or transactions?
APM: How do you predict that DevOps will evolve?
JJ: DevOps will become more common in many enterprises, evolving from an emerging movement. The collaborative nature and shared responsibilities of DevOps will continue to blur rigid role definitions and we will see traditional silo mentalities increasingly fade away.
Developers are acting more like testers; IT Ops teams are feeding crucial information back to developers to assist in the development process; and developers are architecting applications — based on this feedback — to be more resource-efficient, essentially thinking and behaving like IT ops teams. Everyone is united and focused on application roll-out speed and quality, which includes functional and end-user performance quality, as well as resource-efficiency — yet another ingredient of a quality app.
Visionary business leaders will take advantage of DevOps speed, and will create disruptive offerings in many industries, further accelerating the adoption of DevOps.
APM: What tools are essential to enable DevOps?
JJ: To achieve velocity combined with quality, DevOps teams need automation tools that enable them to eliminate manual, error-prone tasks; and radically increase testing coverage, both earlier in the lifecycle, as well as more realistically and comprehensively, in terms of network environments and end-user devices and geographies.
DevOps teams need visibility and insight into how their application is delivering value, so we're also seeing an increased need for advanced data analytics capabilities, which can identify trends within the wealth of production data being generated.
APM: Where does APM fit into DevOps?
JJ: Application Performance Management (APM) is a critical success factor in DevOps. There is no point rolling out the most feature-rich application — if it performs poorly for end users, they'll just abandon it, or it's a major IT resource drain, for example.
Before DevOps, you often had situations where a poorly performing app was discovered, and developers would then promptly point their finger at IT, and vice versa. In a DevOps team, everyone owns application performance and is responsible for success. Hence, APM systems give DevOps teams a true, unbiased view of how an application is performing.
Today, these systems are often combined with analytics that let DevOps teams identify the root cause of performance issues — whether code- or IT-related — in minutes, rather than days. In this way, APM helps to eliminate finger-pointing and guessing.
APM also can be used to proactively anticipate the end-user performance impact of new features and functionalities, which can help DevOps teams determine if these possible additions are worth it.
APM: With all the emphasis on testing automation lately, there is a theory that testing will go away as a discipline — "DevOps" will become "NoOps." Do you envision this ever happening?
JJ: In a word – No. It's a myth, misunderstanding and misconception that DevOps leads to reduced testing. In fact the opposite is true. A DevOps team is committed to keeping their code base ALWAYS ready for production. That means every change is tested, and defects are not tracked to be fixed later, but are fixed immediately. The team commits to keeping the build green and ready to go, ready to pass acceptance tests. The key to achieving this is the use of automation tools enabling them to provision, tweak, and de-provision testing resources, quickly and easily, so they can focus more of their time on actual testing.
As the data generated by organizations grows, APM tools are now required to do a lot more than basic monitoring of metrics. Modern data is often raw and unstructured and requires more advanced methods of analysis. The tools must help dig deep into this data for both forensic analysis and predictive analysis. To extract more accurate and cheaper insights, modern APM tools use Big Data techniques to store, access, and analyze the multi-dimensional data ...
Modern enterprises are generating data at an unprecedented rate but aren't taking advantage of all the data available to them in order to drive real-time, actionable insights. According to a recent study commissioned by Actian, more than half of enterprises today are unable to efficiently manage nor effectively use data to drive decision-making ...
According to a study by Forrester Research, an enhanced UX design can increase the conversion rate by 400%. If UX has become the ultimate arbiter in determining the success or failure of a product or service, let us first understand what UX is all about ...
The requirements of an APM tool are now much more complex than they've ever been. Not only do they need to trace a user transaction across numerous microservices on the same system, but they also need to happen pretty fast ...
Performance monitoring is an old problem. As technology has advanced, we've had to evolve how we monitor applications. Initially, performance monitoring largely involved sending ICMP messages to start troubleshooting a down or slow application. Applications have gotten much more complex, so this is no longer enough. Now we need to know not just whether an application is broken, but why it broke. So APM has had to evolve over the years for us to get there. But how did this evolution take place, and what happens next? Let's find out ...
There are some IT organizations that are using DevOps methodology but are wary of getting bogged down in ITSM procedures. But without at least some ITSM controls in place, organizations lose their focus on systematic customer engagement, making it harder for them to scale ...
If you have deployed a Java application in production, you've probably encountered a situation where the application suddenly starts to take up a large amount of CPU. When this happens, application response becomes sluggish and users begin to complain about slow response. Often the solution to this problem is to restart the application and, lo and behold, the problem goes away — only to reappear a few days later. A key question then is: how to troubleshoot high CPU usage of a Java application? ...
Operations are no longer tethered tightly to a main office, as the headquarters-centric model has been retired in favor of a more decentralized enterprise structure. Rather than focus the business around a single location, enterprises are now comprised of a web of remote offices and individuals, where network connectivity has broken down the geographic barriers that in the past limited the availability of talent and resources. Key to the success of the decentralized enterprise model is a new generation of collaboration and communication tools ...
To better understand the AI maturity of businesses, Dotscience conducted a survey of 500 industry professionals. Research findings indicate that although enterprises are dedicating significant time and resources towards their AI deployments, many data science and ML teams don't have the adequate tools needed to properly collaborate on, build and deploy AI models efficiently ...