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.
Two years ago, Amazon, Comcast, Twitter and Netflix were effectively taken off the Internet for multiple hours by a DDoS attack because they all relied on a single DNS provider. Can it happen again? ...
We're seeing artificial intelligence for IT operations or "AIOps" take center stage in the IT industry. If AIOps hasn't been on your horizon yet, look closely and expect it soon. So what can we expect from automation and AIOps as it becomes more commonplace? ...
Use of artificial intelligence (AI) in digital commerce is generally considered a success, according to a survey by Gartner, Inc. About 70 percent of digital commerce organizations surveyed report that their AI projects are very or extremely successful ...
Most organizations are adopting or considering adopting machine learning due to its benefits, rather than with the intention to cut people’s jobs, according to the Voice of the Enterprise (VoTE): AI & Machine Learning – Adoption, Drivers and Stakeholders 2018 survey conducted by 451 Research ...
AI (Artificial Intelligence) and ML (Machine Learning) are the number one strategic enterprise IT investment priority in 2018 (named by 33% of enterprises), taking the top spot from container management (28%), and clearly leaving behind DevOps pipeline automation (13%), according to new EMA research ...
Although Windows and Linux were historically viewed as competitors, modern IT advancements have ensured much needed network availability between these ecosystems for redundancy, fault tolerance, and competitive advantage. Software that offers intelligent availability enables the dynamic transfer of data and its processing to the best execution environment for any given purpose. That may be on-premises, in the cloud, in containers, in Windows, or in Linux ...
TEKsystems released the results of its 2018 Forecast Reality Check, measuring the current impact of market conditions on IT initiatives, hiring, salaries and skill needs. Here are some key results ...
Retailers that have readily adopted digital technologies have experienced a 6% CAGR revenue growth over a 3-year period, while other retailers that have explored digital without a full commitment to broad implementation experienced flat growth over the same period ...
As businesses look to capitalize on the benefits offered by the cloud, we've seen the rise of the DevOps practice which, in common with the cloud, offers businesses the advantages of greater agility, speed, quality and efficiency. However, achieving this agility requires end-to-end visibility based on continuous monitoring of the developed applications as part of the software development life cycle ...