How Your Agency Can Effectively Implement DevOps
The stereotype of the federal government as a stodgy, behind-the-times operation when it comes to technology and software development is no longer as tethered to reality as it may have been in decades past.
Increasingly, agencies are adopting a DevOps methodology to develop applications. DevOps encourages software developers to work with IT operations staff on testing and quality assurance to develop software more quickly and automate infrastructure changes. It’s a collaborative mentality designed to produce software faster and more efficiently.
There are numerous benefits to shifting to a DevOps mindset inside your IT shop. DevOps allows agencies to bring agile practices to bear on both development and operations. The approach boosts communication and collaboration between the two teams, accelerates the development process and gets projects to end users in a timelier manner.
“I think that across the board, in order to deliver and meet the standards our citizens are seeing from a commercial standpoint, our agencies are having to move forward and adopt more rapid methodologies,” Phoebe Nerdahl, the public sector lead for software development firm Atlassian, recently told Federal News Network. “The whole idea behind DevOps is to combine agile methodology with continuous delivery. This will enable you to produce better products, better processes, have leaner organizations and teams so you can scale to meet the needs of your mission today.”
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.
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.