communications between tribes

83
(without introducing more risk) Communication between Tribes Puppet Gareth Rushgrove A story of silos, Devops and Government

Upload: gareth-rushgrove

Post on 10-Jan-2017

117 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Communications Between Tribes

(without introducing more risk)

Communication between Tribes

PuppetGareth Rushgrove

A story of silos, Devops and Government

Page 2: Communications Between Tribes

(without introducing more risk)

@garethr

Page 3: Communications Between Tribes

(without introducing more risk)

Gareth Rushgrove

Page 4: Communications Between Tribes

(without introducing more risk)Backstory

The very abridged version

Page 5: Communications Between Tribes

Gareth Rushgrove

Page 6: Communications Between Tribes

GDSGovernment Digital Service

Gareth Rushgrove

Page 7: Communications Between Tribes

Gareth Rushgrove

Gareth RushgroveTechnical ArchitectGovernment Digital Service@garethr

Page 8: Communications Between Tribes

I’m no longer a civil servant.Thank you to everyone who is.

Gareth Rushgrove

Page 9: Communications Between Tribes

I learned the importance of communication first hand;from successes, failuresand relentless observation

Gareth Rushgrove

Page 10: Communications Between Tribes

- Stories from Government- The importance of language- The power of stereotypes- A few

Gareth Rushgrove

Tips

Page 11: Communications Between Tribes

(without introducing more risk)

Different Languages

One for each silo

Page 12: Communications Between Tribes

Gareth Rushgrove

Appreciating you’re a silo

Page 13: Communications Between Tribes

Agile, lean, scrum, containers, iteration, stack, hypervisor, nosql, serverless, cloud, velocity…

Gareth Rushgrove

Page 14: Communications Between Tribes

Agile, lean, scrum, containers, iteration, stack, hypervisor, nosql, serverless, cloud, velocity…

Gareth Rushgrove

Developer silo

Page 15: Communications Between Tribes

Incident, event, problem, COBIT, configuration management, capacity management, CAB…

Gareth Rushgrove

Page 16: Communications Between Tribes

Incident, event, problem, COBIT, configuration management, capacity management, CAB…

Gareth Rushgrove

IT silo

Page 17: Communications Between Tribes

APT, threat model, risk, cyber,mitigation, control, kill chain,threat intelligence, opsec

Gareth Rushgrove

Page 18: Communications Between Tribes

APT, assume compromise, threat model, risk, mitigation, control

Gareth Rushgrove

Security silo

Page 19: Communications Between Tribes

SPAD, MCO, GPG, CESG,CERT, GDS, IDP, DTO, 18F, USDS, IL3, OCTO, EUD

Gareth Rushgrove

Page 20: Communications Between Tribes

SPAD, MCO, GPG, CESG, CERT, GDS, IDP, DTO, 18F, USDS

Gareth Rushgrove

Government silo

Page 21: Communications Between Tribes

the language and speech, especially the jargon, slang or argot, of a particular field, groupor individual

Gareth Rushgrove

lingonounplural noun: lingoes

Page 22: Communications Between Tribes

Language acts as a barrier to entry to different communities

Gareth Rushgrove

Page 23: Communications Between Tribes

Language differences reinforce organisational silos

Gareth Rushgrove

Page 24: Communications Between Tribes

Gareth Rushgrove

Identify words in your organisation that are only in use in certain groups or teams

Tip

Page 25: Communications Between Tribes

(without introducing more risk)

The New Service Management

Talking ITIL and agile

Page 26: Communications Between Tribes

At GDS we talked a lot about Design, User Research, Agile and Open Source because they were fairly new to Government

Gareth Rushgrove

Page 27: Communications Between Tribes

Gareth Rushgrove

We talked a lot about discovery and alpha because people started there

Page 28: Communications Between Tribes

Gareth Rushgrove

We hired a lot of software developers becauseGovernment had very few

Page 29: Communications Between Tribes

Gareth Rushgrove

We didn’t talk enough about operations

Page 30: Communications Between Tribes

We didn’t talk enough about operations (to begin with because we weren’t running anything)

Gareth Rushgrove

Page 31: Communications Between Tribes

Gareth Rushgrove

