my 'phoenix project'—one developer's evolutionary journey
TRANSCRIPT
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 [email protected] | @BurrSutter