Over a million developers have joined DZone.

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

The DevOps Zone is brought to you in partnership with Sonatype Nexus. The Nexus Suite helps scale your DevOps delivery with continuous component intelligence integrated into development tools, including Eclipse, IntelliJ, Jenkins, Bamboo, SonarQube and more. Schedule a demo today

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.

The DevOps Zone is brought to you in partnership with Sonatype Nexus. Use the Nexus Suite to automate your software supply chain and ensure you're using the highest quality open source components at every step of the development lifecycle. Get Nexus today

Topics:
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.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

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

{{ parent.tldr }}

{{ parent.urlSource.name }}