DevOps 101
RIT Software Engineering

DevOps 101

What is DevOps?

The term DevOps is a combination of development and operations. Historically, these two divisions were separated or siloed from each other. The development team would create software and the operations team would test and release the software to customers. However, this traditional model is slow and inefficient, and a lot of time and effort can be wasted navigating back and forth between the development world and the operations world, as described by Stephen Watts in his History of DevOps article.

Thus, large corporations shifted their philosophies to increase their delivery cycle while simultaneously improving their software’s quality. DevOps is an equal marriage of development and operations. It is a tool-enabled cultural change that works with Agile principles to deliver software more efficiently (the DevOps culture in an Agile environment is discussed in a later section). Together, the new process or team allows organizations to plan, develop, deliver and operate their software at previously unimaginable levels. This is done via multiple different kinds of tools that are now readily available to improve software delivery and quality (e.g. cloud providers, containerization, etc.). But the full potential of DevOps can be reached by creating a culture of shared responsibility, where processes and tools enable organizational success, rather than blaming failures on human error. The beauty of DevOps is its continuous expansion. Companies continue to innovate and improve DevOps processes and tools to increase their profits and overall performance.

Why is DevOps important?

Since its inception, DevOps has become the preferred practice of many organizations. Tools have been created to help automate historically slow and tedious processes.

But why should you care about DevOps?

The last several decades have seen unprecedented innovation in nearly every economic industry. DevOps is only the latest wave of innovation in software development, and even though not everyone is a software engineer, most companies still need to use software in some capacity. 

For every stakeholder, DevOps is changing the way people look at software. Delivery times are faster, innovation is occurring at a much higher pace, software downtime is reduced, and communication throughout companies and between stakeholders is increased. 

Meanwhile, some companies refuse to innovate and they are left behind. Business as usual is changing. The highest performers (the ones with cutting edge DevOps practices) are pulling further and further ahead of the competition. Companies that are refusing to innovate and put at a larger disadvantage year after year. It’s extremely difficult to compete against companies like Amazon that deploy new production code every 11.7 seconds

Is DevOps for everyone?

But despite the recent trends, some skeptics are still hesitant to adopt DevOps principles and processes, claiming that the ideas behind the success of a developed DevOps culture (such as lean management, continuous delivery, and culture shifts, as described in Forsgren’s book) simply do not work for software delivery, or claiming that these ideas only work for “unicorn” teams. If this sounds like you, then you may have personal experience or even years of software development history to back you up (i.e. “if it’s not broken, don’t fix it”). However, it is clear in today’s world that software is transforming every industry in unprecedented ways. We see more and more that software and technology are becoming powerful driving forces behind most successful companies. The value that software brings to customers is such that it warrants the need to continuously accelerate its delivery and improve its quality at the same time, making the significance of DevOps all the more ubiquitous.

If you are still unsure whether DevOps would be right for you, one need only look at examples of how it has helped companies across all different sectors. For example, a 2018 article on DevOps success stories across the industry tells the story of Ryan, a Security Operations engineer who notes that the implementation of a DevOps culture ensures that “what code does go out to production is properly secure” and that it “improves your ability to mitigate possible reputational risks.” In the same article, the story of Jason says that DevOps “created an environment that would enable [his team] to have consistent deployments that allowed [them] to balance work better.”

If you would like any further starting points to learn about DevOps, its benefits, or other success stories, please take a look at Dr. Forsgren’s Accelerate, or ThoughtWorks’ essays on DevOps, DevOps culture, and continuous delivery.

DevOps in an Agile Environment

Starting in the 1950's and 1960's, software development was a rapidly growing field. The Waterfall approach was one of the earliest principles that software companies looked at. The Waterfall approach focuses on a strict schedule and there is no “looking back,” from collecting requirements to development, testing and releasing the product. Developers soon realized two main drawbacks of this linear process. First, requirements change all the time, and by the time the team reaches their initial goal, the customer may have already changed their mind. Developer teams following the Waterfall method were limited on interaction with the customer, as well as flexibility for changes. Secondly, developers were siloed away from other departments that dealt with customers and business goals of the companies. There was no “team” approach for the company as a whole, therefore there is no clear tight between product development and delivery to meet business requirements.

To address the first problem, developers started to look for approaches that make changing software easier and more agile. Agile methodologies then came into place with a focus on continuous iterations of development and testing. Agile methods look into connecting customers and developers, collecting feedback and rapidly addressing them. As IT became essential to business, DevOps brought the other important stakeholder to the equation, the operators. DevOps tries to close the gap between IT and development teams, which essentially focuses on collaboration between different departments in the company. The two methodologies are getting more and more popular because of their apparent benefits over the Waterfall approach. They share several similarities and can work in tandem to increase success and productivity. Both approaches aim to get the end-product out as efficiently as possible. Agile teams rely on automated continuous integration that DevOps promotes but also provides the ability to rapidly adapt to the changing requirements. Companies that have applied both methodologies in appropriate business needs believe that DevOps can be seen as an extension of Agile. DevOps fills in the gap of communication between agile development teams with operations and across departments. DevOps also comes into place to provide a stable and automated process for product delivery. 

What to Expect in Future Articles

This is the first in a series of blog entries created by myself and my two colleagues, Abigail My Tran and Matthew Monaco, regarding DevOps or any topics associated with it. The purpose is to provide the authors with a learning experience via research and writing, but also to provide the readers with knowledge about new tools, concepts, and their place in a DevOps environment.

Each entry will discuss a new piece of technology, as well as the concept behind it, in an effort to explain how it may fit and agree with DevOps ideas and principles. If you would like to read more, please follow Abigail My Tran and Matthew Monaco.

DevOps is a crucial role in current software engineering practices. The rise of CI/CD pipelines is making software engineers and teams more efficient. Excited for this series!

Awesome job, Guilherme! I would love to learn more about DevOps as it is an important concept in software development. Looking forward for more of your articles to read :)

To view or add a comment, sign in

Others also viewed

Explore content categories