SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
www.immobilienscout24.de



Configuration Management
and Linux Packages

OSDC Nürnberg | 17.04.2013 | Schlomo Schapiro | @schlomoschapiro
Systemarchitekt, Open Source Evangelist




                           License: http://creativecommons.org/licenses/by-nc-nd/3.0/
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




Slide 2 | Config Management & Linux Packages | @schlomoschapiro
Why am I standing here?

  My Puppet and Chef to only half the job blog posting (2012-07)
  Packages Doing Too Much? blog post on SysAdvent (2012-12)
  Talking to lots of people at lots of conferences




   One Tool To Rule Them All




Slide 3 | Config Management & Linux Packages | @schlomoschapiro
Business
                                             Decision
                                              To go
                                               Live




    All             Build
                                                           Scale Out
    Humans          Config
                                                           Data Centers
    are on the      Deploy               Automation
    Same Side       Test
                    Systems-
                    Management            through
                                             packages


Slide 4 | Config Management & Linux Packages | @schlomoschapiro
DevOps
Slide 5 | Config Management & Linux Packages | @schlomoschapiro
Never change a running system

                                            Run the changing system
  Continous Delivery
                                             Deploy When Ready
You Build It – You Run It!
                                          Fail Fast – Fail Early



 Run With The Pack – The Pack Will Protect You




Slide 6 | Config Management & Linux Packages | @schlomoschapiro
Configuration
    Build                                                         DEV


  Application                      YUM                                  QA
    Build
                                  Repos
Infrastructure                                                               PRO
     Build




                  Interface

Slide 7 | Config Management & Linux Packages | @schlomoschapiro
“Any relevant file should be either
              deployed via a package
                                      or
         completely managed by an
  application that is thus deployed.”



Slide 8 | Config Management & Linux Packages | @schlomoschapiro
„Every package must be verifyable –
  stay away from package scripts.“

      “Reducing the config package
       reduces the deployment risk.”




Slide 9 | Config Management & Linux Packages | @schlomoschapiro
Config
                                 SVN

Infrastructure
      as                                    post-commit
                                            → YUM repos
     Code



 Slide 10 | Config Management & Linux Packages | @schlomoschapiro
Configuration over Convention



     TSTWEB05
  Location &                                              Instance
  Environment

                          Function Group



Slide 11 | Config Management & Linux Packages | @schlomoschapiro
Big Picture – Static Structure
config
├── host                                                          Post-commit hook creates
│   └── tstweb02                                                  is24-config-$hostname RPM
│                                                                 ●
                                                                    svn export
├── loc                                svn ci
│   └── tst                                      Config           ●
                                                                    patch VARIABLES
                                                                    fill in metadata
                                                  SVN
                                                                  ●
│        ├── VARIABLES                 svn co
│        │    ├── RPM_REQUIRES
│        │    ├── RPM_PROVIDES
│        │    ├── DB_HOST
│        │    └── DB_USER
│        └── etc                                              YUM          IS24 software
│             └── is24
│                 ├── web.properties                        Repository    Automated RPM
                                                                              creation
│                 └── db.properties
├── typ
│     └── web          db.host=@@@DB_HOST@@@
│                      db.user=@@@DB_USER@@@       is24-config-tstweb01-1.0-$rev.rpm:
├── loctyp             db.port=3306                /etc/is24/system.properties
│   └── tstweb
│        └── etc                                   /etc/is24/db.properties
│             └── is24                             /etc/is24/web.properties
│                 └── web.properties
└── all
    ├── VARIABLES
    │    └── SYSLOG_HOST
    └── etc
         └── is24
                        loghost=log.domain.com      [root@tstweb01 ~]# yum update
              └── system.properties


   Slide 12 | Config Management & Linux Packages | @schlomoschapiro
