There's More to DevOps than Meets the Eye
Join the DZone community and get the full member experience.
Join For Free1. 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.
Opinions expressed by DZone contributors are their own.
Comments