DevOps Zone is brought to you in partnership with:

Chris has been married to the love of his life, Danielle, for over four years now and they recently had their first child, their daughter Helena. Chris was an expert wrangler of developer content for DZone, then spent some time in the marketing department for DZone and AnswerHub, where he taught himself to code html. Now he handles production duties for DZone, so he's responsible for all those emails you get from DZone! BTW, if you're looking for someone to bore you to death with endless football knowledge, Chris is your go-to-guy! Chris is a DZone employee and has posted 322 posts at DZone. You can read more from them at their website. View Full User Profile

There's More to DevOps than Meets the Eye

01.19.2012
| 3877 views |
  • submit to reddit
Scott Ambler, IBM Rational’s chief methodologist for IT, had some predictions regarding what will be the new IT buzzword for 2012.  Unfortunately, he doesn't take much of a leap in declaring "DevOps" to be the new hot ticket in the IT community.  While Ambler is certainly valid in recognizing that DevOps will continue to be a critical part of many organizations thinking in 2012, it's also something that's was talked about throughout most of 2011.  But I was definitely impressed by his knowledge of the DevOps philosophy and his ability to breakdown the key components of DevOps "using three dimensions critical to DevOps success: process integration, tool integration, and data integration."  I've broken down his key components even further to give you the TL;DR version. 

1. Process Integration

Focusing on improving the activities that require transitions of work between development and operations.  Try to minimize this transition time.  (Scott didn't mention this, but the teams should probably have more frequent interaction, trying to work as one team rather than two silos)

2. Tool Integration

Having common tools that can be used by both development and operation teams allows for quicker deployment and resolution of product issues, again minimizing transition time.


3. Data Integration

Having tools that can work easily with both sets of data from both teams, so development teams can access operations' statistics/monitoring and operation teams have access to software information.


-Agile Development Strategies for DevOps-

Ambler is spot-on in recognizing that "DevOps has its roots in the agile software development when agilists realized that they needed to work effectively with operations staff in order to release often into production." Here are some of the different agile strategies Ambler feels are effective for DevOps:


  • Include all stakeholders

    Make sure all stakeholders (Dev, Ops, and Business folk) are being included and considered during all phases of the lifecycle.
  • Plan your releases

    Work with operations to determine possible release windows, black out periods, etc.

  • Figure out operational  and architectural requirements up front

    - Determine what the common operations requirements are for a project up front, so teams can deploy faster and with less issues.

    - Determine any changes in the organization's architectural strategy that need to be made and coordinate these changes with operations to ensure fast deployment with minimal setbacks.

  • Continuous Integration

    Ambler says that continuous integration "promotes greater solution quality by reducing the feedback cycle, which in turn enables easier releases into production."

  • Independent testing

    Run third-party testing parallel to development team testing to work through validation of non-functional requirements or product environment system integration.

  • Continuous Deployment

    Automate the deployment efforts between development and operation environments as much as possible.

  • Continuous documentation

    Update product documentation throughout the development lifecycle.

  • Final release preparations

    Focus on the remaining release issues necessary for deployment, including release window, training, and potential upgrades.

  • Final checks and post-release readiness

    Have operations assess the work done by the development team in preparing the product for deployment to ensure that installation scripts are tested, documentation is up-to-date, and, perhaps most importantly, that the development team is available during the release.

  • End-of-lifecyle Testing

    Ambler suggests running "your fully automated regression test suite against your baselined code once construction ends" to ensure that the product is ready for deployment.


In the end, Ambler sums it up by accurately stating that "there's more to DevOps than simply adopting some good practices.  Your process must also embrace several supporting philosophies."  While he may have placed a safe bet by predicting DevOps will be the new IT buzzword for 2012, Ambler clearly has a detailed knowledge of what it takes for an organization to maximize the potential of development and operations.

I encourage you to check out his article here for the full descriptions of key DevOps components.