Static Structure – Pros and Cons
  Variables follow same               config
                                      ├── host                                                         Post-commit hook creates

  structure as config data
                                      │   └── tstweb02                                                 is24-config-$hostname RPM
                                      │                                                                ●
                                                                                                         svn export
                                      ├── loc                                svn ci
                                      │   └── tst                                     Config           ●
                                                                                                         patch VARIABLES
                                                                                                         fill in metadata
                                                                                       SVN
                                                                                                       ●
                                      │        ├── VARIABLES

  Only one tool (SVN) needed
                                                                            svn co
                                      │        │   ├── RPM_REQUIRES
                                      │        │   ├── RPM_PROVIDES
                                      │        │   ├── DB_HOST
                                      │        │   └── DB_USER

  GUI talks only to SVN               │
                                      │
                                      │
                                               └── etc
                                                   └── is24
                                                       ├── web.properties
                                                                                                    YUM
                                                                                                  Repository
                                                                                                                IS24 software
                                                                                                               Automated RPM
                                                                                                                   creation
                                      │                └── db.properties

  Versioning and change               ├── typ
                                      │
                                      │
                                            └── web         db.host=@@@DB_HOST@@@
                                                            db.user=@@@DB_USER@@@       is24-config-tstweb01-1.0-$rev.rpm:
  tracking for variables
                                      ├── loctyp            db.port=3306                /etc/is24/system.properties
                                      │   └── tstweb
                                      │        └── etc                                  /etc/is24/db.properties
                                      │            └── is24                             /etc/is24/web.properties

  Variables and config files
                                      │                └── web.properties
                                      └── all
                                          ├── VARIABLES

  change together (atomic)
                                          │    └── SYSLOG_HOST
                                          └── etc
                                               └── is24
                                                             loghost=log.domain.com      [root@tstweb01 ~]# yum update

  → easy rollback
                                                   └── system.properties




  Is this simple overlaying structure sufficient?

                                                                                      KIS
   Simplify the world so that it is good enough!

                                                                                                        S!
Slide 13 | Config Management & Linux Packages | @schlomoschapiro
Example: Apache HTTPD

httpd RPM

   /etc/httpd/conf/httpd.conf


   /etc/sysconfig/httpd



Design Goals:
   Use and extend upstream httpd RPM
   Configure MPM and service user per application
   IS24 standard configuration everywhere




Slide 14 | Config Management & Linux Packages | @schlomoschapiro
Example: is24-httpd RPM

Requires: httpd
Requires(Pre): httpd
%post
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




Slide 15 | Config Management & Linux Packages | @schlomoschapiro
Example: is24-httpd RPM
%post (continued)
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

...




Slide 16 | Config Management & Linux Packages | @schlomoschapiro
Example: How To Upgrade Java Packages
Requires:
is24-jdk-6
is24-jdk-7
                                 Req
                is24-jdk-7                is24-jdk-6

                                                    /etc/profile.d/java.sh

                       Req                        Req



 java-1.7.0-oracle-devel                    java-1.6.0-sun-devel




Slide 17 | Config Management & Linux Packages | @schlomoschapiro
Separation of Concerns

    Keep                                                      Use
     It                                                      What
   Simple                                                      Is
     &                                                      Already
   Stupid                                                    There

               The Tool Is You!


Slide 18 | Config Management & Linux Packages | @schlomoschapiro
http://yadt-project.org             and    http://github.com/YADT

http://github.com/ImmobilienScout24

http://bit.ly/is24techjobs



  Slide 19 | Config Management & Linux Packages | @schlomoschapiro
Thank you very much!
Please contact me for further
questions and discussions.
Kontakt:
Immobilien Scout GmbH   Fon:   +49 30 243 01-1229
Andreasstraße 10        Email: schlomo.schapiro@immobilienscout24.de
10243 Berlin            URL: www.immobilienscout24.de




Slide 20 | Config Management & Linux Packages | @schlomoschapiro
Photo URLs

Rowboot: http://www.photoreview.com.au/features/profiles/work-hard-get-lucky.aspx
Holding hands: http://www.thechefalliance.com/Top-Chef-Services
Robots: http://www.t-tek.com/announcements/conventional-palletizer-or-robot

Everything else is from OpenClipArt.org or custom made.




Slide 21 | Practical DevOps | @schlomoschapiro

Contenu connexe

Plus de Schlomo Schapiro

