Microservices are a hot topic in IT circles these days. The idea of a modular approach to system building – where you have numerous, smaller software services that talk to each other instead of monolithic components – has many benefits ...
In my previous blog, Two APM Takeaways from Velocity Santa Clara 2014, I talked about fragmentation of solutions as a major trend in the APM space. Most vendors are providing a singular solution for some part of performance management, but yet, very few are able to provide a unified solution. In this post I want to extend this discussion to focus on what this means for DevOps.
I believe the lack of solution unification is an epidemic in the tech industry. Something that particularly stands out is that while more and more organizations are beginning to adopt the DevOps model by embracing continuous integration and collaboration, when it comes to the APM market serving these folks, some fundamental ideals of DevOps are thrown out the window — namely, the efficiency and collaboration aspects.
The Fragmentation of Tools is the Fragmentation of Teams
In the ever expanding vortex of value propositions and fragmented solutions that make up the APM market today, simplicity is getting lost. Everyone is so busy fighting to get or stay in the picture that they forget to take a step back to look at the big picture, and realize that all we are doing is collectively building an incomplete solution model. If it feels as though you are trying to integrate solutions that never were meant to integrate in the first place, it's because they weren't. And if the tools are disconnected, the teams that use them are much more likely to be disconnected as well. Or at least, not as connected as they could be.
When something breaks or a bug makes it into production, development and operations like to play hot potato with the blame — until everyone eventually tires and points their fingers at whichever one of their tools is most suspect for having failed them this time. However, the issue is often not the tool's fault either — the fault is shared by the assembly of tools that are collectively failing to support and encourage developers and operations to work together and collaborate.
Wait, Isn't DevOps About Efficiency?
It's natural to fix something after it breaks, but we are often not as good as we want to be at setting up prevention mechanisms to stop the issues from ever happening in the first place — perhaps if this weren't the case, APM vendors would have been building unified solutions from day one. This leads to businesses buying new tools for each part of a larger mission in order to alleviate some previous mishap and prevent it from happening again. The worst part is that by doing so you often can end up creating a much larger problem for yourself in the long term, as a result of opting for the quick fix in order to step around a small one in the short term.
Businesses are using an arsenal of tools that integrate (or don't integrate) with each other in attempt to assemble a complete APM solution. And then you have a whole other assorted toolbox for things like code review, functional testing, API testing and load testing for maintaining quality and superior user experience while continuously delivering applications. While these different solutions may be used by different functions, they are still all part of a single process. The more these silos are broken down in the future the more fluent and efficient that process will be.
Unified APM = DevOps
Perhaps the best approach is not about finding and filling the gaps with more and more tools as problems arise, and instead starting from square one with a single, unified platform for DevOps — one which fully supports collaboration between dev and ops, and enables ultimate efficiency by eliminating the need for added complexity and integrations.
The idea of eliminating the amount of time and energy spent evaluating, integrating and implementing all of these different tools makes the idea of unification worthwhile in itself, but of course this would only be the tip of the iceberg in terms of value.
In order to fully embrace the culture of DevOps and continuous integration, the tools that teams use need to support their fundamental principles and not dangle one leg over the fence. The days of patching a different piece of software onto every different part of the process are numbered.
Denis Goodwin is Director of Product Management, APM, AlertSite UXM, SmartBear Software.