How to Shift to a DevOps Approach
If you want to move your development and operations teams to a DevOps methodology, there are some distinct steps that you should take.
As CIO magazine notes, DevOps means that “automation is employed to develop a continuous integration, continuous delivery platform that can be tested and monitored automatically.” That can be complex, and it can be difficult to know where to start.
Steve Abrams, a distinguished engineer in IBM’s Watson Group, says in a blog post that organizations should start by automating everything, including software builds and testing, as well as the provisioning and deployment of virtual machines, middleware and application code. Automation ensures repeatability, he notes.
All of that needs to be tested, including the virtual machine configurations, the middleware installation, the deployment scripts and the applications. Continuous testing helps ensure quality control.
Agencies should also use Source Control Management systems to version everything from deployment scripts, infrastructure definitions for all environments, test cases and code, Abrams says. Versioning this way ensures consistency.
Agencies also need to track and plan everything. “Whether it’s a change to a patch to the OS, a change to some middleware parameter, an updated test case, or a bugfix to the code, everything should be tied to a work item,” Abrams says. “At a minimum, this lets us plan the activity, communicate about it, and know when it is done. This ensures transparency.”
Applications, deployment actions and users’ activities need to be monitored and audited. Finally, Abrams says, agencies should use dashboards to easily track application build quality and status, application performance, production troubles, team efficiency and bottlenecks in the process.
DevOps also requires a cultural shift and that cannot happen all at once or overnight. Too much change, too quickly, will lead to resistance on the part of developers and the operations team members.
Therefore, it’s best for CIOs and their deputies to work with other IT leaders at agencies to help them understand the benefits of DevOps. They also need to get team members more comfortable working together across traditional lines of effort.
MORE FROM FEDTECH: Find out how the USDA uses containers to build apps.
Agencies Already Benefit from DevOps
Several agencies are already far along in their use of DevOps. For example, U.S. Special Operations Command CIO Lisa Costa has said that DevOps represents “a cultural shift that occurs in terms of processes that have been put in place and people who are used to software development processes taking months and years and those now moving to hours and days.”
According to FedScoop, Costa said last year that SOCOM has taken the approach of “code once, provide to many and provide on many networks.”
“That way, we’re only maintaining one version of the software and we are controlling the environment in which it runs based on the network it’s operating on,” she said. “The code doesn’t change, but perhaps the environment in which it operates is changing.”
The Air Force has been another eager adopter of DevOps. Last year, the service branch tapped GSA’s Federal Systems Integration and Management Center (FEDSIM) Commercial Solutions pilot program to solicit bids for a DevOps platform, Nextgov reports.
“What Agile and DevOps, or DevSecOps, are talking about is really the ability to continuously deliver capability so that we burn down the risk of delivering the wrong thing,” Lt. Col. Jeremiah Sanders, program manager and Air Operations Center Weapons System and Deputy Commander of Detachment 12, Kessel Run, told GovLoop last year. “We’re able to get feedback from end users and iterate on that capability. The underlying technology infrastructure that allows distributing the software continuously on a worldwide scale, including multiple classification levels, was really a big enabler of what we’ve been able to do from a war fight perspective.”
On the civilian side, the IRS has been using DevOps for nearly three and a half years, and last year Kaschit Pandya, IRS Enterprise Operations deputy associate CIO, said last year that full integration testing and deployment time had fallen from 500 minutes per project to 30, MeriTalk reports. Automated testing time decreased from 15 minutes to 1 millisecond, and the agency’s ability to deploy releases and upgrades plunged from 18 weeks to 9 minutes.
DevOps is gaining steam, and there are clear benefits to migrating to the approach. Agencies that want to do so need to take deliberate steps to ensure their culture and technology is ready for the shift.
This article is part of FedTech’s CapITal blog series. Please join the discussion on Twitter by using the #FedIT hashtag.