The pros and cons of adopting a DevOps model
- 24 April, 2017 11:51
In today’s digital era, mastering the customer experience through a continuous delivery of applications is a must. Hence, more and more organisations are focusing on adopting DevOps principles. Many Australian companies – such as Commonwealth Bank and AMP – have already embraced a DevOps model, and we anticipate many more organisations will join them as DevOps is likely to become mainstream within the next few years.
In fact, a recent survey of almost 2,000 senior managers at large organisations revealed that more than 80 per cent of Australian respondents claimed the rise of DevOps was a major factor driving the move to a cloud-first approach.
However, the excitement may not be shared by all — 87 per cent of attendees surveyed during Gartner conferences between 2015 and 2016 admitted that DevOps had not delivered on their expectations. In addition, the most recent Hype Cycle showed it edging towards the trough of disappointment.
The early stages of DevOps
The stats above might confuse teams looking to adopt a DevOps model comparing this sentiment to the enthusiasm demonstrated by so many businesses. But the reality is adopting a DevOps approach comes with significant effort, especially because the entire business needs to go through several cultural changes in order to make adoption fully successful.
In its early stages, DevOps generally consist of a merged development and operations team working separately from the rest of the business. However, in order to achieve true success, development, operations and the wider business should all work in collaboration and towards the same goals. Leaving the teams in silos is likely to lead to modest improvements or results lower than the business expects. Rather than seeing DevOps as a simple process of placing these two teams together in yet another silo, DevOps should be considered an ongoing process that sees a radical change in culture, creating more integration.
Creating a cultural shift
Organisations are increasingly seeking to restructure their IT delivery models away from the short-term, cost-focused, project-based models to full lifecycle, innovation-focused, product-centric models based on cross-functional DevOps-enabled teams. DevOps is considered a major driver of digital transformation, as it enables organisations to develop better applications more frequently, integrate teams working towards the same goals, avoid one team blaming another when things go wrong, share learnings, etc.
However, success is only possible with cultural change, and this is typically the number one barrier. What’s needed is a cultural shift from command and control management to true leadership, surrendering centralised control to autonomous teams, as well as learning a raft of new technical skills in order to stay relevant in this new world.
Companies that adopt a DevOps culture will foresee agile teams that collaborate more seamlessly and are able to maximise results working as a one-team. This concept should be applied gradually and must have buy-in from the top. Executive buy-in and the ability to enforce change from the top of the organisation can go a long way toward greasing the skids to make this successful.
It's also essential to hire effective and experienced IT leaders. These leaders are charged with empowering practitioners while acting as a go between with senior management to evangelise success while making sure the work being done aligns with business goals. Without leadership, it can be easy for roles to become undefined and different interpretations to take hold. It may be the case that specific DevOps roles are created, emphasising the importance of skills that can be applied across the required tools, databases and other areas.
Developers and operations team should have a clear vision of their new roles and desired behaviours. Previously, developers could focus almost exclusively on writing code. Now they’re expected to dedicate more time to testing, deploying and understanding the impact on the rest of the team.
On the other hand, operations should learn new languages, tools and architectures such as containers and micro-services which would allow them to play a bigger role in the development process. Training and restructuring may demand an adjustment time, but teams should remain aware of the wider vision and benefits in the long term.
You can’t improve what you can’t measure so it is crucial to set appropriate measurements. Having clear metrics will allow teams to spot the root cause of problems and avoid the risk of blaming the other side.
It goes without saying that organisations are increasingly data centric in nearly all respects: from evaluating where to invest to win new customers, to "Smart" Algorithmic IT Operations (AIOps) and data-driven development. DevOps should follow this. Having shared KPIs will enable benchmarking with peers and enhance a culture of collaboration.
Some of the most important points to monitor include frequency of deployment, to assess the rate at which new code is released, and mean time to resolution, to ensure issues are being fixed quickly, and the amount of time taken from development to production.
Furthermore, metrics on application performance and a record of the number of failed deployments give an essential overview of the quality of the code being released. Insights from the application performance perspective will remain critical in understanding the customer experience and the exact nature of each business transaction, not to mention that metrics will help demonstrate small improvements, reducing the chance of disappointment from those expecting results straight away.
Making DevOps a success is not as simple as buying the right tools. Building culture takes time, especially if you're starting with a culture that is more attuned to waterfall release cycles. However, the critical importance of fast, high-quality releases means businesses will come under more pressure to make the switch to DevOps. Once they decide to jump on a rollout, businesses must be ready for a long journey that will run into obstacles along the way. Although it won’t happen overnight, organisations that commit the time and effort to making DevOps work will certainly reap the benefits. Key point is DevOps won’t disappoint when rolled out thoroughly.Simon Horrocks is country manager for Australia and New Zealand at AppDynamics