Organizations like Netflix, Amazon, Google, Instagram, and Facebook (which practice DevOps) have set the bar pretty high concerning the end-user experience


Most people have probably heard the term DevOps being used a lot lately, either from people who work with software or from an online post like this one. DevOps is hard to explain, even for those who practice it. This is because as opposed to well-defined concepts like Continuous Integration (CI), Continuous Delivery (CD), and automation, DevOps is a culture of collaboration that encompasses several different concepts. While CI/CD and automation are about software, DevOps is about the people behind it. It’s about changing the way they think, work, and communicate with each other.

Silos and Waterfalls

With DevOps, the goal isn’t an enumerated outcome like an increase in sales or revenue (though that’s a by-product of doing DevOps the right way), but rather to optimize the flow of value from developer to consumer.

To fully understand how this is different from what most organizations were doing in the past, a quick lesson on “Silos” and “The Waterfall Approach” is probably in order. Silos refer to teams that work in a bubble and don’t share information or accept feedback till their job is done, this approach was called The Waterfall or “chucking over the wall” Approach. 

Imagine you’re a developer whose been working on an update for about three months without any collaboration or feedback with the operations team, (the team that’s responsible for making sure your update is deployed successfully). You work on your code in your solitary bubble and when it’s all done to perfection you decide to “chuck it over the wall” at your Ops team. The Ops team, who have had no way to see what you’ve been doing or provide feedback, are surprised that you’ve used a number of resources that make your update incompatible with the present infrastructure and chuck it back at you.

DevOps

This cycle would continue back and forth for weeks and even months and was the primary reason why software development life cycles were so long. This is due to the fact that with the waterfall approach, no new features can be implemented once the development stage has commenced and the only way to do so is to scrap the current deployment and go back to the drawing board.

This was a massive waste of time and energy for everyone involved till John Allspaw and Paul Hammond gave a presentation called “10+ Deploys per Day: Dev and Ops Cooperation at Flickr.”

Working of DevOps (Image: Shutterstock)

While most of us know Flickr as a photo-sharing platform, a lesser-known fact is that Flickr was one of the first organizations that had Dev and Ops teams working side-by-side.

Let’s revisit our example of a developer working in a silo and instead imagine the Ops team involved in the project right from the get-go. The difference here, of course, is that the Ops team will be able to point out the minute a developer is straying off course in terms of production environment limitations, saving huge amounts of time and money in the process.

The key to fast and frequent updates

Going back to the Flickr example, at a time when updates were few and far between, 10 deployments per day was unimaginable. What’s interesting here is that while Flickr had combined its Dev and Ops teams, it was owned by Yahoo who were pretty much still doing things the old way.

In an interview with itrevolution.com, Jim Stoneham who was running Yahoo! Communities business in 2009, recalls how any engineer at Flickr could commit code to production at the push of a button while at the rest of Yahoo it was a slow and drawn-out process.

This brings us to an important aspect of DevOps, automation. Automation is the process of effectively eliminating manual and repetitive tasks in the development lifecycle, as well as using technology to perform tasks with minimum human assistance. This is done with the help of Ci/CD tools like Jenkins and Jenkins X that help automate the entire delivery pipeline.

Reusing software is another important aspect of automation as it prevents teams from wasting time re-inventing the wheel when solutions are already available. A good example is a practice of providing developers with reusable environments and resources.

Why it can’t be done without DevOps

Organizations like Netflix, Amazon, Google, Instagram, and Facebook (all of which practice DevOps) have set the bar pretty high with regard to the end-user experience and what consumers expect from an application. Flawless performance with frequent updates and patches that fix issues virtually instantly are characteristics of an application that most of us pretty much take for granted now.

Image: Freepik

The ability to make changes that immediately make it to the live application is not only a must-have quality if an application is to remain relevant in this day and age, but one that is not achievable without DevOps.

In case you missed:

With a background in Linux system administration, Nigel Pereira began his career with Symantec Antivirus Tech Support. He has now been a technology journalist for over 6 years and his interests lie in Cloud Computing, DevOps, AI, and enterprise technologies.

1 Comment

Leave A Reply

Share.
© Copyright Sify Technologies Ltd, 1998-2022. All rights reserved