Understanding the Basics of DevOps
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.
DevOps is the combination of “cultural philosophies, practices, and tools that increases an organization’s ability to deliver IT applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes,” the white paper notes.
As the white paper notes, “with continuous integration and continuous delivery and a robust test suite, code changes can be pushed and auto deployed to development/testing/production delivering incremental enhancements as soon as they are completed and in a manner that reduces regression errors.” DevOps also enables a rapid deployment pipeline of code and reduced feedback loops, according to the white paper.
Additionally, when true CI/CD is put in place, there is a robust change history automatically integrated into the source control repository. That enables rapid disaster recovery if a code change has unintended consequences that were not picked up by the test framework.
How Agencies Are Deploying DevOps for Their Missions
Federal agencies have used DevOps for a variety of needs, according to the white paper. For example, the IRS has used DevOps to help it modernize aging applications and processes. In the past, some development teams installed continuous integration servers to enforce repeatable, consistent compile and quality in build processes, and some operations teams were implementing automated delivery processes. However, it was not until 2017 that the IRS set up its DevOps organization as a cross-functional program.
Initially, the IRS DevOps team set out to provision new environments, tear down old ones and reduce lead times for new builds from months to days, according to the white paper. As a result, the IRS intended to cut the number of environments its developers need. The goal was to further lower complexities and cost.
Specifically, “streamlining governance and approval processes is reducing lags in staff productivity” at the IRS, according to the white paper. “Automating testing and deployment actions allows for faster feedback and actionable corrections, resulting in higher quality products and additional freed up staff hours. All the realized excess capacity freed from these efficiencies allows more time for staff to address other higher priority deliverables.”
At the NSF, the agency has used DevOps to save time, which has led to more features being developed. Like other agencies, the NSF has a “never-ending” backlog, the white paper notes, and before DevOps, developers were working until 2 a.m. on Friday nights to run validation scripts during off hours.
“Now, [NSF has] one engineer to click a button during the day and it runs. It’s optimized the time of [the agency’s] most valuable resources,” the white paper says.
DevOps has boosted the morale of developers, who are now able to perform “no downtime” deployments and cut down on the need to work late nights and on weekends. “It’s more of an intangible benefit but [it makes] this a much better, more productive place to work,” the white paper says. “Further, faster releases encourage better overall code writing because the feedback is almost immediate.”