Assessing where a business sits on the DevOps maturity scale - NGINX
According to Forrester, 50% of organisations are implementing DevOps, which has now reached “Escape Velocity”.
However, interpreting the phrase ‘implementing DevOps' depends on where an organisation is in terms of DevOps maturity.
Deloitte states that the firm “expects further benefits to be realised from agile at scale implementations across industries and teams (in Australia).
The journey towards DevOps will continue to be a big focus to ensure that the technical practices, such as automation and cloud-enabled, exist to support enterprise agility.
This concentration on new and improved services can be linked to general digital transformation and the fact that many companies see the offering of better services as a strategic goal for keeping competition at bay.
The Telsyte Australian Digital Workplace Study 2017, which surveyed 420 CIOs and IT decision-makers, found that Australian enterprises are spending more of their IT budgets on product development, making it their number one priority compared to two years ago when their focus was on reducing operational costs.
Telsyte managing director Foad Fadaghi says, “A critical tipping point has been reached with Australian organisations rapidly adopting emerging technologies, developing new products and services and looking to ICT to build competitive advantage in the face of increased global competition, and driving an intelligent automation revolution.
DevOps is crucial to this drive towards emerging technologies, and Australian companies are responding to demand.
In many cases, adding microservices and digital elements to their public-facing assets.
NGINX has observed that Australia can be, in general, more open to accepting and adapting new technologies than many other parts of the world, including the US.
However, as always with organisational change, there are different levels of DevOps maturity.
When looking at current trends towards adopting these emerging technologies; who is adopting them, and how far down the path towards full DevOps maturity that organisation sits - three patterns emerge: DevOps Lite, Ops-Centric DevOps, and Dev-Centric DevOps.
It is important to assess where the organisation currently sits, and where it wants to go with DevOps initiatives, based on how important digital transformation is for the company.
If digital transformation will rapidly enable the organisation to achieve scale, increase revenues, and stay ahead of the competition, then it will need well-developed DevOps practices, tools, and a culture that are commensurate with overall digital investments.
On the other hand, if it is more a matter of testing the waters to see if DevOps is the right path, it will require a different approach.
Taking on too much too quickly is a recipe for failure, especially if it is out of line with business priorities.
What is required to help a company assess its DevOps requirements?
It boils down to culture, tools and skillsets, plus budget.
Culture is one of the most important elements when an organisation undertakes DevOps initiatives.
A DevOps culture entails the following: increased collaboration between development and operations teams, a sense of shared responsibility for application development and operations, no silos between these teams, and a high degree of team autonomy.
As mentioned previously, Australia is often more receptive to new technologies than other nations, which seems to indicate a general willingness to be agile.
DevOps Lite organisations are just dipping their toes to see if DevOps will work for them.
These customers are typically adopting a DevOps approach for one or two low-risk applications. DevOps culture is typically not so mature in these organisations; while development and operations teams involved with these applications certainly collaborate, their instincts and approach still lead them to operate in a siloed fashion.
No fundamental reorganisation has taken place.
Decision-making around deployment and change management is process-centric, resulting in less autonomy.
People who adopt an Ops-Centric DevOps approach go a step further, wherein infrastructure and operations (I-O) staff with strong infrastructure backgrounds are leading the DevOps effort. I-O staff engage development teams to share the responsibility of looking after a system over the course of its lifetime.
Siloes slowly begin to break down and these teams have higher autonomy to roll out new changes or fix any issues very quickly.
An Ops-Centric DevOps culture is very focused on automation but tends to value reliability and availability of applications as the main endstate of a fully-automated environment.
Dev-Centric DevOps organisations are those where there is robust collaboration between development and operations teams.
Here the DevOps team is often found as part of the larger application team, and thus adopts cultural viewpoints from developers.
This DevOps pattern does involve I-O teams early on in the development process.
They provide input into deployment and maintenance related requirements.
These customers have embraced continuous delivery – an approach that ensures software can be released to production at any time – as well as continuous integration – an approach that ensures an application is not broken whenever a new piece of code is introduced.
Development teams share the responsibility of operating their applications and help identify ways to simplify deployment and maintenance as they get more visibility from monitoring applications in production.
To net it out, Dev-Centric and Ops-Centric DevOps both have a culture of automation, but the DevCentric pattern tends to value rapid application deployment as the main endstate of a fully-automated environment.
Tools and skillset
Automation is key to the success of DevOps.
Automation eliminates friction by reducing manual handovers and sign-offs between development and operations.
Enterprises achieve automation by employing tools for provisioning and configuring infrastructure, configuration integration, software testing as well as monitoring infrastructure and applications.
Enterprises also use tools to rapidly deploy applications for specific environments such as staging, production and test.
DevOps Lite companies typically do not use a lot of DevOps-specific tools.
Instead, they use existing tools' capabilities to achieve basic automation/orchestration capabilities.
Their staff are usually novices in using these tools.
For example, they may favour existing VMware tools, IT operations tools from vendors like IBM and CA, or dabble with the basic tools that come with Docker.
Ops-Centric DevOps organisations have started to leverage advanced automation and orchestration techniques, but still rely heavily on legacy tools and technology to manage a wide variety of applications.
They also experiment with open source editions in order to quickly come up to speed with these tools.
Here you'll find Puppet, Chef, Ansible, and a host of other automation and provisioning tools as the backbone of the DevOps operations.
Dev-Centric DevOps organisations employ a variety of tools to achieve automation.
They have developed a repeatable and reliable process for releasing and deploying software. They use enterprise editions that have advanced features and premium support from the vendor.
Like the more Ops-Centric pattern, Dev-Centric DevOps are skilled at infrastructure automation tools such as Puppet and Ansible, as well as monitoring tools such as Nagios.
However, they add to these configuration-oriented tools a host of more CI/CD-related automation tools like GitHub, GitLab, and Jenkins.
They have standardised on-the-set of tools that meet their specific needs.
They are able to quickly build new applications, rapidly deploy these by using appropriately configured infrastructure, and ensure these applications work as expected on an ongoing basis.
The level of commitment and investment for DevOps varies across these patterns.
Since DevOps Lite companies are trying out this approach only for a few applications and reusing existing solutions, they generally don't have a dedicated budget for DevOps tools and practices.
They are in the very early stages of DevOps and primarily invest manpower and time only.
Again referencing Telsyte's Australian Digital Workplace Study 2017, it is reported that ‘IT spend is spreading outside of traditional IT departments and more than half of CIOs believe line-of-business IT spending will exceed IT department spending within five years.'
This seems to indicate that adopters of a Devops Lite mentality are likely to evolve away from this course over the next few years, and mature towards Ops-Centric DevOps anyway.
Ops-Centric DevOps companies have started to invest in advanced automation and orchestration techniques, especially in tools that enable I-O staff to automate all aspects of infrastructure operations including deployment, configuration, and monitoring.
Dev-Centric DevOps companies have a dedicated budget to invest in enterprise-grade processes, tooling, and team structures.
They also spend money on training their staff to ensure they are up to date with the latest technology and have the right skill set to operate an efficient DevOps environment.
Dev-Centric DevOps often have a budget that falls outside of traditional application and I-O budgets.
Even though the team may report (directly or dotted line) to a broader apps team, the value stands on its own and, thus, has a dedicated budget
Map your DevOps pattern to your appetite for transformation
As the organisation reviews these patterns, it is most important to consider the goals it has for modernising and digital initiatives.
If digital transformation is a crucial game-changer for the business, then DevOps models must reflect the magnitude and characteristics of that transformation when it comes to talent, processes, and tools.