When DevOps emerged in 2009, the gap between development and operations teams finally started to get the kind of media and vendor attention it deserved. DevOps gets developers more involved in IT operations so they can more rapidly resolve software issues that arise after deployment. Without access to production applications and servers, even development managers and system admins need help identifying and solving problems, which is horribly inefficient.
Some of us have been doing “DevOps” even before it had a name. At my last company, the lead developers were heavily involved in hardware purchases, setting hardware up, deploying code, monitoring systems and much more. The problem was that only three of the 40 developers had production access. The chosen three (including me) spent an inordinate amount of time helping others troubleshoot and fix application bugs. While I didn’t trust the junior developers with the “keys to the kingdom” I nevertheless would have preferred them to have the ability to fix their own bugs. Because our application support processes weren’t very efficient, I wasted a lot of my own time fixing bugs instead of building new features.
Later, I started Stackify because I believe that more developers should be involved in production application support. That way, a couple of employees – like the three of us at my old job – don’t become a bottleneck. Meanwhile, junior developers, QA and even less technical support people can get server access to view log files and other basic troubleshooting information. Sadly in most companies today, the lead developer or system admin ends up tracking down a log file or finding some minor bug in another developer’s app when they should be working on more important projects.
Developers should be more involved in the design and support of the infrastructure our applications rely on since we are ultimately responsible for the applications we create. We should be able to deploy our applications, monitor production systems, ensure everything is working properly and be held responsible when our applications fail in production.
Finding and fixing bugs is often more difficult than it sounds, however. Just think for a moment. What do your developers need access to? If your team is anything like mine was they need:
- A database of application exceptions
- Application and server log files
- Windows Event Viewer
- Application and server config files
- SQL databases to test queries
- Scheduled jobs history
- Server monitoring tools
- Performance monitoring tools
- … and the list goes on…
When a developer is trying to fix a bug, nothing is more frustrating than lacking the details necessary to reproduce or fix the problem. As the list above shows, troubleshooting application problems can require access to a lot of information which in turn involves a lot of screens and a lot of logins. Imagine getting all the information you need in a single screen and then having the ability to drill down into it with a couple of mouse clicks.
As nice as it sounds, giving developers access to the information they need has been more difficult than it sounds because:
- The data resides in many locations
- Too many tools exist to access different types of information
- It can be difficult or impossible to control access rights and protect sensitive data
- Developers should be prevented from making changes
- It is difficult or impossible to audit what developers access
To overcome the challenges outlined in this post, I and my team at Stackify built a solution that gives developers access to all the information they need to provide effective application support. It also solves the problems that have prevented such information sharing in the past. With Stackify, you can eliminate bottlenecks in development teams and scale application support teams without additional head count.
Finally, organizations can embrace a DevOps approach that improves application support even if they don’t have a formal DevOps team. Stackify is the only solution that provides the proper access, tools and intelligence to improve application support efficiency.