DevOps 101: What is It and How Can It Help My Organization?
To remain competitive and offer the best products possible, companies need to be flexible.
We see some businesses taking steps to implement agile systems within their organizations in order to deploy updates more quickly. It’s this demand for immediate software updates and real-time communication that is changing how we build our organizations, and has introduced DevOps as an operations paradigm for IT departments.
Get to know the concept of DevOps a little better, and how it makes teams more efficient, collaborative and engaged with their work.
What Is DevOps?
Historically, teams were divided into developers who created products and wrote code, and operations which consisted of administrators who worked to keep everything as stable as possible, Volodymyr Dmytriiev explains at software development company Django Stars.
Developers are mostly concerned with new features and bug fixes, while administrators want to improve and stabilize existing products. DevOps is simply the marriage of the two: The teams work together to prioritize changes and improvements through a series of iterations.
“Development-centric folks tend to come from a mindset where change is the thing that they are paid to accomplish,” Rundeck cofounder and DevOps expert Damon Edwards tells ZDNet. “Operations folks tend to come from a mindset where change is the enemy.”
The goal of establishing a DevOps process is to repair this disconnect and get both teams on the same page for creation.
DevOps Makes Production Faster
Like many innovations related to technology, DevOps came about to meet the need for speed in software companies.
Nobody ships CDs to their clients with updated software or requires them to download a new version any longer, Stackify CEO Matt Watson writes. IT teams developed DevOps processes to develop code faster and make updates or improvements much more quickly than before. For Watson, DevOps means developers can do operations tasks for their own apps instead of siloing the work between another department.
DevOps Increase Team Flexibility
DevOps isn’t just about making changes quickly, CI&T data architect Henrique Souza explains; it’s about changing direction when needed.
If a problem comes up or a team needs to make a change, DevOps policies can make it easier to review the data and use tools at hand to determine the best course of action based on the information. Speed and flexibility often go hand-in-hand particularly as companies are pushed to produce more and respond to problems faster.
Where Does DevOps Come From?
The team at New Relic explains that DevOps grew out of enterprise systems management and agile development. They explain that the concept isn’t an “outlandish manifesto” from a few IT geeks to optimize management, but rather a natural progression from two very common, very popular management systems. This actually makes DevOps implementation easy, as many teams already use some shell of it in their management process already.
Interestingly, the origin of DevOps means there is no set definition of the practice because it has evolved so quickly into the engineering and technology industries from the agile framework.
“Every organization has formulated their own definition of DevOps and has tried to implement it accordingly,” Ritesh Modi at The New Stack writes. “They have their own perspective and tend to think they have implemented DevOps if they have automation in place, configuration management is enabled, they are using agile processes, or any combination thereof.”
Modi isn’t the only one who brings up this problem. Cindy Sridharan, Apple engineer and author, says she wants to yell at people sometimes for calling DevOps a person, position, team or set of tools.
“The cry for developers to get better at operations is something I see eye to eye with,” she writes. “But that said, adopting ‘DevOps practices’ and tools hasn’t necessarily helped software developers get better at Operations.”
Teams that use DevOps practices might be less error-prone and run smoother, but that hardly makes everyone involved an operations engineer.
The Marriage of Development and Operations Isn’t Always Smooth
Outside of the technology sector, the combination of operations and development seems like a natural fit, but that’s not always the case. Many tech professionals struggle with their roles, especially if the companies they work for aren’t sure how to introduce DevOps processes in the first place.
“It’s a misconception that DevOps is coming from the development side of the house to wipe out operations,” Ernest Mueller writes at The Agile Admin. “DevOps are being initiated out of operations teams more often than not.”
This occurs when operations teams realize they need to become more flexible and fast-paced to increase production, rather than adding rules and rigidity to their processes.
“I like the analogy of treating automation like a car,” Mark Andersen, director of DevOps at Capital One, tells Cloud Academy. “You can teach the application team how to drive and how to change the oil and do some of the general maintenance, but they don’t need to know how to build the engine.”
When teams have basic understandings about what others do and the process for achieving their goals, it’s easier to work together and develop realistic plans of action.
Malcolm Isaacs, marketing manager at Micro Focus, created a list of what successful teams look like when they implement DevOps processes. A few signs of success include:
Your team has frequent, rapid release cycles
Deployment is fully-automated and you can back the change out if needed.
Your team continuously integrates features with automated testing each time.
Developers, testers and operations engineers work together and have common business-oriented goals.
Even if you constantly release updates and have short sprints, it’s possible to fail at DevOps if team members are still siloed in their own departments.
Case Studies of DevOps in Action
Talking about theory is important to understand a concept, but it often helps people to see the results of DevOps and how it helps others.
The HelpSystems shared some case studies of how companies use it successfully. For example, Etsy struggled with slow, cumbersome deployments for years. Then, in 2009, they handed the keys over to their developers and let them deploy their own code. As a result, the developers were more invested and took more responsibility for the process, goals and results. Instead of deploying changes twice a week, they now push changes 60 times per day.
The team at SaM Solutions believes implementing DevOps processes can actually increase employee engagement. Teams are part of the entire process and directly responsible for the success of the work they create. It’s not uncommon for team members to try to go above and beyond their duties if it means creating something of value or ensuring a smooth deployment.
Etsy saw this when they gave their developers the responsibility to execute deployments on their own. It gave them a sense of ownership for their work.
Netflix Increases Its Stability With DevOps
Sam Corney at Amido examines how Netflix uses DevOps to improve their systems. On Christmas Eve in 2012, Netflix experienced an outage that lasted several hours. The company loses an estimated $200,000 per hour that it is down. To prevent this in the future, it rebuilt their platform to prepare for errors and outages.
The company now builds for failure, accepting that at some point something is going to go wrong. It has a “Netflix Simian Army” to respond to application failures with a tool that tests the overall stability of the platform. This merges development and operations as new changes improve the site while fixes keep everything stable and functioning.
DevOps Has Cultural Organizational Impacts
Some companies turn DevOps into a department, and force both developers and operations administrators to work together and solve business problems as one cohesive team. This does have some cultural advantages, Isaac Sacolick, CIO president and author of Driving Digital writes.
DevOps is particularly valuable for smaller companies that don’t have large resource teams, and for startups in which team members are already working with both sides. Rather than requiring an experienced developer to learn operations and vice versa, the new teams and employees work together to grow their experience at the same time.
“DevOps is also about effective collaboration and communication across the organization,” Jeffrey Walker writes at Monitis. “Old habits die hard and if your organization is steeped in long-standing, traditional enterprise approaches to software development, then moving the needle on efficiency will obviously take longer.”
Along with the employee engagement benefits mentioned with the Etsy case study, DevOps as a process can improve collaboration efforts and improve teamwork as a whole. All of these benefits can increase the efficiency of your organization just as much as the new process will.
Images: nd3000/©123RF Stock Photo, dotshock/©123RF Stock Photo, janeb13, rawpixel