infrastructure as code in government
TRANSCRIPT
Infrastructure as Code
in Government
Anna Shipman
Senior Developer
GOV.UK Infrastructure Team
@annashipman
The UKs Government
Digital Service (GDS)
Our job is to
transform government
@annashipman
GDS
GDS
GOV.UK wasfirst
We want to make government services so good that people prefer to use them
Individual electoral registration
47 million users migrated
1.5 million new applications
Change to democracy in the UK
Carers allowance
240,000 claims per year
Changed questions asked
89% user satisfaction
25 of governments biggest services redesigned to meet the needs of users
Minimum Viable Services for
UK Taxpayers
3.30pm
We work in open, agile,
multi-disciplinary teams
Focused on
user needs
Infrastructure as code
We have a mandate to
change things
But government is high-profile,
security-conscious, risk-averse
Government procurement
is hard
http://www.vmwarearena.com/2013/08/vcloud-director-series-part-7-basic.html
We hacked our AWS scripts to work with vCloud
The strategy is delivery
There were a lot of issues with the existing tool
So we decided to do it right
this time
vCloud API
The Ruby cloud services library
150 machines
14 networks
dozens of firewall rules, nat rules and load balancers
Maintainable
Unit tests 84-99% coverage
Integration tests
Open Source Software
Three things I learned
You need web operations skills and development skills to do infrastructure as code
The existing project was very tightly coupled
Git filter-branch
But it would have been easier to have done that from the beginning
You need developers
and web ops
Multi-disciplinary teams
#DevOps
Make sure you understand the context
Adding mocks to fog was
too hard
But it wasn't that hard after all
Do your homework
We have now contributed
back to fog
Make things open: it makes
them better
Coding in the open
Supported Open Source Software
Coding in the open forces you to do things the right way
from
the beginning
Shame is a big motivator!
Open source software gets very early users
Added support for IP pools
I have a lot to say on the challenges of early users and supporting OSS...
If you can make things open source, do
A call to action!
Get involved
Contribute to vCloud Tools
Contribute to fog, or Terraform
Go and work for government
Make things better
Anna Shipman
Senior Developer
GOV.UK Infrastructure Team
@annashipman
Useful links
GOV.UK https://www.gov.uk/
vCloud Tools https://github.com/gds-operations/vcloud-tools
vCloud Tools website http://gds-operations.github.io/vcloud-tools/
Other GDS operations open source website http://gds-operations.github.io/
GDS Design Principles https://www.gov.uk/design-principles
US Digital Services Playbook https://playbook.cio.gov/
fog http://fog.io/
vCloud API documentationhttp://pubs.vmware.com/vcd-51/index.jsp?topic=%2Fcom.vmware.vcloud.api.doc_51%2FGUID-F4BF9D5D-EF66-4D36-A6EB-2086703F6E37.html
Blog posts
Building tools to provision our machineshttps://gdstechnology.blog.gov.uk/2014/05/07/building-tools-to-provision-our-machines/
How we used vCloud Tools to provision a new platformhttps://gdstechnology.blog.gov.uk/2014/05/21/using-vcloud-tools-to-provision-a-new-platform/
Coding in the open https://gds.blog.gov.uk/2012/10/12/coding-in-the-open/
Using Git to refactor vCloud Tools into separate gemshttps://gdstechnology.blog.gov.uk/2014/06/04/using-git-to-refactor-vcloud-tools-into-separate-gems/
Carer's allowance What we mean when we say service transformationhttps://gds.blog.gov.uk/2014/07/03/what-we-mean-when-we-say-service-transformation/
Individual Electoral Registrationhttps://gds.blog.gov.uk/2014/06/20/i-fought-the-law-and-the-users-won-delivering-online-voter-registration/
@annashipman
GDS
GDS