37
My ‘Phoenix Project’One Developer’s Evolutionary Journey Presentation by Burr Sutter @BurrSutter for ATO2016 Based on the ‘Real’ Phoenix Project by Gene Kim (et al.), @RealGeneKim

My 'Phoenix Project'—One Developer's Evolutionary Journey

Embed Size (px)

Citation preview

Page 1: My 'Phoenix Project'—One Developer's Evolutionary Journey

My ‘Phoenix Project’—One Developer’s EvolutionaryJourney

Presentation by Burr Sutter @BurrSutter for ATO2016Based on the ‘Real’ Phoenix Project by Gene Kim (et al.), @RealGeneKim

Page 2: My 'Phoenix Project'—One Developer's Evolutionary Journey

In this industry, we all knowGene Kim

(He’s everywhere!)

Page 3: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 4: My 'Phoenix Project'—One Developer's Evolutionary Journey

But what if he has a doppelgänger …

Page 5: My 'Phoenix Project'—One Developer's Evolutionary Journey

…the UnReal Gene Kim?

But what if he has a doppelgänger …

Real vs. UnReal

Page 6: My 'Phoenix Project'—One Developer's Evolutionary Journey

Let’s see how they compare …

Page 7: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Entrepreneur, King of DevOps

Let’s see how they compare …

Page 8: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Entrepreneur, King of DevOps

Let’s see how they compare …

Page 9: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Founder, DevNexus Developer

ConferenceWorld-Famous Author

(Wrote Some Tweets)

Founder, DevOps Enterprise Summit

Entrepreneur, King of DevOps

Let’s see how they compare …

Page 10: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Founder, DevNexus Developer

ConferenceWorld-Famous Author

(Wrote Some Tweets)

Obviously Awesome Goatee

Founder, DevOps Enterprise Summit

Entrepreneur & King of DevOps

Let’s see how they compare …

Page 11: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Founder, DevNexus Developer

ConferenceWorld-Famous Author

(Wrote some Tweets)

Obviously Awesome Goatee

C’mon, Even MoreAwesome Goatee!

Founder, DevOps Enterprise Summit

Entrepreneur & King of DevOps

Let’s see how they compare …

Page 12: My 'Phoenix Project'—One Developer's Evolutionary Journey

DeveloperAdvocate,

Red-Hatter

Founder, DevNexus Developer

ConferenceWorld-Famous Author

(Wrote Some Tweets)

Obviously Awesome Goatee

C’mon, Even MoreAwesome Goatee!

Founder, DevOps Enterprise Summit

Entrepreneur, King of DevOps

And for something else in common … they both love the hands-on heroes of this story!

Let’s see how they compare …

Page 13: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 14: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 15: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 16: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 17: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 18: My 'Phoenix Project'—One Developer's Evolutionary Journey
Page 19: My 'Phoenix Project'—One Developer's Evolutionary Journey

My Personal Phoenix Project—Quick Thoughts on the Power of DevOps

Page 20: My 'Phoenix Project'—One Developer's Evolutionary Journey

Deployment forced by the business

Brand new, sight-unseen system

Moving from old character UI to web (allowing web-based customer self service)

Given scope, time box, and direction to move straight to production (no running in parallel, no migration … )

Tasked with a midnight cut-over w/ $5M at risk

I said, ‘It won’t be done. It can’t fit. We wouldn’t have time to sleep.’

He said …

Page 21: My 'Phoenix Project'—One Developer's Evolutionary Journey

You can sleep when you’re dead

Page 22: My 'Phoenix Project'—One Developer's Evolutionary Journey

We co-located our desks, kept in constant contact with the client

We invented our own ‘burn-down’ chart; focused on weekly deliverables

Everyone demo’d weekly (often to the CEO, who remained available)

We hit the midnight deadline & pushed to production (gasp …)

We killed their POS, their 3rd party integrations … all hell broke loose

We crippled their business—seriously, we sent them back to recording refunds on slips of paper

It was very, very ugly, there was some finger pointing, and some screaming, but …

Page 23: My 'Phoenix Project'—One Developer's Evolutionary Journey

“We quickly understood that the only way out was forward—together—devs, ops, DBAs, and our

business people—the whole team.”

We co-located our desks, kept in constant contact with the client

We invented our own ‘burn-down’ chart; focused on weekly deliverables

Everyone demo’d weekly (often to the CEO, who remained available)

We hit the midnight deadline & pushed to production (gasp …)

We killed their POS, their 3rd party integrations … all hell broke loose

We crippled their business—seriously, we sent them back to recording refunds on slips of paper

It was very, very ugly, there was some finger pointing, and some screaming, but …

Page 24: My 'Phoenix Project'—One Developer's Evolutionary Journey

We rolled out patches overnight.

We made sure every developer knew exactly how their code was being used.

We worked cheek-to-cheek with our ops team—all night when we needed to.

We declared ‘bug-fix Saturdays’ for high-priority items that were not ready to ship on Friday.

It only took a couple of Saturdays until the devs started writing vastly better, more stable code that was ready to go the next morning when the business came online.

Page 25: My 'Phoenix Project'—One Developer's Evolutionary Journey

“We hero’ed up—we worked in a fundamentally new way—and we succeeded at the impossible.”

We rolled out patches overnight.

We made sure every developer knew exactly how their code was being used.

We worked cheek-to-cheek with our ops team—all night when we needed to.

We declared ‘bug-fix Saturdays’ for high-priority items that were not ready to ship on Friday.

It only took a couple of Saturdays until the devs started writing vastly better, more stable code that was ready to go the next morning when the business came online.

Page 26: My 'Phoenix Project'—One Developer's Evolutionary Journey

For the Darwinian Developer—An Evolutionary Journey

Page 27: My 'Phoenix Project'—One Developer's Evolutionary Journey

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 28: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 29: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 30: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

CI & CDDeployment

Pipeline

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 31: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

CI & CDDeployment

Pipeline

Containers &Microservices

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 32: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

CI & CDDeployment

Pipeline

Containers &Microservices

MythicalBeast

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 33: My 'Phoenix Project'—One Developer's Evolutionary Journey

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

CI & CDDeployment

Pipeline

Containers &Microservices

MythicalBeast

For the Darwinian Developer—An Evolutionary Journey

Self-Service,On-Demand,Elastic, Infrastructure as Code

Page 34: My 'Phoenix Project'—One Developer's Evolutionary Journey

If you have not yet read these, do it.(Then read them

again in 6 months!)

Page 35: My 'Phoenix Project'—One Developer's Evolutionary Journey

When we are no longer able to change a situation,

we are challenged to change ourselves.

― Viktor E. Frankl,Man's Search for Meaning

Page 36: My 'Phoenix Project'—One Developer's Evolutionary Journey

Everything can be taken from a man but one thing: the last of

the human freedoms—

to choose one’s attitude in any given set of circumstances, to

choose one’s own way.

― Viktor E. Frankl,Man's Search for Meaning

Page 37: My 'Phoenix Project'—One Developer's Evolutionary Journey

Thank [email protected] | @BurrSutter