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

Preview:

Citation preview

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

In this industry, we all knowGene Kim

(He’s everywhere!)

But what if he has a doppelgänger …

…the UnReal Gene Kim?

But what if he has a doppelgänger …

Real vs. UnReal

Let’s see how they compare …

DeveloperAdvocate,

Red-Hatter

Entrepreneur, King of DevOps

Let’s see how they compare …

DeveloperAdvocate,

Red-Hatter

Entrepreneur, King of DevOps

Let’s see how they compare …

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 …

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 …

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 …

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 …

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

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 …

You can sleep when you’re dead

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 …

“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 …

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.

“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.

For the Darwinian Developer—An Evolutionary Journey

For the Darwinian Developer—An Evolutionary Journey

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

EmbraceDevOps

For the Darwinian Developer—An Evolutionary Journey

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

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

For the Darwinian Developer—An Evolutionary Journey

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

EmbraceDevOps

Automation:Puppet, Chef,

Ansible

CI & CDDeployment

Pipeline

For the Darwinian Developer—An Evolutionary Journey

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

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

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

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

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

again in 6 months!)

When we are no longer able to change a situation,

we are challenged to change ourselves.

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

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

Thank you!burrsutter@gmail.com | @BurrSutter