If DevOps Was Easy, Everyone Would Do It
Last week I read an article on DevOps.com titled How an Integrated Tool System Helps Implement DevOps. It’s a good article. It explains why integrated toolchains are important to successful DevOps organizations for all their processes.
And amid a dizzying array of acronyms, its point is clear: integrate your systems and automate processes!
We totally agree, which is why we have built toolchains to automate everything from continuous testing to continuous delivery to major incident management.
Lost in the push to build such an integration platform, though, is how difficult it is to do. If it was easy, everyone would do it.
So here a a few tips I have picked up from our engineers and other experts.
Provide closed-loop integrations: The term closed-loop integrations might not be an industry standard, but it’s a term we use for integrations that share information both ways, not just one way. For example, when we have an issue, our developers open an issue in Jira. Then they discuss it over a chat tool like HipChat or Slack. They can preserve the entire chat conversation in Jira to help bring people up to speed and to help improve the resolution process in the future.
Enable compound integrations: In the example above, say the issue was discovered by an APM tool like Dynatrace or AppDynamics. We can bring information from the APM notification into Jira and then into the chat tool. We can also update StatusPage to keep our customers and employees informed.
Give freedom: Different organizations have different ways of doing business. Let them build their processes that work, and give the flexibility to use tools that work. There is an ongoing argument between strict IT-allocated tools and “shadow IT,” and either way is OK as long as it’s secure and communication is open.
Keep no secrets: In a DevOps environment, processes happen fast and some mistakes will be made. We use StatusPage to keep our customers informed, sure. But as noted above, we also use it to keep our own teams and executives informed. When everyone has information at their fingertips, they can collaborate better and save the time they would waste sifting through multiple systems or asking others for help.
Work across teams: As mentioned above, teams should be able to choose their own tools and processes. However, the collaboration platform should be extended across teams. As Sanat noted in his article, groups across different functions must work together, and not just by emailing or messaging each other. It’s crucial for information to be shared between systems back and forth. Systems and processes are too complex for teams to be isolated with their own platforms. So as Sanat says, “In an agile environment, development, testing and operations all must work together to meet frequent iterations, releases and delivery goals. This calls for a collaborative development environment that supports data orchestration with other lifecycle tools.”
Pay attention to security: Write security into your code. Covering security holes with firewalls is not good enough. To write security into your code, your developers and security teams will indeed have to work together. Criminals are like rodents, and they can squeeze through the tiniest vulnerabilities in your code to steal data or take advantage of your environment. According to the a recent report by the Ponemon Institute, companies took more than 190 days on average to identify that a breach had occurred. That’s more than half a year!
Take your time: According to a DevOps survey of more than 1,000 organizations in February 2017, 65% of organizations practicing DevOps are seeing the benefits they expected. However, only about 41% of all the organizations contacted were practicing DevOps. Getting DevOps processes right takes good planning. It requires a culture change that some people might not be on board with. Stay the course.
DevOps was coined for the need for development and operations to work together (get it?). But it’s much more than that now. Companies are spreading DevOps processes throughout their entire organizations, and their collaboration platforms have to spread too. Sanat did an excellent job of explaining why a toolchain-based integration approach is important and how it can work. Just be mindful that the road to get there is not easy.
To test the maturity of your DevOps processes, take our free short survey.