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




Continuous Evolution
Iterating to a Continuous Delivery Platform

Berlin | 25.04.2012 | Ingmar Krusch, DevOps believer
Seite 2   | Things we learned while scaling DevOps | Ingmar Krusch, André von Deetzen
Continuous Delivery
   at ImmobilienScout24



Seite 3 | Continuous Evolution | @IngmarKrusch
When we started




    running at capacity in
        ops and above



Seite 4 | Continuous Evolution | @IngmarKrusch
historically grown
               infrastructure
                 and code


Seite 5 | Continuous Evolution | @IngmarKrusch
Got root?
                         No!
                     Wait, what?!


Seite 6 | Continuous Evolution | @IngmarKrusch
we knew we had to
       fundamentally change



Seite 7 | Continuous Evolution | @IngmarKrusch
even without everyone
         pushing us



Seite 8 | Continuous Evolution | @IngmarKrusch
ground changing
                 beneath us



Seite 9 | Continuous Evolution | @IngmarKrusch
old and complicated
      build- and deployment
           infrastructure

Seite 10 | Continuous Evolution | @IngmarKrusch
Our dilemma




             we were devided
             amongst ourselves



Seite 11 | Continuous Evolution | @IngmarKrusch
taking
           evolutionary steps



Seite 12 | Continuous Evolution | @IngmarKrusch
Old world
                    Iteration zero



Seite 13 | Continuous Evolution | @IngmarKrusch
old world

   some                                           build &
   config                                         release




    config                                        47.0.1
    share                          deploy         48.2.1
                                    tool



                                 devapp01

Seite 14 | Continuous Evolution | @IngmarKrusch
Iteration one




Seite 15 | Continuous Evolution | @IngmarKrusch
old world -> first iterration

   some                                           build &
   config                                         release




    config                                        47.0.1
    share                          deploy         48.2.1
                                    tool



                                 devapp01

Seite 16 | Continuous Evolution | @IngmarKrusch
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
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
Iteration two




Seite 19 | Continuous Evolution | @IngmarKrusch
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
Taking a RPMized app live


 internet



    LB
                                        Tomcat / solr

                        http
Frontend


 Backend                                     DB


  Seite 21
    | Continuous Evolution | @IngmarKrusch
RPMize the maschines
     the solr app runs on

                                           devapp01

Seite 22 | Continuous Evolution | @IngmarKrusch
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
Iteration three




Seite 24 | Continuous Evolution | @IngmarKrusch
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
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
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
integrating with our
          datacenter partner



Seite 28 | Continuous Evolution | @IngmarKrusch
http://code.google.com/p/yadt




            YADT controls the
             whole datacenter



Seite 29 | Continuous Evolution | @IngmarKrusch
http://code.google.com/p/yadt




       Open Sourcing YADT
             was a great idea!



Seite 30 | Continuous Evolution | @IngmarKrusch
Splitting up legacy
        applications is HARD!



Seite 31 | Continuous Evolution | @IngmarKrusch
Iteration four




Seite 32 | Continuous Evolution | @IngmarKrusch
Iteration four – Package Promotion



          The maven release
            process is crap!
                                                  TeamCity


                       global
                        YUM




Seite 33 | Continuous Evolution | @IngmarKrusch
TeamCity

Package Promotion Pipeline



  DEV                                     TUV                  global
                  promote                           promote
  YUM                                    YUM                    YUM




                                                              bersol01
devsol01                             tuvsol01             hamsol01

Seite 34 | Continuous Evolution | @IngmarKrusch
Untold stories (so little time :)




                                 Nexus
           as YUM Repository



Seite 35 | Continuous Evolution | @IngmarKrusch
But it‘s Open Source




        code.google.com/p/
   nexus-yum-plugin


Seite 36 | Continuous Evolution | @IngmarKrusch
the journey continues…




Seite 37 | Continuous Evolution | @IngmarKrusch
dedicated vs. shared
            infrastructure



Seite 38 | Continuous Evolution | @IngmarKrusch
integrate better with
           the linux distro



Seite 39 | Continuous Evolution | @IngmarKrusch
Finally




       changing our culture




Seite 40 | Continuous Evolution | @IngmarKrusch
www.immobilienscout24.de