The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11Schlomo Schapiro
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...Schlomo Schapiro
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroSchlomo Schapiro
 
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo SchapiroThe GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo SchapiroSchlomo Schapiro
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroSchlomo Schapiro
 
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo SchapiroAutomated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo SchapiroSchlomo Schapiro
 
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo SchapiroCompliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo SchapiroSchlomo Schapiro
 
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo SchapiroDevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo SchapiroSchlomo Schapiro
 
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo SchapiroThe Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo SchapiroSchlomo Schapiro
 
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...Schlomo Schapiro
 
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...Schlomo Schapiro
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...Schlomo Schapiro
 
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...Schlomo Schapiro
 
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo SchapiroRoot for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo SchapiroSchlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital AgeGUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital AgeSchlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...Schlomo Schapiro
 
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration StrategyOSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration StrategySchlomo Schapiro
 
WARNING is a waste of my time
WARNING is a waste of my timeWARNING is a waste of my time
WARNING is a waste of my timeSchlomo Schapiro
 
SE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
SE 2015 DevOps Risk Mitigation - Test Driven InfrastructureSE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
SE 2015 DevOps Risk Mitigation - Test Driven InfrastructureSchlomo Schapiro
 

Plus de Schlomo Schapiro (20)

The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
 
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo SchapiroThe GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
 
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo SchapiroAutomated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
 
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo SchapiroCompliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
 
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo SchapiroDevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
 
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo SchapiroThe Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
 
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
 
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
 
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
 
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo SchapiroRoot for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital AgeGUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
 
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
 
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration StrategyOSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
 
WARNING is a waste of my time
WARNING is a waste of my timeWARNING is a waste of my time
WARNING is a waste of my time
 
SE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
SE 2015 DevOps Risk Mitigation - Test Driven InfrastructureSE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
SE 2015 DevOps Risk Mitigation - Test Driven Infrastructure
 

Dernier

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

