At the recently launched Army Software Factory in Austin, Texas, platform product manager Capt. James Cho uses cloud computing to speed software development.
Coders — who create software for anything from streamlining warehouse operations to improving soldiers’ battlefield performance — take advantage of the cloud’s shared storage, databases and networking that make computing resources more powerful and flexible than those available in on-site data centers.
With cloud, “you can dynamically spin up more instances or compute power as needed,” Cho said. “A lot of the toil you would have in managing an on-prem solution for this is abstracted away, and it reduces the amount of work we have to do scale these applications for deployment across the Army.”
The software factory isn’t alone in this approach. Across the Defense Department, senior leaders are looking to use the scale and computing power of the cloud to bring new software to service members more quickly and cost-effectively.
They’re looking to turn cloud into a kind of software assembly line, putting in place the key components — development tools, cybersecurity testing, quality assurance checks — and making them readily available to developers across the armed services in a common operating space.
“Cloud makes that baseline more readily shareable, and then you don’t have to have so many software engineers, at a time when they are already in short supply,” said Brad Curran, defense industry principal at Frost & Sullivan market analysis company. He noted that the military branches all have been pursuing cloud-based development strategies as a way to close that talent gap while also speeding deployment of new software tools.
Within the DoD, the Cloud Computing Program Office at the Defense Information Systems Agency is building that shared repository of software development capabilities. With repeatable, reusable processes in the cloud, “mission owners developing many different applications can ingest and use that, without having to create the pipeline upfront,” program office Executive Director Sharon Woods said.
Cloud and DevSecOps
Air Force Chief Software Officer Nicolas M. Chaillan is among DoD officials seeking to accelerate the pace of software production by pairing repeatable processes with a DevSecOps approach, a software methodology that combines development, security testing and operations in a seamless production process.
“When you combine the elasticity of the cloud with the rapid feedback loop of DevSecOps, you get real return on investment,” he said. “Instead of waiting years and months to test the software and cyber-scan the software, we do that multiple times a day, so that security and the reliability are built in.”
He’s seen this approach drive practical outcomes. He noted one instance in which developers were able to deploy in just 45 days a new artificial intelligence tool to assist pilot decision-making.
With cloud, “developers can scale up and down based on the compute and memory needs,” Chaillan said. “That elasticity makes them more agile: You can try things out and then turn them off very quickly.”
Commercial cloud offerings for government are supported by security certifications such as the Federal Risk and Authorization Management Program, or FedRAMP, and by guidelines from the National Institute of Standards and Technology. Given these guardrails, defense leaders say, development in the cloud is highly secure and can lead to more secure software releases.
The military benefits from competition among major cloud providers to deliver secure cloud environments for government work, Woods said. At the same time, the massive computing power of the cloud makes it possible to automate security-assurance processes within the software development pipeline. Many of the time-consuming manual checks to ensure software is properly patched can be carried out by machine, not just once but repeatedly throughout the development process.
“Security check points, quality check points: All of that is automated,” Woods said. “That’s very transparent for the entire development team. They’re able to review the quality and security of that code before it’s merged to the [military] branch.”
Flexible approach
As the Defense Department looks to expand cloud software development, Chaillan urges military leaders to avoid potential vendor lock-in.
“What if one day Amazon doesn’t like a war and decides they don’t want to do business with the military?” he said. Instead, developers can use open-source tools, such as the Kubernetes development platform, that work across cloud environments. “Then you don’t have to rewrite software in order to move to a different cloud provider. It gives you flexibility so that the things you are building can operate in any environment.”
Military leaders say they will continue to lean heavily on cloud as an application-development space, as they seek to deliver new capabilities and timely updates to meet battlefield goals.
Cloud-based development “allows us to put soldiers front and center” at the Army Software Factory, Cho said. “It reduces the manual overhead on the application development team so they have more time to focus on outcomes, to focus on soldiers and solider problems.”