GSA Cuts Deployment Time from 14 Months to 2–3 Days with Cloud Foundry
Transforming U.S. gov administration's IT processes with a cloud-native platform and improving "how government serves the public through technology"
The 18F team reduced a cumbersome, 14-month process to just a few days. In addition, the DevOps culture was instituted, with much higher services provided to internal customers and increased developer productivity. There are ~50 engineers on the PaaS, with 300 app instances running. The organization also enjoyed easier user management and easier billing.
A common architecture provides benefits, developers are much happier, but it's critical to document everything and use Spiff for manifests.
A very small team is leveraging Cloud Foundry to provide substantial benefits to a very large government agency.
The General Services Administration (GSA) is an independent agency of the U.S. federal government, with 12,000 employees. The 18F team is a small group within the GSA that's improving app development and deployment with CF.
The 18F team was named after its Washington, DC, address (short for "1800 F Street").
Transforming the government
“In the spirit of America’s top tech startups, 18F is a team of designers, developers, and product specialists” inside the General Services Administration (GSA) of the United States federal government, according to Diego Lapiduz. The team functions as a “civic consultancy” within the government, enabling agencies to rapidly deploy tools and services that are easy to operate, cost efficient, and reusable.
With Cloud Foundry, 18F is able to drastically cut the time for new app deployment from 14 months to two or three days, according to Lapiduz. “We are transforming government from the inside out, creating cultural change by working with teams inside agencies who want to create great services for the public,” according to the company’s website.
Delivery is at the heart of 18F’s activities, and Cloud Foundry enables the team to keep this clear focus. The team also provides consulting services alongside other federal agencies and partners on evaluating and improving digital initiatives.
“DevOps is hard, there’s no way around it. But DevOps in government is…pain.” —Diego Lapiduz, 18F/GSA
The following story is based on a presentation by Diego Lapiduz at Cloud Summit 2015 in Santa Clara, CA.
Complicated DevOps processes
Creating a DevOps culture is intrinsic to the cause, even though “DevOps is hard,” as Lapiduz says. The many steps involved in development—compliance, documentation, security, procurement, provisioning, and configuration—become difficult to implement in rapid fashion. Specific steps of the publishing process are outlined in the following slide:
To meet the need for dramatic improvement in time of delivery while maintaining all the required steps, the 18F team turned to the idea of integrating PaaS. An initial review considered several PaaS environments, including Cloud Foundry:
Cloud Foundry was chosen for several reasons: multi-tenancy, production-readiness, enterprise-friendliness, a common language, community support, and Foundation behind the platform.
Another key aspect of using Cloud Foundry involves BOSH, which provides many advantages, according to Lapiduz:
Lapiduz says he and the team especially enjoy the “safety” aspect of using BOSH. “When you’re running BOSH it always asks ‘are you sure about this?’ when you want to perform a critical task,” he says. “And when something breaks, it tells you about it!”
“One of the big things in government is that they say: ‘We don’t want to have our software be tied to one provider.’ So, Cloud Foundry was for us pretty clear, it was the platform we wanted to go with.” —Diego Lapiduz, 18F/GSA
The pilot project and beyond
The use of Cloud Foundry now enables creation and deployment of apps and services for separate organizations within a large government agency.
“Agency A can (also) have its own cloud and Agency B a separate one,” Lapiduz notes. So, the team set out to create a pilot project that involved multiple languages and frameworks, had to create small services inside an app, and had to leverage AWS “because that’s what we were using,” Lapiduz said.
A number of “learnings” have emanated from 18F’s use of Cloud Foundry, as shown in the slide below:
In addition, Lapiduz says “user management is about 100 times better (from the operations side) than before.” For both the development and operations side, the exclusive use of 12-factor apps by Cloud Foundry means “all our apps look the same,” according to Lapiduz. “So, we have a much better utilization rate, and our developers are happy too.”
In the final analysis, Lapiduz says “there’s no magic going on,” just several enormous benefits. “Now, we want to take it further,” he adds. Areas of future focus include CLI plug-ins; continually improving monitoring, reporting, and documentation; and expanding AWS services and integrations.
As of 2016, 300 app instances were running on the platform, according to Diego.
“With Cloud Foundry, I went from punching myself in the face to punching other people in the face.” —Diego Lapiduz, 18F/GSA
18F’s GitHub account can be found here, as well as cloud.gov’s official documentation.
Want details? Watch the videos!
About the experts
Diego Lapiduz is a software architect turned DevOps practicioner. He is currently leading efforts to deploy software applications more efficiently at 18F. Earlier in his career, Diego worked on projects ranging from e-commerce to social networks. He is often a frequent guest speaker at conferences, where he talks about software architecture, DevOps, and other ramblings.
Bret Mogilefsky is Innovation Specialist at 18F. Bret leads teams and projects focused on deconstructing the biggest technical hurdles to improving government services. Prior to 18F, Bret was the architect and evangelist for the overall developer experience at PlayStation, and was lead programmer and assistant designer of the legendary adventure game Grim Fandango at LucasArts.