Download - Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery
![Page 1: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/1.jpg)
![Page 2: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/2.jpg)
Otto Jongerius Build Engineering @ Atlassian
@xzu
![Page 3: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/3.jpg)
Fireballs, Icebats and 1,000,000 Plugins
PuppetCamp Tokyo - May 2014
![Page 4: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/4.jpg)
Continuous Delivery (a refresher)
Develop => Build => Test => Release!
![Page 5: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/5.jpg)
Continuous Delivery (a refresher)
Develop => Build => Test => Release!
smaller change delta
more feedbackfaster feedback
automated upgrade smaller magnitude of failure
![Page 6: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/6.jpg)
Our happy path
0
200
400
600
800
2011 2012 2013 2014 2015
Deployments/year
quarterly fortnightly weekly
daily
many/day
![Page 7: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/7.jpg)
A little bit of history…
![Page 8: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/8.jpg)
A little bit of history…
0
12500
25000
37500
50000
October 2011 June 2012 January 2013 June 2013 April 2014
50.000
32.000
24.000
15.000
500
Approximate number of OnDemand instances
![Page 9: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/9.jpg)
A little bit of history…
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
![Page 10: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/10.jpg)
A little bit of history…
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
Alice
Bob
Charlie
DaveEd
FrankGerry
![Page 11: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/11.jpg)
A little bit of history…bash$ cat jira/pom.xml … <dependency> <groupId>com.atlassian.jira</groupId> <artifactId>jira-api</artifactId> <version>${project.version}</version> </dependency> …
![Page 12: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/12.jpg)
A little bit of history…
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
![Page 13: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/13.jpg)
Enter the fireball
![Page 14: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/14.jpg)
Enter the fireballbash$ cat fireball/pom.xml … <dependency> <GroupId>${jira.group.id}</GroupId> <artifactId>${jira.war.artifact.id}</artifactId> <version>${jira.war.version}</version> … </dependency> …
![Page 15: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/15.jpg)
Launching the fireballOpenVZ Container
Postgres
ApacheConfluence
JIRA
Bamboo
CrowdCus
tom
er In
stan
ce
NFS
![Page 16: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/16.jpg)
Launching the fireball
Datacenter
Rack Rack Rack RackRack
Rack Rack Rack RackRack
Rack Rack Rack RackRack
Rack Rack Rack RackRack
Rack
![Page 17: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/17.jpg)
Launching the fireball
bash$ sudo /path/to/new.version/install.sh
INSTALLED_SERVICES=“postgres jira bamboo confluence crowd apache” for service in ${INSTALLED_SERVICES}; do /path/to/new.version/$service/install.sh done
…
OR
http://www.flickr.com/photos/64577732@N00/1414883135http://www.flickr.com/photos/44124473769@N01/292642699
![Page 18: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/18.jpg)
Launching the fireball
Right?
![Page 19: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/19.jpg)
A little bit of history…
jira/install.sh
postgres/install.sh
confluence/install.sh
bamboo/install.sh
crowd/install.sh
* (over) simplified model
![Page 20: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/20.jpg)
A little bit of history…
jira/install.sh
postgres/install.sh
confluence/install.sh
bamboo/install.sh
crowd/install.sh
* (over) simplified model
![Page 21: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/21.jpg)
A little bit of history…
jira/install.sh
postgres/install.sh
confluence/install.sh
bamboo/install.sh
crowd/install.sh
* (over) simplified modelhttp://www.flickr.com/photos/64577732@N00/1414883135
![Page 22: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/22.jpg)
A little bit of history…
http://www.flickr.com/photos/7337467@N04/3051244623
![Page 23: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/23.jpg)
Our happy path
0
200
400
600
800
2011 2012 2013 2014 2015
Deployments/year Progress
quarterly fortnightly weekly
daily
many/day
You are here
![Page 24: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/24.jpg)
A little bit of history…
Atlassian Application
Application Core
Application Bundled Plugins
plugin1 plugin2
plugin3 plugin4
pluginN
Alice
Bob
Charlie
DaveEd
FrankGerry
![Page 25: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/25.jpg)
Enter the icebat
Fire + Ball
Ice + Bat
![Page 26: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/26.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
![Page 27: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/27.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
![Page 28: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/28.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
![Page 29: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/29.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
![Page 30: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/30.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
postgres
![Page 31: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/31.jpg)
Enter the icebat
j2ee-appjira
postgres
crowd
confluence
bamboo
apache
j2ee-plugin
vendor plugin
postgres5.4
6.1
5.0
2.7.5
1.1
hier
a - v
ersi
ons.
yam
l
![Page 32: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/32.jpg)
Enter the icebat
Development5.4m3
6.2-snapshot
5.1-m1
2.7.5-m6
1.2.1-snapshot
hier
a - v
ersi
ons.
yam
lDogfooding Production
5.4m2.1
6.1m7
5.1
2.7.5-m5
1.2hi
era
- ver
sion
s.ya
ml 5.4m2
6.1m6
5.0-m1
2.7.5-m2
1.1-m1
hier
a - v
ersi
ons.
yam
l
![Page 33: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/33.jpg)
Local overridesglobal configuration
datacenter configurationrack configurationlocal configuration
http://www.flickr.com/photos/streamishmc/4936051/
![Page 34: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/34.jpg)
Hard Labour
Jason ‘Mechanical Turk’ Birch
![Page 35: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/35.jpg)
The Great Leap Forward
![Page 36: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/36.jpg)
The Great Leap Forward
![Page 37: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/37.jpg)
The Great Leap Forward
Applications
![Page 38: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/38.jpg)
The Great Leap Forward
Plugins
![Page 39: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/39.jpg)
The Great Leap Forward
Environments
![Page 40: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/40.jpg)
The Great Leap ForwardVersions
![Page 41: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/41.jpg)
The great leap forward
![Page 42: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/42.jpg)
The great leap forward
“client”
![Page 43: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/43.jpg)
The great leap forward
“client”
facterenvironment
licensed products
![Page 44: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/44.jpg)
The great leap forward
“client”
facterenvironment
licensed products
manifesto
![Page 45: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/45.jpg)
The great leap forward
“client”
facterenvironment
licensed products
puppet apply
manifesto
![Page 46: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/46.jpg)
Our happy path
0
200
400
600
800
2011 2012 2013 2014-01 2014-12 2015
Deployments/year Progress
quarterly fortnightly weekly
many/week
many/day
You are here
twice daily
![Page 47: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/47.jpg)
Next Steps
• Onboard everything into Manifesto, such that development teams control their own destinies • Automated acceptance testing • Fault tolerance for manifesto • Dark feature (feature flags) control within Manifesto/icebat
![Page 48: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/48.jpg)
Special thanks to…
Ryan ThomasJason BirchMatt Moor
![Page 49: Puppet Camp Tokyo 2014: Fireballs, ice bats and 1,000,000 plugins: a story of continuous delivery](https://reader035.vdocuments.us/reader035/viewer/2022070315/554f3d3db4c905cd048b51e3/html5/thumbnails/49.jpg)
Thanks!
Dev OpsDevs who can OpOps who can Dev
We’re hiring! atlassian.com/jobs (or speak to me)