DevOps is firmly in the mainstream today but it is not static. The next generation of DevOps tools is evolving, and the success of DevOps is driving changes in software architecture styles.
On the tools front, Ovum finds DevOps release management and deployment tools one of the most hotly contested spaces. The tools available, offering continuous delivery (CD) with management capabilities on top, are currently mostly a distinct tool category, but the application lifecycle management vendors have an opportunity to extend ALM tools to managing CD. DevOps is also a major driver for growth of interest in microservices architecture (MSA), containers, and server-less computing.
Ovum's latest research, Ovum Decision Matrix on DevOps Release Management Solutions 2016-17, shows some important ways DevOps is changing and driving change:
DevOps Tools to be Embraced by ALM
There is scope for Application Lifecycle Management (ALM) to embrace DevOps release management solutions. Deep integration across tool sets is essential to overcome the challenges of building complex software applications and provide sound management. The nature of the market is such that while core development tools are dominated by open source, their management across the lifecycle requires ALM solutions that can deliver on the promises of ALM: real-time end-to-end traceability of work assets, visibility into project progress, and supporting collaboration and knowledge sharing. The merging of DevOps release management solutions is a natural evolution for ALM products.
DevOps is Driving Microservices Architecture
DevOps is driving microservices architecture (MSA) primarily as a best fit for continuous delivery. Traditional software architecture, called monoliths in MSA terminology, need to be shut down when updated in production, whereas MSA allows services to be changed in live systems.
There are additional benefits to MSA: it scales better, and during development when developers are added they work in small teams responsible for their microservices, so productivity increases when more developers are added. And MSA scales in production with multiple instances of in-demand services. In turn MSA is driving adoption of containers, as microservices residing in containers are also a good fit.
Finally, the third new IT development wave, server-less computing, is again a good fit with microservices and DevOps: server-less computing cloud services such as from pioneer in this field, Amazon’s AWS Lambda, and more recent launches IBM Bluemix OpenWhisk, Microsoft Azure Functions, and Google Cloud Functions. These event-driven and stateless services allow a lower cost form of computing with less overhead in administration and maintenance (the servers are hidden from developers) and link with services based architecture.
Remaining Challenges for DevOps
DevOps is no longer a nice to have or differentiator but an essential to compete effectively in the market. Organizations are urgently attempting to bring their IT capability up to speed with DevOps, but there is danger because it is not just about tools. The crucial issue in adopting DevOps is the cultural dimension. Unless there are structural changes made across the silos so as to create multi-disciplinary DevOps teams, then DevOps is unlikely to succeed. Executive support from the highest levels is a key characteristic of successful DevOps organizations. There are also questions on how best to achieve DevOps goals in an ITIL strong environment, and also how to match in-house DevOps transformation initiatives while out-sourcing certain development functions.
The journey to DevOps is not without challenges for many organizations.
Michael Azoff is Principal Analyst, Ovum Infrastructure Solutions Group.