EclipseCon 2020 | EclipseCon 2020 - From 248 to 98 then 1 · 2017-12-06 · Atlassian...

Post on 25-Jul-2020

1 views 0 download

Transcript of EclipseCon 2020 | EclipseCon 2020 - From 248 to 98 then 1 · 2017-12-06 · Atlassian...

Jean-Michel LemieuxAtlassianjml@atlassian.com@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