code will come , servers will go but config management will stay forever

94
CODE will COME SERVERS will GO but CONFIG will stay FOREVER @patrickdebois - Small Town Heroes

Upload: patrick-debois

Post on 14-Feb-2017

1.537 views

Category:

Engineering


0 download

TRANSCRIPT

CODE will COMESERVERS will GO

but CONFIG will stay FOREVER

@patrickdebois - Small Town Heroes

Things I did (I’m proud of)

veewee mccloud

MODERATION

Team of 7 peopleHow do we do it ?

“Backend” services

ELB

“Community” services

“IT support” services

Our “Office” services

“Frontend” services

“Mobile” services

SNS/Push Cognito

Services

#servicefull

servers

#serverless

A bit further down the rabbit hole …

Github

undocumented changes to service

limits and unavailable

autoscaling is too slow for peak traffic

service got disabled because

of too many bounces

inconsistent behaviour

(almost)NO MAINTENANCE

increased riskwhen not available

You are an Agent

You make promises to others in the system

Your promises should be verifiable

A promise does not guarantee an outcome

Conditions should be part of your promise

It needs to be clearly documented otherwise it’s not a promise

the language of a promise must be shared

It needs to be mutually agreed (not obligation) otherwise it’s not a promise

You might depend on other agents to keep your promises

Other agents make promises to you

Their promises need to be verifiableclearly documented & mutually agreed (not obligation)

But you can not make promises on behalf of other agents (bottom up vs top down)

Promises can be conflicting in a system

but the conflict can only be from internal promises (as we can not be responsible for others promises)

To keep a promise you should have a choice Push vs Pull

Single Leaves = SPOF

To create choice you need to eliminate the single leaves (SPOF)

“Abstraction is selective ignorance”

http://en.wikipedia.org/wiki/Andrew_Koenig_(programmer)

All problems in computer science can be solved by

another level of abstraction

… except for the problem of too many layers of indirection …

David Wheeler (inventor of subroutine)

Every promise binding is the basis for relationship(Dunbar)

Agents with a similar goal can be grouped into a Super Agent

Services

Single Leaves = SPOF

You need multiple Super Agents to have a choice again

Forksv1 v2 v3

v1 v2 v3

To keep promises agent can introduce different world views (versions)

Slows down

A super agent might get slow internal communication speed is key

Scaling Promises keeping your promise while changing your size (is hard)

container re-use non-deterministic

limits not clear under stress

scale is not always infinite

services

devops

Holy Cow!

“I introduced devops and all I got was a remote API”

It’s devops Jim but not as we know it

emerging practices

communicate the status

of your promise and monitor others

monitor your services

and expose your own metrics (API)

expose insights to other agents

(API)

show that you care about

other agents

expose your logs

be clear on what happens when it fails

backup external data (give an API please)

provide & seek fast feedback

on your promise change status

be clear on your dependencies and expect the same

of other services

be proactive to make others keep their

promises

give insights on changing promises

blog to communicate your service

skill level

talk at conferences to indicate

your willingness to share

make it convenient for other agents to use

provide feedback to other agents

show that you listen to those that depend on you

show that your participation by improving

the field

show that your engineers

are not afraid of talking to people

be responsive to requests

let other agents influence your changing

promises

External Services are the next silo

“The collaboration between dev & ops is now

extended to external 3rd parties”

“make clear promisesto other agents”

“And verify the status of other agents promises”

“To keep your promise to the business”

How I think most config management

tools/peoplesee the world

The future is outward facing

Questions?

https://vimeo.com/101735252

DevOpsDays Minneapolis 2014 Jeff Sussna, Promising Digital Service Quality