Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The Unavoidable Big Bang

The Unavoidable Big Bang

Talk about launching GOV.UK and working in a large organisation. Presented at RAMP in Budapest.

Gareth Rushgrove

July 11, 2013
Tweet

More Decks by Gareth Rushgrove

Other Decks in Technology

Transcript

  1. GDS Gareth Rushgrove package { 'apache2': ensure => latest, }

    service { 'apache2': ensure => running, provider => upstart, require => Package['apache2'] }
  2. class govuk::apps::calendars( $port = 3011 ) { govuk::app { 'calendars':

    app_type => 'rack', port => $port, health_check_path => ‘/bank-holidays’, } } GDS Gareth Rushgrove Higher level constructs
  3. require 'rubygems' require 'nat' nat do snat :interface => "Client

    Data", :original => { :ip => "10.0.0.0/xx" }, :translated => { :ip => "xx.xx.xx.xx" }, :desc => "Outbound internet traffic" dnat :interface => "Client Data", :original => { :ip => "xx.xx.xx.xx", :port => 22 }, :translated => { :ip => "10.0.0.xx", :port => 22 }, :desc => "jumpbox-1 SSH" dnat :interface => "Client Data", :original => { :ip => "xx.xx.xx.xx", :port => 80 },, :translated => { :ip => "10.0.0.xx", :port => 80 }, :desc => "jenkins, logging, monitoring HTTP" GDS Gareth Rushgrove Network in code
  4. require 'rubygems' require 'firewall' firewall do # internal rules rule

    "ssh access to jumpbox1" do source :ip => "Any" destination :ip => "xx.xx.xx.xx", :port => 22 end rule "http to backend applications" do source :ip => "Any" destination :ip => "xx.xx.xx.xx", :port => 80 end rule "https to backend applications" do GDS Gareth Rushgrove Firewalls in code
  5. GDS Gareth Rushgrove We changed less software on the day

    of launch than probably any day before or since
  6. sub vcl_recv { if (req.backend.healthy) { set req.grace = 30s;

    } else { set req.grace = 24h; } } sub vcl_fetch { set beresp.grace = 24h; } Grace mode in Varnish GDS Gareth Rushgrove
  7. @normal Scenario: check quick answers load When I visit "/vat-rates"

    Then I should see "VAT rates" GDS Gareth Rushgrove Run as smoke tests and monitoring
  8. @high Scenario: check quick answers load When I visit "/vat-rates"

    Then I should see "VAT rates" GDS Gareth Rushgrove Change who responds to issue