Don’t take things for granted, communicate about everything you care about

Tip

Page 32: Communications Between Tribes

Gareth Rushgrove

Words often carry the weight of past experiences and other organisations

Tip

Page 33: Communications Between Tribes

Will the release really work?

Gareth Rushgrove

Paraphrasing one of my colleagues from 2012”

Page 34: Communications Between Tribes

Yes. We’ve done it more than1000 times. I’m confident itworks now

Gareth Rushgrove

Paraphrasing me

Page 35: Communications Between Tribes

Early members of GDS were mainly from media, startup and technology backgrounds

Gareth Rushgrove

Page 36: Communications Between Tribes

The formal language ofService Management* wasunfamiliar to most

Gareth Rushgrove

*Ironically, ITIL was a creation of CCTA, a UK Government agency

Page 37: Communications Between Tribes

But practices like automation,developers on-call, configuration management, continuous deployment, and automatedtesting were second nature

Gareth Rushgrove

Page 38: Communications Between Tribes

Gareth Rushgrove

Transformation often meansnew types of people. They will bring their own languageand assumptions

Tip

Page 39: Communications Between Tribes

We cancelled one configuration management effort because we couldn’t keep the spreadsheetup to date

Gareth Rushgrove

Remembering one conversation with an Government department”

Page 40: Communications Between Tribes

The recommendation was to move from quarterly releases to one release every 6 months

Gareth Rushgrove

Remembering one conversation with an Government department”

Page 41: Communications Between Tribes

Oh, we use an open source configuration management tool which reports state every30 minutes for every device

Gareth Rushgrove

Remembering one conversation with an Government department”

Page 42: Communications Between Tribes

Overlapping words from different tribes are often a great place to start collaborating

Gareth Rushgrove

Tip

Page 43: Communications Between Tribes

(without introducing more risk)Stereotypes

Understanding what people think of you

Page 44: Communications Between Tribes

A lack of personal relationships, sometimes caused by theinability to communicate,leads to stereotypes

Gareth Rushgrove

Page 45: Communications Between Tribes

a widely held but fixed and oversimplified image or idea of a particular type of person or thing.

Gareth Rushgrove

stereotypenounplural noun: stereotypes

Page 46: Communications Between Tribes

No

Gareth Rushgrove

Shiny new technology!

We need bimodal IT

What grade are you?

Page 47: Communications Between Tribes

No

Gareth Rushgrove

Shiny new technology!

We need bimodal IT

What grade are you?

Developer

Page 48: Communications Between Tribes

No

Gareth Rushgrove

Shiny new technology!

We need bimodal IT

What grade are you?

Government

Page 49: Communications Between Tribes

No

Gareth Rushgrove

Shiny new technology!

We need bimodal IT

What grade are you?

IT

Page 50: Communications Between Tribes

No

Gareth Rushgrove

Shiny new technology!

We need bimodal IT

What grade are you?

Security

Page 51: Communications Between Tribes

Some silos are organisational

Gareth Rushgrove

Page 52: Communications Between Tribes

Many silos are personal

Gareth Rushgrove

Page 53: Communications Between Tribes

a fictional rogue systems administrator who takes out his anger on users and others who pester him with computer problems

Gareth Rushgrove

BOFHBastard Operator from Hell

Page 54: Communications Between Tribes

Subverting stereotypes as a wayto build relationships

Gareth Rushgrove

Tip

Page 55: Communications Between Tribes

(without introducing more risk)Security Says No?Experts, intermediaries and end users

Page 56: Communications Between Tribes

Gareth Rushgrove

Page 57: Communications Between Tribes

Scaling finite expertise is often done with stacks of paper policy

Gareth Rushgrove

Page 58: Communications Between Tribes

Making use of stacks of paper policy often involves middlemen

Gareth Rushgrove

Page 59: Communications Between Tribes

Having direct access to real domain experts* is awesome

Gareth Rushgrove

*Unfairly in my case that mean

Page 60: Communications Between Tribes

I think you’ll find you can’t do that because of my interpretation of this wording in GPG13

Gareth Rushgrove

Unfairly paraphrasing countless conversations with intermediaries”

Page 61: Communications Between Tribes

