Continuous Delivery in der Praxis
            Sieben Lektionen nach einem Jahr




Juni 2011                                       © 2011 Hypoport AG
Der lange Weg zu      Continuous
                      Delivery
Continuous Delivery




   Start
                             2
Die Reisenden




                3
Die Europace Plattform




                         4
Viel Unbekanntes liegt noch      Continuous
                                 Delivery
vor uns ...




                              We are here

   Start
                                        5
... aber hinter uns liegen schon   Continuous
                                   Delivery
einige Erfahrungen




    Start
                                          6
1   Es ist nur   Continuous
                 Delivery
    Business




We are here




    Start
                        7
Normalerweise
begeistert neue
  Technologie
die Technologen

                  8
Das Business
fragt sich nur
   Warum?


                 9
Continuous Delivery
ist eine Anforderung
     des Business


                       10
Klassische
Versionssprünge




                  11
Time to
Value




          12
Kurze Feedbackloops



                      13
Ursachen von Fehlern
  schneller finden


                       14
Bugfixes schneller
    ausrollen


                    15
2     Ein Produktions System   Continuous
                               Delivery
      ab dem ersten Tag




Business




                 We are here

                                     16
Betrieb kommt oft
  erst am Ende


                    17
Resultat:
 Stress


            18
Deploy am
Tag 1




            19
Aha-Erlebnisse


                        Wartungsseiten
      SSL-Zertifikate


                        Zugriff auf Logs
         Memory Leaks



                                           20
3     Disziplin                  Continuous
                                 Delivery
      ist alles




            We are here


Business




              Produktivssystem
                                       21
Definition of
Done




               22
Automatisches Rollout




                        23
Alles auf
Produktion testen?


                     24
Selenium 2 /
Webdriver


Integration Tests


Unit Tests




               25
Nie die Pipeline
   umgehen!


                   26
Make it Visible!




                   27
Der rote Build
  am Abend


                 28
4     Pipeline bauen             Continuous
                                 Delivery
      ist einfach


              We are here




                Disziplin
Business




      Start   Produktivssystem
                                       29
Continous
Integration
Gestern




              Manuelles Deployment




                                     30
Vorhandene
Systeme
ausreichend




              31
Automatisierung
des Deployments




                  32
Deliverables nur
einmal bauen




                   33
Konfiguration und
Deliverable separat




                      34
35
5     Datenbanken                               Continuous
                                                Delivery
      ändern sich

                                  We are here

                       Pipeline


                Disziplin
Business




      Start   Produktivssystem
                                                      36
Feste Struktur




                 37
Änderungsoptionen



        SQL-Skripte!




                       38
Oder ganz ohne
   Schema


                 39
Dokument statt
   Tabelle


                 40
41
Migration erst
 bei Zugriff


                 42
6     Clients und ihre                         Continuous
                                               Delivery
      Versionen



                       Pipeline
                                  Daten
                Disziplin
Business



                                      We are here
      Start   Produktivssystem
                                                     43
Klassische Web-Applikation




                             44
Rich Internet Application




                            45
Wozu Versionen?



                  46
Der Client merkt
die Änderung nicht


                     47
Polling und sofortiger Reload



        t1

        t2

        t3



                                48
Server ist rückwärtskompatibel



        t1

        t2




                                 49
Mehrere Versionen parallel



        t1

        t2




                             50
Ein Tomcat
mehrere Versionen


                    51
Bookmarkability




                  52
7     Schnittstellen sind                               Continuous
                                                        Delivery
      nicht einfach



                       Pipeline
                                            Daten
                Disziplin
Business                          Clients



                                                    We are here
      Start   Produktivssystem
                                                              53
Komplexe Systeme
können nicht synchron
      releasen


                        54
Optionen
                Schnittstelle nicht
                     ändern



           Client               Service



  Vorwärts-                           Rückwärts-
  kompatibel                          kompatibel

                                                   55
Übergangslösung
Vorabwarnung




                  56
7     Lektionen                                                Continuous
                                                               Delivery
      gelernt



                         Pipeline
                                              Daten
                  Disziplin
Business                            Clients


                                              Schnittstellen

      Start   Produktivssystem
                                                                     57
One more thing



                 58
Nie wieder eine Merge Hell!




                              59
Würden wir es wieder machen?                                Continuous
                                                             Delivery
 JA!

                       Pipeline
                                            Daten
                Disziplin
Business                          Clients
                                                        We are here
                                            Schnittstellen

      Start   Produktivssystem
                                                                   60
http://www.hypoport.de
twitter: @hypoport
http://www.hypoport.de/karriere.html




http://www.joergm.com
twitter: @joergm

                                       61

Continuous Delivery in der Praxis