DevOps is not a Goal, But a never-ending process of continual improvement

DevOps gave us an edge

“DevOps has helped us in achieving super fast seamless releases. Updates and rollbacks are a cakewalk now, with both the infra and application deployment codified! ”

— VP of Engineering at DSB

What is DevOps?

It is a combination of practices, tools and cultural philosophies that improves the ability of an organisation to deliver releases in a much faster manner compared to other traditional models.

The collaboration between developers and operations team is at its best when devops principles and philosophies are correctly implemented.  In majority of the cases, all traditional teams are merged together to form a unified team who then becomes responsible for development, deployments, security and almost all aspects of application delivery.

Improving daily work is even more important than doing daily work

Who’s doing DevOps?

DSB is a company providing media workstation and editing solutions to large media centric organisations. Tens of thousands of media files are pushed and are modified and transcoded using custom proprietary applications. Building and rolling out new version of application and infra was a challenge, especially without any downtime. Devops helped them scale up to multiple deployments and infra modifications during the day.

History of DevOps

It all started a decade ago when IT industry realised the fact that there is something that is not right with the way different teams are organised and the way they coordinate to get things rolling.  Especially between Developers and Operations team.

IT operations team was completely a different team from Developers. Often times these teams were so isolated and were managed by completely different department leadership. This resulted in an unproductive environment and started to impact business goals.

Three computer science researchers named Len Bass, Ingo Weber, and Liming Zhu defined devops as follows.

a set of practices intended to reduce the time between committing a change to a system and the change being placed into normal production, while ensuring high quality

The very first conference for the devops was organised by agile practitioner Patrick Debois in Belgium. Companies like Puppet(one of the initial configuration management tool) adopted it early on.

What started as meetups and conference discussion is now considered as a major branch in IT industry. In the past 4 to 5 years, the demand for engineers who practice devops has gone up substantially.

We will help you get started on your devops Journey. Remember, as we said earlier, its a continues never ending journey.

There was a time when people believed that more team members means more productivity and more throughput. Its no more true after companies started adopting Devops culture. 

— Chairman, Dascase.

What’s in it for you?

Lesser Impact of Complexity on Application Development

In many cases the quality of your build is compromised due to complexity in the project that you are dealing with. In some cases, the application complexity keeps on growing as deployment progresses. In a growing complex environment, even a small error can start having bigger impact.

Devops process & the culture it brings with it, removes this by giving more and more control to teams who manage different chunks of the application.

Automated Building, Packaging and Deployments provides a robust mechanism to verify your application dependencies.

Great Collaboration Between Teams

If your organisational culture is not well aligned with Devops principles, then you are not really doing Devops. In a traditional setup, IT is permitted to only do their stuff, and similarly Dev is permitted to only do Dev stuff.  Devops culture actually blurs the line between these two core teams.   This brings in better understanding among the teams and helps in comprehending end-to-end flow.

Devops is all about consistent learning and improvement

Combining the teams this way enhances productivity and helps in achieving super fast execution of projects.

Improve Reliability of your Application

Most of the errors and technical glitches that delays project delivery are because of human errors. We all know the fact that we all are capable of making errors over and over again.  One of the core aspect of Devops is automation, and this aspects mitigates human errors to a larger extent.

An automated build, test & deployment can not only reduce issues, but improve the quality of your build.

Devops is not just about delivery things fast(which of-course is there), its also about delivering quality.

Faster Application Delivery

In a traditional model the dev team first builds the application, and then tests it in a test environment and then packages it. The operations team then steps in to deliver the tested things to production.  As these are distinct teams, its quite common to have misunderstanding about infrastructure requirements, configuration requirements, and so on.

This slows down the release process to production.  With the culture and services that Devops provides, companies can cut down on the time taken to release things to production.

Its all about The Culture

DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information technology (IT) professionals while automating the process of software delivery and infrastructure changes.

  • Understanding of the interdependencies between application development and It Operations
  • Aims to help organizations rapidly produce quality applications, products and services
  • Responds to the dynamic business needs and demands of the stakeholders
  • Supports the use of agile development processes

Infrastructure as code allowed us to perform 10x more builds without adding a single person to our team.
— Deepak D, Build Engineer at Bebop

Automation

Several factors have contributed to the evolution of the DevOps framework. These include virtualization and automation opportunities, the ability to automate environment provisioning using scripts, transitions in software development processes from the waterfall model to the Agile model, automation of application testing activities, introduction of release orchestration systems for enhanced collaboration among teams.

  • Identify areas where automation can be implemented for environment provisioning
  • Automate application deployment
  • Automate migration of application across environments
  • Automate Security Compliance

Lean

Development teams are making use of lean principles to eliminate waste and optimize the value stream, such as minimising WIP, making work visible, and reducing hand-off complexity and wait times.

Lean practices are focused on value creation for the end customer with minimal waste and processes.

Focus on results and not process

Releasing a new Version and automatically rolling back in case issues, has become a breeze now.

Build Engineer

Measurement

Measure EVERYTHING! Continuous improvement requires an empirical process. Expose your data and be transparent so that you can inspect and adapt. Data-driven metrics helps organizations make smart decisions. Work smart.

Focusing on the right metrics and measurements is vital if you are going to succeed with DevOps adoption.

Some of the key items to measure are as follows.

  • Release/Deployment Frequency: Developers should be able to release applications quicker than ever before. This will ensure the users are happy and are getting the value they need.  So measuring release and change frequency is important
  • Number of Failures: There is no point in releasing quickly if it has to be rolled back. So measure failures is important.
  • Time & Cost per each release: It is necessary to measure the time taken and cost associated for each release to measure the impact.

Sharing

A culture of openness and sharing within and between teams (and enabled with the proper tools) keeps everyone working toward the same goals and eases friction with hand-offs when issues arise.

The day to day knowledge sharing is what is more important between different teams.

Ready to start your DevOps journey?