DevOps: The user’s challenge is the channel’s opportunity
How to turn the hotly debated topic into a revenue stream for the channel
DevOps is one of the hottest topics in IT right now, and while it has much potential, it is DevOps’s potential weak spots that open up possibilities for the channel.
We all know that the boundaries between different IT functions are blurring, but there are big hurdles to address before truly successful DevOps can be achieved. Some of these are cultural (such as adoption of Agile and Continuous Delivery methodologies), but others involve having the right software support tools in place to enable a more transparent, collaborative way of working.
For instance, DevOps means thinking way beyond just managing code to cover all assets – third-party components, graphics, video, build scripts, test scripts and data, build artefacts, environment configurations and much more – in a unified continuous pipeline that enables automation and testing at every stage. A ‘single source of truth’ tracking every change is critical for efficient DevOps. Most organisations have some tools to manage some of the assets but probably not all, and even if they do, they need to avoid forcing people to work in new or unfamiliar ways (yet still be able to collaborate seamlessly).
Savvy channel firms have a huge opportunity to help their customers embrace DevOps. One could argue that an experienced channel partner is very well placed to deliver DevOps solutions to the marketplace. Technology vendors typically fall into two camps: the provider of one part of the pipeline making a “best of breed” tool with a “build your own pipeline” approach or suite providers that try to address the entire stack with one product set, which may make integration simpler but may not have the best tools for each job. A channel partner can span both worlds by bringing together the best of breed tools and providing integrations, services and support to make implementation and ongoing use effective for the customer.
True transformation to DevOps requires bringing together not just different technologies but also processes and people. DevOps also can’t be delivered overnight and calls for a road map and vision that will be different according to each customer’s requirements. By taking a holistic view, a channel organisation can work with customers to deliver DevOps via a series of sustainable milestones, providing coaching along the way and gradually transforming customers’ businesses and ultimately making them self-sufficient.
We are beginning to see this approach happen, with channel firms acting as the pivot for software and services from several different vendors. Of course, it is important that these vendors are able to collaborate and inter-operate; again, that is something we are witnessing more of, at least in our own experience.
What else is necessary for DevOps success and how can the channel help? Of fundamental importance is having a common understanding of what is being developed and entering production. Dev and Ops are inevitably going to be using different tools and even different languages, which suggests that collaboration may be prohibitively difficult. But there are ways to reconcile these differences, such as the adoption of Continuous Delivery (CD) within the DevOps environment.
Channel Pro Newsletter
Stay up to date with the latest Channel industry news and analysis with our twice-weekly newsletter
CD is a methodology that should enable software to be releasable into production at any time, with a development pipeline where early feedback, automated build and test and incremental deployments ensure that the released product fulfils the user or customer’s needs. In essence, CD is a more cohesive, transparent and timely way to bring software projects to fruition, and while many organisations may not realise it – or not use the CD label – they are implementing CD to one extent or another.
The bottom line is that CD depends on having the right technology tools in place, including version control, code review tools, collaboration tools, automation and bug tracking. This is a group of software systems that are proving a natural for an increasing number of channel firms, which are working with customers to identify where they may have gaps while partnering with complementary, noncompeting vendors to provide complete DevOps solutions.
Here are some examples of how these tools support DevOps and CD on a practical level:
Support for content beyond code: Both DevOps and CD depend on seeing the bigger picture and that means having visibility and management of all assets, not just code: documentation, configuration scripts and binaries, for example. Unless these artefacts are controlled, there is a very real risk of releasing incomplete or inconsistent applications.
Focus on automate and test: This is particularly central to CD but is also a natural part of DevOps. The ability to make updates and changes quickly and safely, without introducing errors, is part of a successful continuous development pipeline. As much of the process is automated as possible, with feedback sent to the development team very rapidly, so that corrections can be made promptly and efficiently. This basic good development housekeeping is an aspect that has got lost over the years: It is faster, easier and less costly to fix issues at the development stage, rather than at QA or, worse still, after the product has been released. Automation also supports predictability and repeatability, enabling speed and volume at scale.
A centralised view and tracking: A centralised repository is vital for successful DevOps, to connect all contributors yet allowing them to carry on working in their own ways and with their own tools. Transparency, accountability, historic information and the ability to roll back to previous versions of the development process are part of this approach. Tracking helps to ensure that all changes and interdependencies are delivered as a cohesive release, while also making debugging easier.
DevOps and CD depend on the end-user organisations making the necessary internal changes to culture and processes to aid adoption. The channel has a definite role here, not only ensuring that those organisations are equipped with the tools that are needed but also providing advice that demonstrates a real understanding of what DevOps and CD involve. And in tune with this highly collaborative environment, channel partners who select vendors who ‘play nice’ together and can be presented as complementary offerings are arguably in the strongest position.
Philip O’Hara is the international partner manager at Perforce Software