DevOps :: Core Principles

DevOps :: Core Principles

The primary goal of DevOps is to satisfy the customer through continuous delivery of valuable and reliable Software, Resources and Infrastructure. In essence, DevOps concepts would blend better into an agile environment already delivering iterative incremental releases to production or to the customer. There are many principles behind DevOps manifesto. To slightly simplify the concept and to take pragmatic approach in assimilating the principles, we will focus on DevOps core. The root concept of DevOps is not new; many organizations have exercised tailor-made methodologies in the past to manage and produce frequent releases -- DevOps has extended this root concept by imparting proper discipline and principles to achieve the results by means of collaboration, effective communication, automation and continuous feedback.

The core principle revolves around development team and operations working together. Development, Infrastructure/Technology, QA and Business Teams collaborate and work together on a daily basis -- this can be a cultural change. This is the basic principle of DevOps which demands collaborative working environment and keeping effective communication between these groups. A healthy working relationship among these groups is necessary to set a strong foundation for DevOps. Companies organize team building and motivational activities to enhance healthy working relationships among various teams.

Once the organizational culture is transformed, it becomes relatively easier to implement  DevOps. The core principle fuels other goals. DevOps practices mostly revolve around continuous integration and continuous deployment. Continuous monitoring, gathering metrics and continuous feedback are essential to keep the process resilient. Most of these methods can be automated with less manual intervention -- automation helps to increase velocity, reduce errors and effectively manage features and releases. There are many tools available in each discipline -- DevOps is not about tools, but it is about the principles, practices and methods. Once the core principles are satisfied, tools can be utilized to speed up and manage the steps that would otherwise have to be done with more manual intervention.

In a development environment, the practice of Continuous Integration (CI) is essential to quickly integrate and discover defects. Code commits from multiple developers would happen more frequently and the baselines would be built, integrated and tested several times a day -- a continuous feedback and reporting of defects and other metrics are essential to continuously improve the quality of end product. Self-testing code helps to detect errors quickly and report back to the developer at an early stage. There is a proliferation of CI tools in the market, such as Jenkins, Travis CI, Buildbot, etc. CI tools/servers can stop buggy code entering into SCM.

CI is not the only practice that fulfills DevOps. There are many other practices that cover  Configuration Management, Containerization, Orchestration, Virtualization, Monitoring, and many more. There are many DevOps powered tools available to effectively manage and release Software and Resources rapidly and frequently.

Tools are not the first thing to look at -- what is more important is the discipline of practice and the methodology that meets core principles of DevOps. DevOps not only boosts agility, but if properly exercised would reduce many manual cycles and greatly increase the frequency of reliable releases to production/customer. If the core principles are not met, then DevOps could end up being an expensive exercise.

I guess good minds think alike.  Really good article.  By the way, exactly what Nastel Navigator does continuous integration, continuous delivery, secure web based self service for WMQ, Tibco, Kafka, and other middleware environments

Like
Reply

To view or add a comment, sign in

More articles by Vijay Govindaswamy

  • Simple steps for successful Product

    Software development teams always quest for better ways to make the next product more successful than the previous one.…

Others also viewed

Explore content categories