i, for one, welcome our new robot overlords

65
I, For One, Welcome Our New Robot Overlords Mykel Alvis - Cotiviti Labs @mykelalvis [email protected]

Upload: sonatype

Post on 15-Apr-2017

73 views

Category:

Software


0 download

TRANSCRIPT

Page 1: I, For One, Welcome Our New Robot Overlords

I, For One, Welcome Our New Robot Overlords

Mykel Alvis - Cotiviti Labs@mykelalvis [email protected]

Page 2: I, For One, Welcome Our New Robot Overlords

200+ repos

3-4 deploys per day

15 developers

0 operators (sorta)

@mykelalvis

Page 3: I, For One, Welcome Our New Robot Overlords

My name is Mykel

@mykelalvis

Page 4: I, For One, Welcome Our New Robot Overlords

High-risk

High-speed

High-tolerances

@mykelalvis

Page 5: I, For One, Welcome Our New Robot Overlords

Highly-regulated data

@mykelalvis

Page 6: I, For One, Welcome Our New Robot Overlords

I love my job

@mykelalvis

Page 7: I, For One, Welcome Our New Robot Overlords

There’s just this one problem.

Well, lots of them.

@mykelalvis

Page 8: I, For One, Welcome Our New Robot Overlords

NOT a “people-person”

@mykelalvis

Page 9: I, For One, Welcome Our New Robot Overlords

How engineers see themselves

@mykelalvis

Page 10: I, For One, Welcome Our New Robot Overlords

How the world thinks it sees them

@mykelalvis

Page 11: I, For One, Welcome Our New Robot Overlords

How I generally see them

@mykelalvis

Page 12: I, For One, Welcome Our New Robot Overlords

How they really are.

How we ALL really are.

@mykelalvis

Page 13: I, For One, Welcome Our New Robot Overlords

The fragility of humans is a fact of life

@mykelalvis

Page 14: I, For One, Welcome Our New Robot Overlords

Dealing with engineers is tiresome for me

@mykelalvis

Page 15: I, For One, Welcome Our New Robot Overlords

I AM an engineer

@mykelalvis

Page 16: I, For One, Welcome Our New Robot Overlords

A lot of what I have done might not be very glamorous

@mykelalvis

Page 17: I, For One, Welcome Our New Robot Overlords

We get paid to make the boring things stay boring

@mykelalvis

Page 18: I, For One, Welcome Our New Robot Overlords

Can’t do live demos

@mykelalvis

Page 19: I, For One, Welcome Our New Robot Overlords

@mykelalvis

Page 20: I, For One, Welcome Our New Robot Overlords

@mykelalvis

http://bit.ly/28NI32i

Page 21: I, For One, Welcome Our New Robot Overlords

We’ve become addicted to speed

@mykelalvis

Page 22: I, For One, Welcome Our New Robot Overlords

I used to own a relatively fast sports-car

@mykelalvis

Page 23: I, For One, Welcome Our New Robot Overlords

I drove it very fast.

Everywhere.

@mykelalvis

Page 24: I, For One, Welcome Our New Robot Overlords

But there’s a price for speed

@mykelalvis

Page 25: I, For One, Welcome Our New Robot Overlords

The tolerances for failure drop

@mykelalvis

Page 26: I, For One, Welcome Our New Robot Overlords

What we do is NOT Formula 1 racing

@mykelalvis

Page 27: I, For One, Welcome Our New Robot Overlords

The Labs Way™

We don’t really have a trademarkIt’s a joke. For now.

@mykelalvis

Page 28: I, For One, Welcome Our New Robot Overlords

Treat everything as code. Everything.

@mykelalvis

Page 29: I, For One, Welcome Our New Robot Overlords

Test your code.

@mykelalvis

Page 30: I, For One, Welcome Our New Robot Overlords

Perform formal releases.

@mykelalvis

Page 31: I, For One, Welcome Our New Robot Overlords

Releases produce immutable artifacts

@mykelalvis

Page 32: I, For One, Welcome Our New Robot Overlords

Keep everything!

@mykelalvis

Page 33: I, For One, Welcome Our New Robot Overlords

No, silly. Like this.

@mykelalvis

Page 34: I, For One, Welcome Our New Robot Overlords

Failing tests mean failed builds. Duh.

@mykelalvis

Page 35: I, For One, Welcome Our New Robot Overlords

Design your systems to be automated

@mykelalvis

Page 36: I, For One, Welcome Our New Robot Overlords

Deal with those systems only through automation

@mykelalvis

Page 37: I, For One, Welcome Our New Robot Overlords

