Amazon, Netflix and Facebook are large corporations that can all seemingly turn on a dime. They deploy thousands of lines of code a day to improve our customer experience thanks to a healthy DevOps culture. DevOps is not a software tool or a hired hand. It’s the way an IT team works collaboratively to ensure customer delivery without numerous manual gates, months of development and bloated change management policies. It’s what drives successful software delivery.
Traditionally, development and operations teams work in different departments. Often there is a figurative, maybe even literal, wall dividing these teams. Operations professionals sometimes think of development as cranking out code all day. Conversely, development professionals may think of operations as button pushers who are resistant to change. In the middle, there’s a manager who just needs the job done without bugs.
Consider the facts. According to Puppet’s 2016 State of DevOps Report, high-performing IT organizations:
- Deploy 200 times more frequently.
- Have 24 times faster recovery times and 3 times lower change failure rates.
- Spend 22 percent less time on unplanned work and rework.
- Employ happier employees who are 2.2 times more likely to recommend their organization as a great place to work.
The need for DevOps
With stats like that, the growing popularity of cloud computing and cloud-like, on-premises operating environments there is an ever-present need for DevOps. This work culture brings people together. A developer doesn’t stop at just handing off code to operations counterparts. Instead, they design applications to be optimized to execute in a cloud-ready, continuous-delivery style environment.
Sound different? Sometimes different can be innovative – producing quicker results in a simpler environment. Think back to the early 1900s and the automobile revolution. The status quo was for teams to build cars one by one. Today that sounds ludicrous. What a waste of time! Thank Henry Ford (among others) for shifting our thinking.
Ford was a crusader for efficiency. He was inspired by the continuous-flow production methods used by flour mills, breweries, canneries and industrial bakeries. He adopted their idea in his factory eventually creating the moving assembly line and reducing the time it took to build a car from more than 12 hours to two hours and 30 minutes.
Now let’s think back to those Fortune 500 companies – Amazon, Netflix and Facebook. Working in a DevOps environment, these companies have shorter development cycles, increased deployment frequency, and faster time to market.
Did you know that an average of 85 percent of the features built into a system is never used? Organizations with a healthy DevOps culture do. It’s why they focus on delivering business value instead of focusing on delivering a laundry list of features. It’s also how they end up being nimble trendsetters constantly enhancing their application and adding ever more business value to their customers.
Thousands of lines of new Amazon and Netflix code deploys daily and it is so seamless, we don’t even know it. For example, Facebook often has as many as 50 deployments per day while Amazon averages a deployment every 11.7 seconds. Working in silos this would never happen.
Pillars of DevOps
These updates and their frequency are fantastic to consider. Remember, whatever the process, at the end of the day, it is still a team of people, working together with a common goal that achieves these kinds of results. That’s what makes the Pillars of DevOps important: culture, automation, measurement, and transparency.
Culture: DevOps is a culture, which means the team has to be willing to change how they work. Because the user experience needs to adjust, the team needs to be ready to change – often. The team also needs to know it’s ok to fail – this emphasizes continuous learning (not blame.)
Automation: To enable shorter development cycles, consider your processes. Ford shifted to the moving assembly line. DevOps encourages the automation of unit testing, regression testing, smoke testing, as well as the automation of deployment, delivery, and monitoring.
Measurement: Coupled with these efforts is a focus on measurement to ensure success. This goes beyond the measurement of the performance and value being provided by the application and extends to the monitoring of the development and operation teams supporting the application. Where is their time spent and what’s the value produced by that time? Capture this information, consider it and continuously improve.
Transparency: With development and operations coming together, the turf is everyone’s on which to play. Teams have to share best practices, functionality, ensure metrics are truthful and encourage visibility at all levels. This requires trust and confidence. Is your team ready?
DevOps is not about hiring someone who understands the concept. It’s not about simply buying software to support the environment. And most certainly it’s not about a massive reorganization. It is about working smart to be innovative, creating a collaborative workplace, and delivering value to the customer. It’s definitely something to consider in today’s fast paced, demanding online delivery driven world.
Kyle Burns, Solution Architect, Application Development