Over a million developers have joined DZone.

What Is The Best DevOps Best Practice?

DZone's Guide to

What Is The Best DevOps Best Practice?

A response to a Dr. Dobb's piece on DevOps best practices, and what those practices should be.

· DevOps Zone
Free Resource

In response to accelerated release cycles, a new set of testing capabilities is now required to deliver quality at speed. This is why there is a shake-up in the testing tools landscape—and a new leader has emerged in the just released Gartner Magic Quadrant for Software Test Automation.

A recent post, highlighting some best practices for DevOps, caught my attention. While the author made some very valid points, and shared some smart ways to ensure DevOps success, I tend to disagree with the way some of these practices were prioritized.

The author outlines the best practices in the following order:

  1. Active stakeholder participation,

  2. Automated testing,

  3. Integrated configuration management,

  4. Integrated change management,

  5. Continuous integration,

  6. Integrated deployment planning,

  7. Continuous deployment,

  8. Production support,

  9. Application monitoring and

  10. Automated dashboards.

Based on my experience, for the same reasons the author ranked Automated Testing higher than Continuous Integration, I strongly believe that practice #9, Application Monitoring, must take a higher priority over practice #7, Continuous Deployment. This is the only way to ensure that changes across the environment – both to software applications and the back-end databases that support them – are fully synchronized.

The DevOps approach is centered around smaller, more frequent rollout of changes, designed to minimize risk and increase efficiency. But, in order for these quick deployments to be smooth and seamless, developers must:

  • Know what changes have been made
  • Understand the reasons behind each change (which are typically stored in third-party change management systems)
  • Have the ability to resolve conflicts (which often occur due to the competing priorities of Development and Operations teams)
  • Be able to deploy specific changes based on user stories

These capabilities are usually in place for those who manage changes in software application environments, but are often lacking in database change management scenarios. I’ve always felt that a big contributor to this “gap” were DBAs who fail to follow version control methods because of time constraints or technical challenges.

For more great DevOps tips, download this white paper: DevOps misconceptions and best practices.

But the growth of DevOps presents a great opportunity to bridge the gap between application development and database development. The best way to accomplish this is with a database change management solution. Such tools will help incorporate database change processes into application lifecycle management, ensuring that both database development and source code development are well synchronized and coordinated.

Recently published Gartner Magic Quadrant Report for Software Test Automation provides an objective benchmark of all test automation solutions based on industry surveys, customer inquiries, product evaluations, and more. 

devops ,best practice

Published at DZone with permission of Yaniv Yehuda, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}