Let’s just ring Richard fromGCHQ and see what he thinks

Gareth Rushgrove

”“

Unfairly paraphrasing countless conversations with intermediaries

Page 62: Communications Between Tribes

…!

Gareth Rushgrove

Paraphrasing countless conversations with intermediaries

”“

Page 63: Communications Between Tribes

Don’t let scarcity of expertise leadto unapproachable stereotypes

Gareth Rushgrove

Tip

Page 64: Communications Between Tribes

(without introducing more risk)

Code as a Communication Medium

Bridging policy and practice

Page 65: Communications Between Tribes

The dreaded incident severity conversation

Gareth Rushgrove

Page 66: Communications Between Tribes

Critical, Major, Minor, P1, Sev2

Gareth Rushgrove

Page 67: Communications Between Tribes

Stage 1Everyone thinkseverything is critical

Gareth Rushgrove

Page 68: Communications Between Tribes

Stage 2Everyone thinks all incidents for there own service are critical

Gareth Rushgrove

Page 69: Communications Between Tribes

(without introducing more risk)

Feature: Search

@high Scenario: check search results on unified search Given I am testing through the full stack And I force a varnish cache miss When I search for "tax" using unified search Then I should see some search results

@normal Scenario: check organisation filtering on unified search Given I am testing through the full stack And I force a varnish cache miss When I search for "policy" using unified search Then I should see organisations in the unified organisation filter

@normal Scenario: check sitemap Given I am testing through the full stack And I force a varnish cache miss When I get the sitemap index Then It should contain a link to at least one sitemap file And I should be able to get all the referenced sitemap files

GOV.UK Smoke Tests

Page 70: Communications Between Tribes

(without introducing more risk)

Feature: Search

@high Scenario: check search results on unified search Given I am testing through the full stack And I force a varnish cache miss When I search for "tax" using unified search Then I should see some search results

Page 71: Communications Between Tribes

The ambiguous nature of thewritten word

Gareth Rushgrove

Page 72: Communications Between Tribes

Lots of opportunities forpolicy as code

Gareth Rushgrove

Page 73: Communications Between Tribes

(without introducing more risk)

// Should cache responses for the period defined in a `Cache-Control:// max-age=n` response header.func TestCacheCacheControlMaxAge(t *testing.T) {

ResetBackends(backendsByPriority)

const cacheDuration = time.Duration(5 * time.Second)headerValue := fmt.Sprintf("max-age=%.0f", cacheDuration.Seconds())

handler := func(w http.ResponseWriter) {w.Header().Set("Cache-Control", headerValue)

}

req := NewUniqueEdgeGET(t)testRequestsCachedDuration(t, req, handler, cacheDuration)

}

CDN Acceptance Tests

Page 74: Communications Between Tribes

(without introducing more risk)

Scenario: The application should not contain SQL injection vulnerabilitiesMeta: @id scan_sql_injection @cwe-89Given a scanner with all policies disabledAnd the SQL-Injection policy is enabledAnd the attack strength is set to HighAnd the alert threshold is set to LowWhen the scanner is runAnd the XML report is written to the file sql_injection.xmlThen no Medium or higher risk vulnerabilities should be present

BDD Security

Page 75: Communications Between Tribes

(without introducing more risk)package { 'openssh': ensure => latest}

Puppet

Page 76: Communications Between Tribes

Where possible combine policy with implementation

Gareth Rushgrove

Tip

Page 77: Communications Between Tribes

(without introducing more risk)ConclusionsIf all you remember is…

Page 78: Communications Between Tribes

Share language as muchas possible

Gareth Rushgrove

Page 79: Communications Between Tribes

Because sharing language makes shared tooling and process easier

Gareth Rushgrove

Page 80: Communications Between Tribes

And learning the language ofanother tribe is a fantastic wayof breaking down silos

Gareth Rushgrove

Page 81: Communications Between Tribes

(without introducing more risk)

What I Don’t Know How to DoDevops Enterprise Ask

Page 82: Communications Between Tribes

What macro organisational structures limit theemergence of silos?

Gareth Rushgrove

Page 83: Communications Between Tribes

(without introducing more risk)Thanks

Ask me questions later