Operations IS developing

@mykelalvis

Page 38: I, For One, Welcome Our New Robot Overlords

Because everything is code. Everything.

@mykelalvis

Page 39: I, For One, Welcome Our New Robot Overlords

All defects are defects of code

@mykelalvis

Page 40: I, For One, Welcome Our New Robot Overlords

How does this even work?

@mykelalvis

Page 41: I, For One, Welcome Our New Robot Overlords

Discipline

@mykelalvis

Page 42: I, For One, Welcome Our New Robot Overlords

Wat?

@mykelalvis

Page 43: I, For One, Welcome Our New Robot Overlords

I know. You thought it’d be easy. Or at least easier.

@mykelalvis

Page 44: I, For One, Welcome Our New Robot Overlords

The railroads

@mykelalvis

Page 45: I, For One, Welcome Our New Robot Overlords

Standardization is a Big Deal

@mykelalvis

Page 46: I, For One, Welcome Our New Robot Overlords

Firearms

@mykelalvis

Page 47: I, For One, Welcome Our New Robot Overlords

Modern firearms require fairly tight tolerances.

@mykelalvis

Page 48: I, For One, Welcome Our New Robot Overlords

Again, standardization is a

Big Deal

@mykelalvis

Page 49: I, For One, Welcome Our New Robot Overlords

Assembly lines

@mykelalvis

Page 50: I, For One, Welcome Our New Robot Overlords

Now we’re up to 2016!

@mykelalvis

Page 51: I, For One, Welcome Our New Robot Overlords

Standardization is an effect of applying

discipline to manufacturing

@mykelalvis

Page 52: I, For One, Welcome Our New Robot Overlords

★ Standardize★ Evaluate

★ Test★ Discard the useless

★ Own it

@mykelalvis

Page 53: I, For One, Welcome Our New Robot Overlords

Robots are categorically better at repetitive behaviors

@mykelalvis

Page 54: I, For One, Welcome Our New Robot Overlords

Humans are better at responding to

unpredictable events

@mykelalvis

Page 55: I, For One, Welcome Our New Robot Overlords

Customized automation framework

@mykelalvis

Page 56: I, For One, Welcome Our New Robot Overlords

Our system works on a pub-sub

framework

@mykelalvis

Page 57: I, For One, Welcome Our New Robot Overlords

@mykelalvis

The developer enters the release request into a chat client

@meredith release myproject from master at 9a9c3567942ad92ec962bd96e771acb66c92c8b0

The bot responds in chat with an in-progress link that shows the running logs of the process

Starting task: f19cd655-4440-4e6b-8a57-62c2f493cf89. Track status at: https://redirector/status/f19cd655-4440-4e6b-8a57-62c2f493cf89 Successfully cloned repository: ssh://[email protected]/myorg/myproject from branch master [9a9c3567942ad92ec962bd96e771acb66c92c8b0] Performing dry run... Preparing for release... Performing release...

Page 58: I, For One, Welcome Our New Robot Overlords

@mykelalvis

The legal representative enters the release request into a chat client

@meredith provision new client with public key id 9ACA8791

The bot responds

Preparing to provision a new client... New client id is: 5d5ed93f-8210-4b75-9d54-9e111abdd4f8 Queuing deploy request: client-deploy Starting task: 5988afa4-b71b-4a7b-8a0d-e5d7e1ec77d0. Track status at: https://redirector/status/5988afa4-b71b-4a7b-8a0d-e5d7e1ec77d0 Succesfully retrieved client public key: 9AAC7891 Resolving dependencies from deployment pom... Provisioning environment... Provisioning executed successfully. New deployment https://client-deploy-5d5ed93f-8210-4b75-9d54-9e111abdd4f8.alphahealthcare.io is ready to use. DEPLOYMENT COMPLETE

Page 59: I, For One, Welcome Our New Robot Overlords

About 50-ish points of articulation.

@mykelalvis

Page 60: I, For One, Welcome Our New Robot Overlords

The deployment graph is very important

@mykelalvis

Page 61: I, For One, Welcome Our New Robot Overlords

Robots are not a substitute for

people

@mykelalvis

Page 62: I, For One, Welcome Our New Robot Overlords

Bootstrapping is essential

@mykelalvis

Page 63: I, For One, Welcome Our New Robot Overlords

Always, ALWAYS have a backup plan

@mykelalvis

Page 64: I, For One, Welcome Our New Robot Overlords

@mykelalvis

Page 65: I, For One, Welcome Our New Robot Overlords

Save yourself!Spread the Message

@mykelalvis