GSA Cuts App Deployment from 14 Months to 2–3 Days with Cloud Foundry
Reduce a cumbersome, 14-month process to just a few days.
Time reduction achieved, DevOps culture instituted, with much higher services provided to internal customers and increased developer productivity.
A common architecture provides benefits, developers are much happier, but it's critical to document everything and use Spiff for manifests.
Enable creation and deployment of apps and services for separate organizations within a large government agency.
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 entrepreneurial mindset is truly at work with the creation of the small 18F team (named after its Washington, DC address) within the GSA.
(Note: The following story is based on a presentation by at Cloud Summit 2015 in Santa Clara, CA.)
“In the spirit of America’s top tech startups, 18F is a team of designers, developers, and product specialists” inside the General Services Administration 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 an agency 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.
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:
Another key aspect of using CF 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!”
The pilot project and beyond
Through the use of Cloud Foundry, “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. Particulars of the pilot project are provided in the following slide:
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.
1) The 18F team within the U.S. General Services Administration (GSA) can be found here: https://18f.gsa.gov/
2) 18F’s github account: https://github.com/18F
The original presentation by Diego Lapiduz of the 18F team:
To stay tuned with the latest updates, subscribe to our blog or follow @altoros.