DevOps is the evolution of traditional application development and operations roles driven by the consumerization of all software and business demand for agility. DevOps facilitates the needs of today's businesses to stay relevant by constantly innovating through software.
DevOps is about people and processes as much as if not more than tools. 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" means. DevOps asked experts from across the industry to define what DevOps means to them. The purpose of this list is not to come up with a one-sentence definition of DevOps to appeal to all. The goal is to show just how many varied ideas are connected with the concept of DevOps, and in the process learn a little more what DevOps is all about.
Several of the top experts in the DevOps arena made this very clear while DEVOPS was compiling this list. That being said, a variety of technologies can be critical to 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, bringing Dev and Ops together, agile development, continuous delivery, and automation, to name a few.
The list covers performance management, monitoring, and analytics.
1. APPLICATION PERFORMANCE MANAGEMENT: There are clearly so many tools vital to DevOps advancement, but Application Performance Management is the one that stands out today as it has become so highly ingrained as the primary vehicle by which practitioners aggregate and share critical data.
2. MONITORING: While DevOps is most often associated with automation and continuous delivery/integration tools, I believe the single most important tool that organizations need to properly adopt and use to make a transformation to DevOps is a monitoring system. You cannot improve what you can't measure. Implementing key metrics across the business to help recognize areas that are in most need of improvement is the key to identifying the bottlenecks that prevent DevOps adoption.
3. END-USER EXPERIENCE MONITORING: The parts of DevOps which turn the tide around and start exposing data from production to developers are also increasingly deployed, but the processes around these are not. For example, tools that enable exposure to the actual end-user experience in production would need to become more transparent for the engineering departments instead of just operations. Even more so, many such tools provide value to the business side as well, so a successful deployment in the user experience monitoring domain would satisfy even more stakeholders.
4. SYNTHETIC MONITORING: DevOps implies that you need to communicate between Ops and Dev in a good way. Using application/API have driven synthetic monitoring will always give you the yardstick to measure your success.
5. INFRASTRUCTURE MANAGEMENT: If you are stranded on a desert island (but with a strong and reliable Internet connection) you still need to ensure your infrastructure is performing and your users are happy with their experience. What's needed is a solid and extensible Digital Infrastructure Management Platform that can collect data from every layer of your stack, analyze what's normal, what's not, and visualize the impact of anomalous behavior. This will allow you to catch issues that can affect your operations before they truly impact your business.
6. INCIDENT MANAGEMENT: Organizations must understand that tools are only one part of the answer. They must have the people, processes, and tools in place in order to successfully implement a DevOps environment. There are a number of helpful tools in the DevOps ecosystem. You want to think along the lines of productivity, repeatability, and safety when considering tools best suited to facilitate a DevOps mindset.
7. ANALYTICS: DevOps needs tools that go beyond continuous release and deploy. They need tools that provide continuous analytics in order to measure and analyze application activities against business objectives. While the focus is often on continuous release and deploy, that is not always possible in some firms due to regulatory concerns. However, the need is there for continuous monitoring, tracking and analytics. First, use monitoring to gather end-user experience data as well as infrastructure and application data. Then, track and stitch transactions together to show a timeline of what happened. Finally, create shared metrics that enable the analysis to be compared to both technical and business objectives.
8. MANAGER OF MANAGERS: The DevOps agile development model extends to its tools, and we've seen a huge proliferation of tools introduced to improve some aspects of monitoring. While each tool solves a specific problem, the proliferation has inadvertently fostered silos of expertise, domain-specific views and massive data volumes generated in various formats. As application count and architectural complexity increases, the must-have tool to scale production support is an analytics-driven Manager of Managers. It has to ingest all of these operational event data and apply machine learning to automate the noise reduction and alert correlation. This gives DevOps teams earlier warning of unfolding issues, better collaboration, visibility into root cause - ultimately reducing the impact of production outages and incidents.