Discover PerformanceHP Software's community for IT leaders // July 2012
DevOps: The road to continuous delivery
By focusing on quality, automation and collaboration, you can deliver functionality to users faster than ever before.
Continuous Delivery—enabled by DevOps—focuses on creating shorter cycles that put functionality in the hands of users faster. This requires not only better collaboration but comprehensive automation of the build, test and deployment processes. At the extreme level, every code change that passes a series of automated tests could conceivably be deployed immediately.
Although automatic deployment to production makes sense in only certain scenarios, this level of integration between developers and the operations team is revolutionary because it enables releases to be driven by business need as opposed to operational constraints.
The keys to successful adoption of DevOps and Continuous Delivery are quality, automation and collaboration. Together, these can unify our traditional IT silos to enable agility across the application lifecycle.
Quality to build trust
Effective DevOps begins with trust—trust by Operations that developers, working at agile speed, have not cut corners in the interest of saving time. In contrast to Apps’ focus on delivering change quickly, the traditional Ops mindset is that change introduces risk—the risk of problems and the risk of outages. The Operations focus is on application availability and stability. The key to reconciling these two diametrically opposed views is quality.
The release process, or pipeline, begins at code check-in. The right approach can dramatically elevate the quality of a change as it progresses through this pipeline. Say that you already use continuous integration to build several times per day. This becomes much more powerful when coupled with automated build verification and regression tests. HP’s lab management automation capabilities for scheduling, provisioning and deploying test labs enable this continuous testing approach for higher quality from the outset. Such regular, timelier feedback to developers means functional and nonfunctional issues are identified and fixed early, resulting in a limited buildup of defects, a more precise view of progress and reduced volatility before release to production. Development teams therefore can deliver more functionality faster, while mitigating risk—the primary concern of their Ops counterparts.
Automate for agility
The second key factor is automation. Any manual step in your release process—a handoff, approval, testing—will significantly impact release time. Trading lengthy manual checklists for well-designed automation saves time, reduces errors and accelerates overall release cycles.
Fundamental to continuous delivery automation is application portability, which lets teams build the application once and then easily deploy anywhere. Portability is achieved through environment-aware application models that are shared between development, test and operations. [For more on how automation improves the creation and deployment of software, see our Applications, Operations and Security articles.]
Collaborate across silos
Effective collaboration ends the “bucket brigades” and finger-pointing that characterizes traditional Development/Operations relationships. It means traditionally siloed teams work in concert toward common goals. Collaboration also entails the sharing and reuse of assets so that lessons learned in one environment need not be reinvented in the next.
Building DevOps collaboration can begin with something as easy as agile teams including operations representatives in sprint planning sessions and end-of-sprint demos. For day-to-day idea sharing and problem solving, team communication can benefit from social-media-style collaboration tools.
Integrated systems across the two groups also can help in these ways:
- Performance scripts used in QA can automatically be packaged and sent to operations so they don’t have to re-create them.
- Usage patterns from production can be directly imported to a centralized database to create more accurate, real-life testing scenarios. Actual user sessions can be automatically converted into performance scripts for use in tests.
- Common performance diagnostics tools between development and operations allow for data sharing and a mutual understanding of issues for faster analysis and resolution.
Whether the CIO vision is to create a full DevOps shop or simply make IT more responsive to business needs, quality, automation and collaboration are powerful tools for success.
For more, read the full white paper, “Finding agility in the age of applications,” and visit HP’s DevOps page.
Diving into disruptive technology trends like cloud, mobile, and Big Data, HP’s CEO talks about moving not just IT, but the whole enterprise, into a new era.
Dig into strategic trends with our new Discover Performance Weekly video series, and go backstage at events like RSA.
Gigaom and Cerner discuss real examples of how advanced analytics can transform healthcare.