Der Vortrag gibt einen Einblick in die Betriebsautomation bei ImmobilienScout24.
Warum verfolgen wir eine 100%ige Paketierung aller Inhalte (Config, Software usw.) und welche Vorteile verschafft uns das?
Konkrete (Live Demo) Lösungen für typische Pakete: httpd, tomcat, postfix ...
Live Demo des Config SVNs und seiner Arbeitsweise
Mit welchen Tricks schaffen wir das, alles zu paketieren?
Wie hilft uns die Paketierung mit Dev und Ops und vielen Teams effizient zusammen zu arbeiten?
Continuous Live Deployment als Weg, um das Risiko von Änderungen zu minimieren und viele parallel laufende Änderungen unter einen Hut zu bekommen.
Warum modellieren wir die Abhängigkeiten zwischen Systemen, wie vereinfacht das den Job der Admins?
Generell Einblick in unsere agile Arbeitsweise - Wie sieht DevOps wirklich aus? - Geschichten aus dem wahren Leben. - Ups und Downs.
Die zentralen Tools sind als Open-Source Projekte frei verfügbar:
http://yadt-project.org und https://github.com/yadt
https://github.com/ImmobilienScout24/yum-repo-server
https://github.com/ImmobilienScout24/lab-manager-light
https://github.com/ImmobilienScout24/kickstart-debugger
https://github.com/ImmobilienScout24/kiosk-browser
https://github.com/sonatype/nexus-yum-plugin
Vortragsvideo: http://www.youtube.com/watch?v=UqIY55dc_P8
Konferenzarchiv: https://www.heinlein-support.de/slac/2013/vortrag/viele-server-wenig-arbeit-betriebsautomation-bei-immobilienscout24
SE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
Viele Server - Wenig Arbeit: Betriebsautomation bei ImmobilienScout24
1. Viele Server – wenig Arbeit
Berlin | 07.06.2013 | Schlomo Schapiro | @SchlomoSchapiro
Systemarchitekt, Open Source Evangelist
License: http://creativecommons.org/licenses/by-nc-nd/3.0/
Betriebsautomation bei ImmobilienScout24
2. Slide 3 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
www.ImmobilienScout24.de
>2 billion PI per month
2 data center with ~1400 VM
total of ~600 employees
~30 crossfunctional IT teams
~160 in IT
15 years in business
part of Deutsche Telekom
3. Slide 4 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Papa,was
machst Du
eigentlich
auf Arbeit?
4. Slide 5 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
5. Slide 6 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
6. Slide 7 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
7. Slide 8 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
8. Slide 9 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
9. Slide 10 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Lego City
11. Slide 12 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Spielen die
wirklich
nur mit
LEGO rum?
12. Slide 13 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Business
Decision
To go
Live
All
Humans
are on the
Same Side
Build
Config
Deploy
Test
Systems-
Management
Automation
Scale Out
Data Centers
through
packages
14. Slide 15 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
“Any relevant file should be either
deployed via a package
or
completely managed by an
application that is thus deployed.”
15. Slide 16 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
„Every package must be verifyable –
stay away from package scripts.“
“Reducing the config package
reduces the deployment risk.”
16. Slide 17 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Config
SVN
post-commit
→ YUM repos
Infrastructure
as
Code
17. Slide 18 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
TSTWEB05
Location &
Environment
Function Group
Instance
Configuration over Convention
30. Slide 31 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Example: Apache HTTPD
Design Goals:
Use and extend upstream httpd RPM
Configure MPM and service user per application
IS24 standard configuration everywhere
httpd RPM
/etc/httpd/conf/httpd.conf
/etc/sysconfig/httpd
31. Slide 32 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Example: is24-httpd RPM
if ! echo '# IS24 HTTPD conf framework. Read IS24_README!
# This file is managed by %{name}%{version}.%{release}
# Put your stuff in /etc/conf/*/is24*.conf files!
ServerRoot "/etc/httpd"
Include conf/basic/is24*.conf
Include conf/main/is24*.conf
Include conf/other/is24*.conf
' >/etc/httpd/conf/httpd.conf ; then
logger p user.err s t %name "ERROR: …"
fi
Requires: httpd
Requires(Pre): httpd
%post
32. Slide 33 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Example: is24-httpd RPM
if ! echo '# HTTPD options can be configured in
# additional /etc/httpd/conf/env/*.sh files
# This file is managed by %{name}%{version}.%{release}
# Please add extra options to the OPTIONS Bash Array
shopt s nullglob
HTTPD=/usr/sbin/httpd.worker
for f in /etc/httpd/conf/env/*.sh ; do
source $f
done
OPTIONS="${OPTIONS[*]}" # flatten array
' >/etc/sysconfig/httpd ; then
logger p user.err s t %name "ERROR: ..."
fi
...
%post (continued)
33. Slide 34 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Systems Management
yadtshell
34. Slide 35 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
YADT – Unified Dependency Tree
Web Server
HTTPD
Tomcat
App Server
Load Balancer
41. Slide 42 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Systems Management with YADT
Reduce Systemic Complexity
Keep It Simple
42. Slide 43 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Continuous Delivery Platform
Business
Decision
To Go
Live
All Humans
are on the
Same Side
Build
Config
Deploy
Test
Systems-
Management
Automation
Scale Out
Data Centers
44. Slide 45 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Abstraktion
Starke Vereinfachung
Standardbausteine
Lösungen wiederverwenden
Kleine Komponenten zu Großem verbinden
Alles ist machbar
47. Slide 48 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Kontakt:
Immobilien Scout GmbH
Andreasstraße 10
10243 Berlin
Fon: +49 30 243 01-1229
Email: schlomo.schapiro@immobilienscout24.de
URL: www.immobilienscout24.de
Thank you very much!
Please contact me for further
questions and discussions.
48. Slide 49 | Betriebsautomation bei ImmobilienScout24 | Schlomo Schapiro
Photo URLs:
http://skepchick.org/wp-content/uploads/lego-1.jpg
http://smithduck.home.comcast.net/~smithduck/bmw/kwiring/Early%20K75%20K100/K100_Early_Wiring_Diagram.jpeg
http://brickbrowse.com/creator/small-cottage-31009/
http://static.desktopnexus.com/owallpaper/15044-1024x768-4097LinuxSkeleton1024768.jpg (John Schriener)
http://images.brickbrowse.com/technic/motorized-excavator-8043/technic-motorized-excavator-8043-3.jpg
http://images.brickbrowse.com/technic/container-truck-8052/technic-container-truck-8052-3.jpg
http://www.flickr.com/photos/dhardacre/5754596620/
http://images.brickbrowse.com/architecture/brandenburg-gate-21011/architecture-brandenburg-gate-21011-1.jpg
http://www.gtaberlin.de/models/brandenburger_tor_1.jpg
All remaining images are custom-made or from http://openclipart.org