Discover PerformanceHP Software's community for IT leaders // July 2012
Automation: Operating on trust
DevOps promises to let IT deliver business value faster. Use automation to lock in quality even as you speed through bottlenecks between you and your developers.
It’s an age-old problem: Quality and speed are rarely compatible. That’s especially true as Apps and Ops teams move an application from inception to production. As the DevOps concept pushes to extend the speed of agile development through to release, this potential for conflict increases.
Because Ops is concerned primarily with quality and stability, your team sets up test environments with care—which means Apps teams think you’re the roadblock. Too often, developers just go outside the organization to provision their own dev and test environments in the cloud. But even so, the app eventually lands on your doorstep for the same careful provisioning, this time of the production environment.
So Apps doesn’t get the speed it wants, and you’re not confident you’re getting the quality you need.
The move to DevOps aims to mitigate some of this tension through tighter collaboration. But for it to work, the two sides need to trust that they’ll each get what they need. The secret to working fast, but with the assurance that the work is being done right, every time, is automation.
A pipeline without bottlenecks
First, you need a vision for how DevOps, or agile operations, will look in your organization. Getting Apps and Ops working as a cohesive unit to deliver business value usually entails a significant culture change.
The first step to working together smoothly is figuring out where you’re not collaborating and sharing information as the application moves through the release pipeline. Map out every step in your release pipeline—the process from code check-in to release in production—and who’s responsible for each step and the related handoffs. That pipeline often traces an exhausting manual process. And if you’re like many IT shops, you might even miss steps or the handoff points until you document and map it out in some detail. Identify the bottlenecks that impede agility in the release pipeline or just block it entirely. These points need to be addressed with automation and orchestration as applicable.
Create templates for test environments
If you carefully, methodically create templates for test environments, developers and testers can spin them up independently as needed. To the dev and test teams, this is about automating their test lab management process—which involves easy setup and teardown of environments, including scheduling of build verification or regression tests in that environment.
This faster provisioning and de-provisioning still has the necessary precision you require—and you’ve controlled the process all but invisibly, without slowing it down. Developers get what they need when they need it, and Ops gets the resources back when testing is complete. Lab-on-demand infrastructure can build and tear down in physical, virtual and cloud environments.
How does it work? You create the model and templates that will abstract the underlying complexities of the environment on which the application will be deployed. This only works by collaborating with developers and testers to understand what configurations they need for the application. It’s also important to collaborate regularly and update the templates as the application goes through multiple builds and versions.
Moving an app out of the test environment and into production is usually a complex procedure involving hours of manual effort, and in many cases different and siloed teams, each responsible for a small part of the delivery chain. This creates delays in the release process, because even when an app has passed testing, you’ll need to make many adjustments as it moves through lifecycle environments of development, testing, staging and production.
Application portability lets you build an application once and deploy it anywhere—not only on-premise but in the cloud. You do this by creating application models and templates that are environment-aware on-premise or in cloud. The model is a natural extension to the templates you already created for test environments.
To achieve real application portability, your team must collaborate with the dev and test teams to extend the template design to further hide complexities of the staging and production environments. Sharing these models and templates between developers, testers and your Ops team assures consistent, automated deployment across various environments of the application lifecycle. The end result is agility, reliability and repeatability—all leading to an accelerated time to market with higher quality.
Work toward the goal
DevOps, agile delivery, getting stuff done—whatever you call it, giving the business what it needs, faster and better than before, is IT’s core mandate. Creating a faster, higher quality release pipeline is an essential part of meeting competitive challenges. The only way to get both quality and speed is by automating the steps that bog down the process, starting with the hand-off bottlenecks. If you additionally bring the Security team into your dialog with Apps, you can bake in all the quality and risk management you need while still moving at the speed your Apps team—and the business—demand.
For more on bringing the benefits of the DevOps movement to your enterprise, visit HP.com/go/devops.
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.