OSDC 2013 - Configuration Management and Linux Packages

  • 1. www.immobilienscout24.de Configuration Management and Linux Packages OSDC Nürnberg | 17.04.2013 | Schlomo Schapiro | @schlomoschapiro Systemarchitekt, Open Source Evangelist License: http://creativecommons.org/licenses/by-nc-nd/3.0/
  • 2. 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 Slide 2 | Config Management & Linux Packages | @schlomoschapiro
  • 3. Why am I standing here? My Puppet and Chef to only half the job blog posting (2012-07) Packages Doing Too Much? blog post on SysAdvent (2012-12) Talking to lots of people at lots of conferences One Tool To Rule Them All Slide 3 | Config Management & Linux Packages | @schlomoschapiro
  • 4. Business Decision To go Live All Build Scale Out Humans Config Data Centers are on the Deploy Automation Same Side Test Systems- Management through packages Slide 4 | Config Management & Linux Packages | @schlomoschapiro
  • 5. DevOps Slide 5 | Config Management & Linux Packages | @schlomoschapiro
  • 6. Never change a running system Run the changing system Continous Delivery Deploy When Ready You Build It – You Run It! Fail Fast – Fail Early Run With The Pack – The Pack Will Protect You Slide 6 | Config Management & Linux Packages | @schlomoschapiro
  • 7. Configuration Build DEV Application YUM QA Build Repos Infrastructure PRO Build Interface Slide 7 | Config Management & Linux Packages | @schlomoschapiro
  • 8. “Any relevant file should be either deployed via a package or completely managed by an application that is thus deployed.” Slide 8 | Config Management & Linux Packages | @schlomoschapiro
  • 9. „Every package must be verifyable – stay away from package scripts.“ “Reducing the config package reduces the deployment risk.” Slide 9 | Config Management & Linux Packages | @schlomoschapiro
  • 10. Config SVN Infrastructure as post-commit → YUM repos Code Slide 10 | Config Management & Linux Packages | @schlomoschapiro
  • 11. Configuration over Convention TSTWEB05 Location & Instance Environment Function Group Slide 11 | Config Management & Linux Packages | @schlomoschapiro
  • 12. Big Picture – Static Structure config ├── host Post-commit hook creates │ └── tstweb02 is24-config-$hostname RPM │ ● svn export ├── loc svn ci │ └── tst Config ● patch VARIABLES fill in metadata SVN ● │ ├── VARIABLES svn co │ │ ├── RPM_REQUIRES │ │ ├── RPM_PROVIDES │ │ ├── DB_HOST │ │ └── DB_USER │ └── etc YUM IS24 software │ └── is24 │ ├── web.properties Repository Automated RPM creation │ └── db.properties ├── typ │ └── web db.host=@@@DB_HOST@@@ │ db.user=@@@DB_USER@@@ is24-config-tstweb01-1.0-$rev.rpm: ├── loctyp db.port=3306 /etc/is24/system.properties │ └── tstweb │ └── etc /etc/is24/db.properties │ └── is24 /etc/is24/web.properties │ └── web.properties └── all ├── VARIABLES │ └── SYSLOG_HOST └── etc └── is24 loghost=log.domain.com [root@tstweb01 ~]# yum update └── system.properties Slide 12 | Config Management & Linux Packages | @schlomoschapiro
  • 13. Static Structure – Pros and Cons Variables follow same config ├── host Post-commit hook creates structure as config data │ └── tstweb02 is24-config-$hostname RPM │ ● svn export ├── loc svn ci │ └── tst Config ● patch VARIABLES fill in metadata SVN ● │ ├── VARIABLES Only one tool (SVN) needed svn co │ │ ├── RPM_REQUIRES │ │ ├── RPM_PROVIDES │ │ ├── DB_HOST │ │ └── DB_USER GUI talks only to SVN │ │ │ └── etc └── is24 ├── web.properties YUM Repository IS24 software Automated RPM creation │ └── db.properties Versioning and change ├── typ │ │ └── web db.host=@@@DB_HOST@@@ db.user=@@@DB_USER@@@ is24-config-tstweb01-1.0-$rev.rpm: tracking for variables ├── loctyp db.port=3306 /etc/is24/system.properties │ └── tstweb │ └── etc /etc/is24/db.properties │ └── is24 /etc/is24/web.properties Variables and config files │ └── web.properties └── all ├── VARIABLES change together (atomic) │ └── SYSLOG_HOST └── etc └── is24 loghost=log.domain.com [root@tstweb01 ~]# yum update → easy rollback └── system.properties Is this simple overlaying structure sufficient? KIS  Simplify the world so that it is good enough! S! Slide 13 | Config Management & Linux Packages | @schlomoschapiro
  • 14. Example: Apache HTTPD httpd RPM /etc/httpd/conf/httpd.conf /etc/sysconfig/httpd Design Goals: Use and extend upstream httpd RPM Configure MPM and service user per application IS24 standard configuration everywhere Slide 14 | Config Management & Linux Packages | @schlomoschapiro
  • 15. Example: is24-httpd RPM Requires: httpd Requires(Pre): httpd %post 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 Slide 15 | Config Management & Linux Packages | @schlomoschapiro
  • 16. Example: is24-httpd RPM %post (continued) 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 ... Slide 16 | Config Management & Linux Packages | @schlomoschapiro
  • 17. Example: How To Upgrade Java Packages Requires: is24-jdk-6 is24-jdk-7 Req is24-jdk-7 is24-jdk-6 /etc/profile.d/java.sh Req Req java-1.7.0-oracle-devel java-1.6.0-sun-devel Slide 17 | Config Management & Linux Packages | @schlomoschapiro
  • 18. Separation of Concerns Keep Use It What Simple Is & Already Stupid There The Tool Is You! Slide 18 | Config Management & Linux Packages | @schlomoschapiro
  • 19. http://yadt-project.org and http://github.com/YADT http://github.com/ImmobilienScout24 http://bit.ly/is24techjobs Slide 19 | Config Management & Linux Packages | @schlomoschapiro
  • 20. Thank you very much! Please contact me for further questions and discussions. Kontakt: Immobilien Scout GmbH Fon: +49 30 243 01-1229 Andreasstraße 10 Email: schlomo.schapiro@immobilienscout24.de 10243 Berlin URL: www.immobilienscout24.de Slide 20 | Config Management & Linux Packages | @schlomoschapiro
  • 21. Photo URLs Rowboot: http://www.photoreview.com.au/features/profiles/work-hard-get-lucky.aspx Holding hands: http://www.thechefalliance.com/Top-Chef-Services Robots: http://www.t-tek.com/announcements/conventional-palletizer-or-robot Everything else is from OpenClipArt.org or custom made. Slide 21 | Practical DevOps | @schlomoschapiro