More Related Content Similar to Continuous evolution - iterating to a continuous delivery platform (20) Continuous evolution - iterating to a continuous delivery platform2. Seite 2 | Things we learned while scaling DevOps | Ingmar Krusch, André von Deetzen
4. When we started
running at capacity in
ops and above
Seite 4 | Continuous Evolution | @IngmarKrusch
5. historically grown
infrastructure
and code
Seite 5 | Continuous Evolution | @IngmarKrusch
6. Got root?
No!
Wait, what?!
Seite 6 | Continuous Evolution | @IngmarKrusch
7. we knew we had to
fundamentally change
Seite 7 | Continuous Evolution | @IngmarKrusch
9. ground changing
beneath us
Seite 9 | Continuous Evolution | @IngmarKrusch
10. old and complicated
build- and deployment
infrastructure
Seite 10 | Continuous Evolution | @IngmarKrusch
11. Our dilemma
we were devided
amongst ourselves
Seite 11 | Continuous Evolution | @IngmarKrusch
12. taking
evolutionary steps
Seite 12 | Continuous Evolution | @IngmarKrusch
13. Old world
Iteration zero
Seite 13 | Continuous Evolution | @IngmarKrusch
14. old world
some build &
config release
config 47.0.1
share deploy 48.2.1
tool
devapp01
Seite 14 | Continuous Evolution | @IngmarKrusch
16. old world -> first iterration
some build &
config release
config 47.0.1
share deploy 48.2.1
tool
devapp01
Seite 16 | Continuous Evolution | @IngmarKrusch
17. 1st iteration – RPM tech demo
build &
release
svn ci
config
viewer 47.0.1
48.2.1
config
global converter
SVN
YUM script
yum
post
install
commit
hook
devapp01
Seite 17 | Continuous Evolution | @IngmarKrusch
18. Config RPMs intermezzo
post
config is24-conf-devapp01
commit
SVN
hook
models the generates one
landscape RPM application
for each host
tomcat
Seite 18 | Continuous Evolution | @IngmarKrusch
20. 2nd iteration – RPM POC
build &
release
svn ci
config
viewer 47.0.1
48.2.1
config
global converter
SVN
YUM script
yum
post
install
commit
hook
devapp01
Seite 20 | Continuous Evolution | @IngmarKrusch
21. Taking a RPMized app live
internet
LB
Tomcat / solr
http
Frontend
Backend DB
Seite 21
| Continuous Evolution | @IngmarKrusch
22. RPMize the maschines
the solr app runs on
devapp01
Seite 22 | Continuous Evolution | @IngmarKrusch
23. 2nd iteration – RPM POC
svn ci
TeamCity
config
viewer
config
global
SVN
YUM
post
commit
hook
Cron:
sudo yum upgrade -y
devsol01 tuvsol01 bersol01 hamsol01
Seite 23 | Continuous Evolution | @IngmarKrusch
25. 3rd iteration: Combining two POCs
svn ci
TeamCity
config
viewer
config
global
SVN
YUM
post
commit
hook
Cron:
sudo yum upgrade -y
devsol01 tuvsol01 bersol01 hamsol01
Seite 25 | Continuous Evolution | @IngmarKrusch
26. Map and reduce YADT
build &
some release
UDT
config
artefact 1
config 1 47.0.1
config 48.2.1
share
YADT
tomcat / solr
start & stop service
rsync
services
devapp01
Seite 26 | Continuous Evolution | @IngmarKrusch
27. First complete solution
TeamCity
svn ci
config
viewer
config
global
SVN tomcat / solr
YUM
service
YADT
post
commit
hook
UDT
start
stop
status
devsol01 tuvsol01 bersol01 hamsol01
Seite 27 | Continuous Evolution | @IngmarKrusch
33. Iteration four – Package Promotion
The maven release
process is crap!
TeamCity
global
YUM
Seite 33 | Continuous Evolution | @IngmarKrusch
35. Untold stories (so little time :)
Nexus
as YUM Repository
Seite 35 | Continuous Evolution | @IngmarKrusch
36. But it‘s Open Source
code.google.com/p/
nexus-yum-plugin
Seite 36 | Continuous Evolution | @IngmarKrusch
40. Finally
changing our culture
Seite 40 | Continuous Evolution | @IngmarKrusch