The Cloud Native Computing Foundation® (CNCF®), which builds sustainable ecosystems for cloud native software, announced the graduation of Argo, which will join other graduated projects such as Kubernetes, Prometheus, and Envoy.
DevOps mentality has moved from strictly the development domain into the Ops world. As a result, traditional Ops — a model rooted in manual processes and executed by siloed teams — is dead. Traditional Ops and IT teams were already experiencing rapid change, but the pandemic sped up the adoption of more decentralized operations. Today, Ops doesn't generally refer to a team, but a responsibility. This blog will contrast Ops in a traditional environment vs. a DevOps environment, challenges to be aware of when adopting a DevOps approach, and actionable steps for organizations looking to implement a DevOps culture.
Differences Between Traditional Ops vs. Ops in a DevOps Environment
The ideal DevOps environment operates as a high-velocity organization with a deep understanding of development, tools, operations, infrastructure, observability, and shared knowledge with others. DevOps is a shared responsibility by developers who have an operational function and operators capable of development. Organizations can skew either way, but leaders must focus on the synergistic capability to execute both Ops and development well to be successful.
To combine the areas of Ops and development, it's important to distinguish their differences — specifically, as it relates to each domain's process ownership and enforcement, subject matter experts (SMEs), reporting and compliance, and observation and monitoring.
Traditional Ops involve low-skill tasks that start as a ticket, while DevOps leans on automation to execute these tasks. In a traditional environment, SMEs or subject matter experts are driven by process frameworks (e.g., ITIL, ITSM). SMEs in a DevOps environment focus on providing infrastructure, knowledge, and engineering help where the process is the output instead of the path.
Reporting and compliance is another area where traditional Ops and DevOps practices frequently differ. Traditionally, reporting is focused on data available due to the operations process, and compliance entails complex rules where people create the proof required as evidence for compliance. With DevOps, reporting is the data available resulting from the output of tasks, and compliance is a ruleset where systems output the data required.
Lastly, traditional Ops teams resolve issues by ticketing, attempting first-touch triage, and escalating to the right person or group to solve the problem. DevOps teams have the access, domain expertise, and support to handle and resolve issues immediately — resulting in faster triage, recovery, and deeper insights to improve observation and monitoring.
Common Challenges When Adopting a DevOps Approach
The DevOps journey requires a shift in processes, technologies, and team mentality, and naturally, the needs and challenges of every organization will differ. Keep the following common obstacles in mind when transitioning towards a more DevOps-style approach.
■ Address the "hire new talent or upskill current workforce" dilemma — Do we train current employees up or find new hires with the skills we need? Recruiting and hiring new talent, as well as providing upskilling courses, can be costly. The answer to this depends on the location and specific skill set your company is seeking. For a DevOps team, you must identify existing skill sets and then hire for the gaps.
■ Be cognizant of legacy applications — While it's often beneficial to hire new talent, companies must consider making the strategic decision to keep long-standing employees to manage legacy applications. Otherwise, it may be time to fully modernize legacy applications.
■ Avoid overwhelming team members with development and operations responsibilities — When developers are expected to run services and maintain developer responsibilities, they burn out. That's a challenge — and reality — companies need to consider as burnout leads to decreased productivity and lowers team morale.
■ Beware of communication struggles between developers and the business — DevOps teams must be able to communicate with the organization when a service fails. Highly technical team members may have challenges communicating with non-technical users.
How To Implement a DevOps Culture
DevOps is established in the conversations between a company and its employees about the importance of collaboration, communication, automation and integration across teams. It's the way a company communicates expectations and how it hires for those expectations. While the road to DevOps may have its own share of challenges, there are different ways to bake DevOps into the company culture, including:
■ Every company has a build vs. buy dilemma — For DevOps-focused companies, it should be build and buy: buy for industry standards and build for the gaps.
■ Hire for expectations: It's not enough to build software anymore — Developers need to develop scalable and reliable software. Developers also need the ability to update the software if it's not working as expected. Companies need developers to run operations and operators that can develop. Doing so sets an expectation that when issues arise, team members must take on an ownership mentality, have a solutions-oriented conversation, address it, and fix it.
■ It's okay to lean on directors/managers — Leaders at the director/manager level can influence a DevOps-focused culture. They have the skill set necessary and are "in the weeds," so they know what's going on. That isn't always the case for someone, say, at the VP level — they are more high-level, business-focused.
■ There are tools and processes to accelerate operational tasks — Companies must enable and automate processes through the tools used. For example: Lightweight automation — not everything has to be fully automated. Teams can also implement new workflow and process automation tools to enable teams to inject automation and orchestration into a process and tie multiple parts of the DevOps lifecycle together.
Traditional Ops Is Dead. Organizational Leaders Need to Accept This and Modernize
Traditional Ops is approaching the sunset of its existence. It's only a matter of time before organizational leaders can't ignore the new tools replacing core functionalities of old-school Ops teams.
As organizations modernize, operators can no longer just be passive facilitators, and they need to have an active approach to scalability, availability, reliability, and operate resilient systems. Real DevOps mentality is achieved when developers and operators can analyze the processes in place and ask, "How can this be better to get the outcome the team and customers need?" and then act to make it so.