Infrastructure as Code in Government

download Infrastructure as Code in Government

If you can't read please download the document

Transcript of Infrastructure as Code in Government

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