EclipseCon 2020 | EclipseCon 2020 - From 248 to 98 then 1 · 2017-12-06 · Atlassian...
Transcript of EclipseCon 2020 | EclipseCon 2020 - From 248 to 98 then 1 · 2017-12-06 · Atlassian...
Jean-Michel [email protected]@jmwind
From 248 to 98 then 1Our pivot to continuous delivery
1
Thursday, 5 April 12
Thursday, 5 April 12
14.91s
Thursday, 5 April 12
Why now?
Thursday, 5 April 12
"Continuous delivery is not a cowboy show. It puts you in charge of your production environment.
The business can pick and choose what and when to deploy.
If you think you’ve nailed agile development, but aren’t considering how to achieve continuous delivery, you really haven’t even started."
- ThoughtWorks Tech Radar.Thursday, 5 April 12
Training Plan v1
Thursday, 5 April 12
248 to 98
Thursday, 5 April 12
• Goal: shorten our release cycles
248 to 98
Thursday, 5 April 12
• Goal: shorten our release cycles• Success: better efficiency, better
releases, roughly 90 days.
248 to 98
Thursday, 5 April 12
• Goal: shorten our release cycles• Success: better efficiency, better
releases, roughly 90 days.• Failure: crap releases, shipped on time
no features, or no shortening of time. api/integration madness.
248 to 98
Thursday, 5 April 12
JIRA 248 days
Bitbucket 30 days
GreenHopper 34 days
Confluence 185 days
Studio 72 days
FE/CRU 192 days
Bamboo 142 days
Crowd 149 days
Baseline
Thursday, 5 April 12
Recap
Thursday, 5 April 12
Training Plan v2
Thursday, 5 April 12
98 to 1
Thursday, 5 April 12
• Goal: allow products to independently release to hosted (eg, production) every day
98 to 1
Thursday, 5 April 12
• Goal: allow products to independently release to hosted (eg, production) every day
• Success: better efficiency, faster learning, happier/more customers.
98 to 1
Thursday, 5 April 12
• Goal: allow products to independently release to hosted (eg, production) every day
• Success: better efficiency, faster learning, happier/more customers.
• Failure: crap releases, api/integration madness, slowing down because of too many balls in the air.
98 to 1
Thursday, 5 April 12
Approach
Thursday, 5 April 12
ApproachLook at the entire system
Thursday, 5 April 12
ApproachLook at the entire systemIf it’s hard, do it more often
Thursday, 5 April 12
ApproachLook at the entire systemIf it’s hard, do it more oftenMeasure and remove the waste everywhere
Thursday, 5 April 12
Approach
OnSite
Look at the entire systemIf it’s hard, do it more oftenMeasure and remove the waste everywhere
Thursday, 5 April 12
Approach
OnDemand
OnSite
Look at the entire systemIf it’s hard, do it more oftenMeasure and remove the waste everywhere
Thursday, 5 April 12
Approach
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Look at the entire systemIf it’s hard, do it more oftenMeasure and remove the waste everywhere
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
ProductArchitecture
Culture/Process
Pipeline
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Pipeline
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Pipeline
• The hosting platform (eg, production).
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Pipeline
• The hosting platform (eg, production).• Tools and processes to move products through to production.
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Pipeline
• The hosting platform (eg, production).• Tools and processes to move products through to production.• Tools to monitor deployed products.
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Pipeline
• The hosting platform (eg, production).• Tools and processes to move products through to production.• Tools to monitor deployed products.• Tools to stage, test, and ensure we don’t fuck thecustomer.
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Culture/Process
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Culture/Process• Development principles
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Culture/Process• Development principles• Team structures
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Culture/Process• Development principles• Team structures• Planning process
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
Culture/Process• Development principles• Team structures• Planning process• Development process
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
ProductArchitecture
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
ProductArchitecture
• Technical coupling between products andaddons.
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
ProductArchitecture
• Technical coupling between products andaddons.• UI Integration patterns/goals
Thursday, 5 April 12
System Breakdown
Analytics / Monitoring
Customer Feedback
OnDemand
OnSite
ProductArchitecture
• Technical coupling between products andaddons.• UI Integration patterns/goals• Shared services, APIs, and libraries
Thursday, 5 April 12
Pipeline of UnicornsThe Pipeline
Thursday, 5 April 12
Thursday, 5 April 12
• Split compute from storage. No disks in compute. RAM. Less power. 1s startup.
• Data centres only provides power and floor space. We own everything else.
• Ditch full virtualization used openVZ.
• Partnered with an integrator.
• Shared mount to avoid rsync. 500-700 customers per rack. Deploy one set of binaries.
• Allows regional rollouts, daily upgrades, fast restarts
• and much more.... dark features, plugins, manager nodes, backups...
Geek details
Thursday, 5 April 12
Monitoring
Thursday, 5 April 12
MonitoringC
olle
ctio
nVisualization
Storage
Filtering Notification
REST API
Thursday, 5 April 12
Process and Culture
Thursday, 5 April 12
Thursday, 5 April 12
Thursday, 5 April 12
Thursday, 5 April 12
Thursday, 5 April 12
Thursday, 5 April 12
• Small shipable chunks. Decoupled from one another (includes marketing)
• Minimize hand-offs
Product teams deploy themselves.
X-team feature teams PM/Dev/Marketing
• Minimize branching, use dark features and plug-ins
• Upfront testing, done means done
• Metrics and goals for theme teams allows more asynchronous, measurable, craddle to grave.
Process Changes
Thursday, 5 April 12
ProductArchitecture
Thursday, 5 April 12
Architecture Principles
Thursday, 5 April 12
Architecture PrinciplesProducts
Thursday, 5 April 12
Architecture PrinciplesProducts
Stay away from a mega-app
Assume products are not hosted on the same physical infrastructure
Use integration levels and make them opt-in and backwards compatible.
Thursday, 5 April 12
Architecture PrinciplesProductsAddons
Stay away from a mega-app
Assume products are not hosted on the same physical infrastructure
Use integration levels and make them opt-in and backwards compatible.
Thursday, 5 April 12
Architecture PrinciplesProductsAddons
Stay away from a mega-app
Assume products are not hosted on the same physical infrastructure
Use integration levels and make them opt-in and backwards compatible.
Independant Deploy
Rich UI Integration
Independant Purchase
Own User Licensing
Remote
Can’t slow products
Thursday, 5 April 12
Cross Training
Thursday, 5 April 12
Cross Training
Payed Beta
Thursday, 5 April 12
Cross Training
Payed Beta
MVP 1.0
Thursday, 5 April 12
Cross Training
Payed Beta
MVP 1.0Discounts
Thursday, 5 April 12
Cross Training
Payed Beta
MVP 1.0Discounts
Fast Releases
Thursday, 5 April 12
Cross Training
Payed Beta
MVP 1.0Discounts
Fast Releases
WrongMarket?
Thursday, 5 April 12
Cross Training
Payed Beta
MVP 1.0Discounts
Fast Releases
KillerFeatures
WrongMarket?
Thursday, 5 April 12
248 to 98 to 1
Thursday, 5 April 12
248 to 98 to 1-7
Thursday, 5 April 12
• How do you compare?
• Someone is running in front of you
• Holistic systems thinking
• Needs a company wide pivot, decision making has to change
• Build your Unicorns (think 10x)
• Architecture is important to scale
• Share your principles and system view so that teams can self optimize and remove waste.
• Cross train
• Try several small experiments
Recap
Thursday, 5 April 12
Thank You!
Thursday, 5 April 12