DevOps is the evolution of traditional application development and operations roles driven by the consumerization of all software and business demand for agility. DevOps meets the needs of today’s businesses to stay relevant by constantly innovating through software.
DevOps is as much about people and processes as it is about tools, if not more. Without cultural and process changes, technology alone cannot enable DevOps success. DEVOPS, one of the first challenges is to find out what the industry really thinks "DevOps" medium. DEVOPS asked experts from across the industry to define what DevOps means to them. The purpose of this list is not to propose a one-sentence definition of DevOps to appeal to everyone. The goal is to show how many different ideas are connected to the concept of DevOps and, in the process, learn a little more about what DevOps is all about.
Several top DevOps experts made that abundantly clear as DEVOPS compiled this list. That being said, a variety of technologies can be instrumental in supporting the people and processes that drive DevOps. DEVOPS asked experts from across the industry for their recommendation on a key technology required for DevOps.
DevOps tools are designed to support those definitive aspects of DevOps: collaboration, breaking down silos, joining Dev and Ops, agile development, continuous delivery, and automation, to name a few.
The list covers performance management, monitoring, and analytics.
1. APPLICATION PERFORMANCE MANAGEMENT – Clearly there are many tools vital to DevOps advancing, but Application Performance Management is the one that stands out today as it has become so entrenched as the primary vehicle by which professionals add and share critical data.
2. MONITORING: While DevOps is most often associated with automation and continuous integration/delivery tools, I believe the most important tool that organizations need to adopt and properly use to make a DevOps transformation is a monitoring system. You cannot improve what cannot be measured. Deploying key metrics across the enterprise to help recognize the areas most in need of improvement is the key to identifying bottlenecks that are preventing DevOps adoption.
3. MONITORING THE END-USER EXPERIENCE: The parts of DevOps that turn the tide and start exposing production data to developers are also increasingly implemented, but the processes surrounding them are not. For example, tools that allow exposure to the actual end-user experience in production should become more transparent to engineering departments rather than just operations. Furthermore, many of these tools also provide value on the business side, so a successful implementation in the user experience monitoring domain would further satisfy stakeholders.
4. SYNTHETIC MONITORING: DevOps implies that you need to communicate between Ops and Dev in a good way. Using application/API driven synthetic monitoring will always give you the yardstick by which to measure your success.
5. INFRASTRUCTURE MANAGEMENT – If you’re stranded on a deserted island (but with a strong and reliable internet connection), you still need to make sure your infrastructure works and your users are happy with their experience. What is needed is a robust and extensible digital infrastructure management platform that can collect data from each layer of your stack, analyze what is normal, what is not, and visualize the impact of anomalous behavior. This will allow you to detect problems that may affect your operations before they actually affect your business.
6. INCIDENT MANAGEMENT: Organizations must understand that tools are only part of the answer. They must have the people, processes, and tools necessary to successfully implement a DevOps environment. There are a number of useful tools in the DevOps ecosystem. You want to think along the lines of productivity, repeatability, and security when considering the most appropriate tools to facilitate a DevOps mindset.
7. ANALYSIS: DevOps needs tools that go beyond continuous release and deployment. They need tools that provide continuous analytics to measure and analyze application activities against business objectives. While the focus is often on continuous release and deployment, that is not always possible in some enterprises due to regulatory issues. However, there is a need for ongoing monitoring, follow-up and analysis. First, use monitoring to collect end-user experience data, as well as infrastructure and application data. Then track and piece together the transactions to show a timeline of what happened. Finally, create shared metrics that allow analysis to be benchmarked against technical and business goals.
8. MANAGER’S MANAGER: DevOps’s agile development model extends to its tools, and we’ve seen a huge proliferation of tools introduced to improve some aspect of monitoring. While each tool solves a specific problem, the proliferation has inadvertently fostered silos of expertise, domain-specific views, and massive volumes of data generated in various formats. As the number of applications and architecture complexity increases, the must-have tool for scaling production support is an analytics-based administrator manager. You have to ingest all this operational event data and apply machine learning to automate noise reduction and alert correlation. This gives DevOps teams earlier warning of developing issues, better collaboration, root cause visibility, and ultimately reduces the impact of production outages and incidents.