Let‘s discuss!!!
Contact:                   Google+: http://bit.ly/ingmar
ImmobilienScout24
Andreasstraße 10           Twitter: @IngmarKrusch
10243 Berlin
                           URL:   www.immobilienscout24.de

Contenu connexe

Similaire à Continuous evolution - iterating to a continuous delivery platform

Develop and Maintain a Distro with Open Build Service
Develop and Maintain a Distro with Open Build ServiceDevelop and Maintain a Distro with Open Build Service
Develop and Maintain a Distro with Open Build ServiceSUSE Labs Taipei
 
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeBuild and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeOmar Al-Safi
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryQAware GmbH
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developersSuraj Deshmukh
 
Dynamically Testing Individual Microservice Releases In Production
  Dynamically Testing Individual Microservice Releases In Production  Dynamically Testing Individual Microservice Releases In Production
Dynamically Testing Individual Microservice Releases In ProductionMatt Turner
 
Using QEMU for cross development
Using QEMU for cross developmentUsing QEMU for cross development
Using QEMU for cross developmentTetsuyuki Kobayashi
 
OSDC 2013 | Configuration Management and Linux Packages by Schlomo Schapiro
OSDC 2013 | Configuration Management and Linux Packages by Schlomo SchapiroOSDC 2013 | Configuration Management and Linux Packages by Schlomo Schapiro
OSDC 2013 | Configuration Management and Linux Packages by Schlomo SchapiroNETWAYS
 
DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端Hung-Yen Chen
 
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...NETWAYS
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronEran Gampel
 
Graviton Migration on AWS - Achieve cost efficiency
Graviton Migration on AWS - Achieve cost efficiency Graviton Migration on AWS - Achieve cost efficiency
Graviton Migration on AWS - Achieve cost efficiency OpsTree solutions
 
Kubeadm Deep Dive (Kubecon Seattle 2018)
Kubeadm Deep Dive (Kubecon Seattle 2018)Kubeadm Deep Dive (Kubecon Seattle 2018)
Kubeadm Deep Dive (Kubecon Seattle 2018)Liz Frost
 
An Implementation of Virtual Cluster on a Cloud
An Implementation of Virtual Cluster on a CloudAn Implementation of Virtual Cluster on a Cloud
An Implementation of Virtual Cluster on a CloudPongsakorn U-chupala
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Igalia
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bambooAlexander Masalov
 
Package Deployment - Building Bridges between Dev and Ops
Package Deployment - Building Bridges between Dev and OpsPackage Deployment - Building Bridges between Dev and Ops
Package Deployment - Building Bridges between Dev and OpsSchlomo Schapiro
 

Similaire à Continuous evolution - iterating to a continuous delivery platform (20)

Develop and Maintain a Distro with Open Build Service
Develop and Maintain a Distro with Open Build ServiceDevelop and Maintain a Distro with Open Build Service
Develop and Maintain a Distro with Open Build Service
 
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and KnativeBuild and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
Build and Deploy Cloud Native Camel Quarkus routes with Tekton and Knative
 
QEMU in Cross building
QEMU in Cross buildingQEMU in Cross building
QEMU in Cross building
 
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud FoundryCloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
Cloud Platforms "demystified": Docker, Kubernetes, Knative & Cloud Foundry
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developers
 
Dynamically Testing Individual Microservice Releases In Production
  Dynamically Testing Individual Microservice Releases In Production  Dynamically Testing Individual Microservice Releases In Production
Dynamically Testing Individual Microservice Releases In Production
 
Using QEMU for cross development
Using QEMU for cross developmentUsing QEMU for cross development
Using QEMU for cross development
 
OSDC 2013 | Configuration Management and Linux Packages by Schlomo Schapiro
OSDC 2013 | Configuration Management and Linux Packages by Schlomo SchapiroOSDC 2013 | Configuration Management and Linux Packages by Schlomo Schapiro
OSDC 2013 | Configuration Management and Linux Packages by Schlomo Schapiro
 
Remote debugging of Application in Kubernetes
Remote debugging of Application in KubernetesRemote debugging of Application in Kubernetes
Remote debugging of Application in Kubernetes
 
DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端DevOpsDays Taipei 2017 從打鐵到雲端
DevOpsDays Taipei 2017 從打鐵到雲端
 
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...
OSDC 2019 | Virtualisation in Docker, using KVM as Hypervisor by Kososochukwu...
 
DragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutronDragonFlow sdn based distributed virtual router for openstack neutron
DragonFlow sdn based distributed virtual router for openstack neutron
 
Graviton Migration on AWS
Graviton Migration on AWSGraviton Migration on AWS
Graviton Migration on AWS
 
Graviton Migration on AWS - Achieve cost efficiency
Graviton Migration on AWS - Achieve cost efficiency Graviton Migration on AWS - Achieve cost efficiency
Graviton Migration on AWS - Achieve cost efficiency
 
Graviton Migration on AWS
Graviton Migration on AWSGraviton Migration on AWS
Graviton Migration on AWS
 
Kubeadm Deep Dive (Kubecon Seattle 2018)
Kubeadm Deep Dive (Kubecon Seattle 2018)Kubeadm Deep Dive (Kubecon Seattle 2018)
Kubeadm Deep Dive (Kubecon Seattle 2018)
 
An Implementation of Virtual Cluster on a Cloud
An Implementation of Virtual Cluster on a CloudAn Implementation of Virtual Cluster on a Cloud
An Implementation of Virtual Cluster on a Cloud
 
Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)Wayland support in WebKit2GTK+ (GUADEC 2014)
Wayland support in WebKit2GTK+ (GUADEC 2014)
 
Continuous integration using atlassian bamboo
Continuous integration using atlassian bambooContinuous integration using atlassian bamboo
Continuous integration using atlassian bamboo
 
Package Deployment - Building Bridges between Dev and Ops
Package Deployment - Building Bridges between Dev and OpsPackage Deployment - Building Bridges between Dev and Ops
Package Deployment - Building Bridges between Dev and Ops
 

Dernier

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
[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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Dernier (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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 future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
[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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Continuous evolution - iterating to a continuous delivery platform

  • 1. www.immobilienscout24.de Continuous Evolution Iterating to a Continuous Delivery Platform Berlin | 25.04.2012 | Ingmar Krusch, DevOps believer
  • 2. Seite 2 | Things we learned while scaling DevOps | Ingmar Krusch, André von Deetzen
  • 3. Continuous Delivery at ImmobilienScout24 Seite 3 | Continuous Evolution | @IngmarKrusch
  • 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
  • 8. even without everyone pushing us Seite 8 | 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
  • 15. Iteration one Seite 15 | 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
  • 19. Iteration two Seite 19 | 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
  • 24. Iteration three Seite 24 | 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
  • 28. integrating with our datacenter partner Seite 28 | Continuous Evolution | @IngmarKrusch
  • 29. http://code.google.com/p/yadt YADT controls the whole datacenter Seite 29 | Continuous Evolution | @IngmarKrusch
  • 30. http://code.google.com/p/yadt Open Sourcing YADT was a great idea! Seite 30 | Continuous Evolution | @IngmarKrusch
  • 31. Splitting up legacy applications is HARD! Seite 31 | Continuous Evolution | @IngmarKrusch
  • 32. Iteration four Seite 32 | Continuous Evolution | @IngmarKrusch
  • 33. Iteration four – Package Promotion The maven release process is crap! TeamCity global YUM Seite 33 | Continuous Evolution | @IngmarKrusch
  • 34. TeamCity Package Promotion Pipeline DEV TUV global promote promote YUM YUM YUM bersol01 devsol01 tuvsol01 hamsol01 Seite 34 | 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
  • 37. the journey continues… Seite 37 | Continuous Evolution | @IngmarKrusch
  • 38. dedicated vs. shared infrastructure Seite 38 | Continuous Evolution | @IngmarKrusch
  • 39. integrate better with the linux distro Seite 39 | Continuous Evolution | @IngmarKrusch
  • 40. Finally changing our culture Seite 40 | Continuous Evolution | @IngmarKrusch
  • 41. www.immobilienscout24.de Let‘s discuss!!! Contact: Google+: http://bit.ly/ingmar ImmobilienScout24 Andreasstraße 10 Twitter: @IngmarKrusch 10243 Berlin URL: www.immobilienscout24.de