SlideShare una empresa de Scribd logo
1 de 30
Feedback aus der Produktion
Ein Blick in den DevOps-Baukasten


Peter Roßbach, bee42 solutions GmbH

Andreas Schmidt, Cassini Consulting




1   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Vorstellung




               Foto Peter




    Peter Roßbach                                                             Andreas Schmidt
    bee42 solutions gmbh                                                      Cassini Consulting

    http://www.bee42.com                                                      andreas.schmidt@cassini.de
    peter.rossbach@bee42.com                                                  Twitter @aschmidt75


2     24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Wie bekommen wir
                  die richtigen Informationen
                 aus den relevanten Systemen
                     in den richtigen Kopf?




3   24.01.2013    OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Phasen



    Startup-
     phase                                                Skalierungs-
                                                            phase




                                                                                   Optimierungs-
               Go-Live
                                                                                       phase




4      24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt




4      24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Im Betrieb müssen laufend Entscheidungen getroffen werden!


 Soll/Muss eine Komponente neu gestartet werden?
 Benötigt Sie mehr Ressourcen (CPU, Speicher, …)?
 Ist eine Komponente am Verarbeitungslimit
  oder kann sie mehr leisten?
 Ist Multithreading korrekt implementiert?

 Liegt ein Sicherheitsvorfall vor? Sollen/Müssen ggf. Teile
    des Systems abgeschaltet werden?

 Welche Variante einer Webseite (A/B) bringt mehr Klicks?

 War das Refactoring eines Anwendungsteils erfolgreich
    (z.B. in Bezug auf Performance)?


5    24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Metriken




                                                                                Deployment




6   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Entwicklung an Betrieb an Entwicklung an …


                                                                                      Entwicklung neuer
                                                                                       Funktionalitäten
                                                                                      Entwicklung der
          Validierung der                                                             passenden Metrik(en)
           Optimierung
                                             4                                   1




                                             3                                   2
                                                                                      Sammeln der Metriken
                                                                                      Auswertung der Daten
     Optimierung                                                                     Erstellen der Basis für
     Problemlösung                                                                    Entscheidungsfindung
     ggf. Entwicklung
      zusätzlicher Metriken
7    24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Metriken




8   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Herausforderungen



Messen des Verhalten eines Systems

Nutzung der Ressourcen unter realen
Bedingungen analysieren

Messungen von Effekten
nach Veränderung der Software

Feststellen von Störungen, die Ausfälle oder
Fehlverhalten bedingen

Einschätzung von Kapazitäten und Trends

Beweis des geschäftlichen Fortschritts

Kontrolle von Zusagen (SLAs)


9   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Was muss hergestellt werden?



Welche richtigen Informationen müssen
bereitgestellt werden?


Welche Transformationen und Kombinationen
von Werten liefern Aussagen?


Welche Darstellungen werden benötigt?


Welche Entscheidungen wollen wir aus
den Daten ableiten?


Welche Monitoringlösung muss realisiert werden?


10   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
OODA Loop




                                 Act                                                  Orient
      System                                 4                                    1
     verändern                                                                            Metrik erheben


 Metrik anzeigen                                                                          Metrik sammeln
 und analysieren                             3                                    2
                                                                                           und ordnen

                               Decide                                   Observe


11    24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Log
                                   System


                  Fact               Event              Metrik                   Filter



                                     Collector




                  Analyse                        Visualisierung                           Deployment |
                                                                                          Change

                                            Eskalation


                                    Automatismus



12   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Konstruktion einer Metrik



     Masseinheit

     Eindeutiger Name und Quelle




     Abtastfrequenz


     Umrechungsfunktion


     Schwellwerte, gültige Wertebereiche



13    24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Guardian System




http://www.guardian.co.uk/info/developer-blog/2012/oct/04/winning-the-metrics-battle
 14    24.01.2013    OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Datadog




15   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt   http://www.datadoghq.com/product/
Monitoring-Systeme bestehen aus vielen Komponenten
Beispiel: Kibana




                                                                     http://kibana.org/infrastructure.html
16   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Aufbau eines Log System
                                                   Systems with log




                                          File         Syslog          GELF




              Logstash (GROK)                          Shipper




              Redis || RabbitMQ                   Broker / Queue




                                                                                                   Kibana
                  Logstash (Filter)                    Indexer                          Analyse
                                                                                                  Graylog2




                  ElasticSearch                   Storage&Search                                   statsd
                                                                                        Metrik
                                                                                                  graphite



17   24.01.2013          OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Lösungsansätze und Werkzeuge



 Wertebereitstellung                                               JMX, Metrics, JavaSimon, Jolokia

 Collector                                                         Collectd, statsd, Graphite
                                                                   NewRelic, Datadog

 Storage                                                           RRDtools, RRD4j, MongoDB,
                                                                   OpenTSDB, Hadoop

 Charts                                                            Munin, Cacti, Ppn4Nagios,
                                                                   Graphite, Ganglia, NewRelic, Datadog
 Profiler                                                          Dynatrace, AppDynamics, NewRelic,
                                                                   Boundary
 Events                                                            Nagios, Icinga, Zabbix, OMD, OpenNMS,
                                                                   Jboss-RHQ, HypericHQ
 Logs                                                              Splunk, Graylog2, Kibana/logstash,
                                                                   loggly
18   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Resümee



Entwickler sollten konsequent Metriken
bereitstellen.


Entwickler, Produktmanager und Administration
sollten ein gemeinsames System nutzen.


Metriken können jederzeit neu in das System
eingebracht werden.

Monitoringsysteme bestehen aus viele einzelnen
Teilen, die ein komplexe Zusammenspiel besitzen.


Selbstadpation und Automatisierung sind notwendig.


19   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Die richtigen Informationen die in ein System zur
              Visualisierung und Analyse eingebracht
            werden, bringt Ihnen die Kontrolle über das
                              Produkt.


              Schnelle Reaktion auf Veränderungen von
             Metriken schafft Feedback für Entwickler und
                           Administratoren.




20   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Das automatische und schnelle Ausrollen von
                       Softwareupdates ist für eine agile
                       Produktentwicklung entscheidend.




                                                       Deployment




                                                          Feedback



21   24.01.2013     OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Die „Straße in die Produktion“ kann lang sein.




                                                                Test-
                         Integrations-                      umgebung             Produktions-nahe
 Entwicklungs-             umgebung                                              Referenzumgebung
    umgebung

                                                                                            Live-System




22   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
An den Übergabepunkten findet der wichtige Austausch statt.


                                                                 Test-              Betriebs-
        Entwicklungsabteilung
                                                               abteilung            abteilung




                                                                Test-
                         Integrations-                      umgebung             Produktions-nahe
 Entwicklungs-             umgebung                                              Referenzumgebung
    umgebung

                                                                                            Live-System




23   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Herausforderungen und Lösungsansätze



„Ich muss meine Applikation konfigurieren.“                                      Konfigurationsmanagement

„Die Installationsroutinen sind nicht                                            Deployment Management
immer bzw. überall gleich“

„Ich muss Teile meines System in                                                 Server Orchestration
bestimmter Reihenfolge installieren.“

„Meine Server werden von Hand aufgesetzt.“                                       Automated Provisioning

„Ich merke Fehler in der Infrastruktur
                                                                                 Test Driven- / Behaviour
erst, wenn die Applikation in Benutzung
                                                                                 Driven Infrastructure
ist.“
„Jeder Übergabepunkt ist irgendwie anders.“                                      Architektur von
                                                                                 Deployment Pipelines



24   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Lösungsansätze und Werkzeuge



 Konfigurationsmanagement                                                        CFEngine, Puppet, Chef

 Deployment Management                                                           UC4, uDeploy, glu,
                                                                                 Etsy Deployinator, …

 Server Orchestration                                                            UC4, Nolio, Marionette
                                                                                 Collective, RunDeck, …

 Automated Provisioning                                                          Kickstart, Vagrant, Cloud
                                                                                 environments…
 Test Driven/Behaviour                                                           RSpec, Cucumber
 Driven Infrastructure                                                           (-nagios,-puppet,-chef,…)

 Architektur von                                                                 Papier + Bleistift + die richtigen
 Deployment Pipelines                                                            Personen  DevOps


25   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Eine Installations-Engine stellt einen nachvollziehbaren, eindeutigen
und qualitativ hochwertigen Weg in die Produktion dar.

        Deployment-
           Team

                                                                                 Installations-
                                                                                    engine




 Entwicklungs-
    umgebung                                      Stage(s)

                                                                                                  Live-System




26   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Eine durchdachte und funktionierende Deployment-
          Architektur ist eine sehr gute Basis für agile
                     Produktentwicklung.



                                 Kurzen Iterationszyklen
                                   von der Entwicklung
                                    bis in Produktion




27   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Wie bekommen wir
                   die richtigen Informationen
                  aus den relevanten Systemen
                      in den richtigen Kopf?




28   24.01.2013    OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Fazit


                                            Automatisierung ist wichtig.


                   Früh beginnen, Metriken und
                   Automatismen zu etablieren.

                   Gemeinsam überlegen, welche Kennzahlen
                       und Informationen relevant sind.


        Das Feedback-System muss die Fakten für die
            zu treffenden Entscheidungen liefern.


29   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
Feedback aus der Produktion
Ein Blick in den DevOps-Baukasten


Peter Roßbach, bee42 solutions GmbH
peter.rossbach@bee42.com


Andreas Schmidt, Cassini Consulting
andreas.schmidt@cassini.de
https://www.xing.com/profile/Andreas_Schmidt38
Twitter @aschmidt75


30   24.01.2013   OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt

Más contenido relacionado

OOP2013: Feedback aus der Produktion - Ein Blick in den DevOps-Baukasten

  • 1. Feedback aus der Produktion Ein Blick in den DevOps-Baukasten Peter Roßbach, bee42 solutions GmbH Andreas Schmidt, Cassini Consulting 1 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 2. Vorstellung Foto Peter Peter Roßbach Andreas Schmidt bee42 solutions gmbh Cassini Consulting http://www.bee42.com andreas.schmidt@cassini.de peter.rossbach@bee42.com Twitter @aschmidt75 2 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 3. Wie bekommen wir die richtigen Informationen aus den relevanten Systemen in den richtigen Kopf? 3 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 4. Phasen Startup- phase Skalierungs- phase Optimierungs- Go-Live phase 4 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt 4 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 5. Im Betrieb müssen laufend Entscheidungen getroffen werden!  Soll/Muss eine Komponente neu gestartet werden?  Benötigt Sie mehr Ressourcen (CPU, Speicher, …)?  Ist eine Komponente am Verarbeitungslimit oder kann sie mehr leisten?  Ist Multithreading korrekt implementiert?  Liegt ein Sicherheitsvorfall vor? Sollen/Müssen ggf. Teile des Systems abgeschaltet werden?  Welche Variante einer Webseite (A/B) bringt mehr Klicks?  War das Refactoring eines Anwendungsteils erfolgreich (z.B. in Bezug auf Performance)? 5 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 6. Metriken Deployment 6 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 7. Entwicklung an Betrieb an Entwicklung an …  Entwicklung neuer Funktionalitäten  Entwicklung der  Validierung der passenden Metrik(en) Optimierung 4 1 3 2  Sammeln der Metriken  Auswertung der Daten  Optimierung  Erstellen der Basis für  Problemlösung Entscheidungsfindung  ggf. Entwicklung zusätzlicher Metriken 7 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 8. Metriken 8 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 9. Herausforderungen Messen des Verhalten eines Systems Nutzung der Ressourcen unter realen Bedingungen analysieren Messungen von Effekten nach Veränderung der Software Feststellen von Störungen, die Ausfälle oder Fehlverhalten bedingen Einschätzung von Kapazitäten und Trends Beweis des geschäftlichen Fortschritts Kontrolle von Zusagen (SLAs) 9 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 10. Was muss hergestellt werden? Welche richtigen Informationen müssen bereitgestellt werden? Welche Transformationen und Kombinationen von Werten liefern Aussagen? Welche Darstellungen werden benötigt? Welche Entscheidungen wollen wir aus den Daten ableiten? Welche Monitoringlösung muss realisiert werden? 10 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 11. OODA Loop Act Orient System 4 1 verändern Metrik erheben Metrik anzeigen Metrik sammeln und analysieren 3 2 und ordnen Decide Observe 11 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 12. Log System Fact Event Metrik Filter Collector Analyse Visualisierung Deployment | Change Eskalation Automatismus 12 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 13. Konstruktion einer Metrik Masseinheit Eindeutiger Name und Quelle Abtastfrequenz Umrechungsfunktion Schwellwerte, gültige Wertebereiche 13 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 14. Guardian System http://www.guardian.co.uk/info/developer-blog/2012/oct/04/winning-the-metrics-battle 14 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 15. Datadog 15 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt http://www.datadoghq.com/product/
  • 16. Monitoring-Systeme bestehen aus vielen Komponenten Beispiel: Kibana http://kibana.org/infrastructure.html 16 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 17. Aufbau eines Log System Systems with log File Syslog GELF Logstash (GROK) Shipper Redis || RabbitMQ Broker / Queue Kibana Logstash (Filter) Indexer Analyse Graylog2 ElasticSearch Storage&Search statsd Metrik graphite 17 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 18. Lösungsansätze und Werkzeuge Wertebereitstellung JMX, Metrics, JavaSimon, Jolokia Collector Collectd, statsd, Graphite NewRelic, Datadog Storage RRDtools, RRD4j, MongoDB, OpenTSDB, Hadoop Charts Munin, Cacti, Ppn4Nagios, Graphite, Ganglia, NewRelic, Datadog Profiler Dynatrace, AppDynamics, NewRelic, Boundary Events Nagios, Icinga, Zabbix, OMD, OpenNMS, Jboss-RHQ, HypericHQ Logs Splunk, Graylog2, Kibana/logstash, loggly 18 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 19. Resümee Entwickler sollten konsequent Metriken bereitstellen. Entwickler, Produktmanager und Administration sollten ein gemeinsames System nutzen. Metriken können jederzeit neu in das System eingebracht werden. Monitoringsysteme bestehen aus viele einzelnen Teilen, die ein komplexe Zusammenspiel besitzen. Selbstadpation und Automatisierung sind notwendig. 19 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 20. Die richtigen Informationen die in ein System zur Visualisierung und Analyse eingebracht werden, bringt Ihnen die Kontrolle über das Produkt. Schnelle Reaktion auf Veränderungen von Metriken schafft Feedback für Entwickler und Administratoren. 20 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 21. Das automatische und schnelle Ausrollen von Softwareupdates ist für eine agile Produktentwicklung entscheidend. Deployment Feedback 21 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 22. Die „Straße in die Produktion“ kann lang sein. Test- Integrations- umgebung Produktions-nahe Entwicklungs- umgebung Referenzumgebung umgebung Live-System 22 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 23. An den Übergabepunkten findet der wichtige Austausch statt. Test- Betriebs- Entwicklungsabteilung abteilung abteilung Test- Integrations- umgebung Produktions-nahe Entwicklungs- umgebung Referenzumgebung umgebung Live-System 23 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 24. Herausforderungen und Lösungsansätze „Ich muss meine Applikation konfigurieren.“ Konfigurationsmanagement „Die Installationsroutinen sind nicht Deployment Management immer bzw. überall gleich“ „Ich muss Teile meines System in Server Orchestration bestimmter Reihenfolge installieren.“ „Meine Server werden von Hand aufgesetzt.“ Automated Provisioning „Ich merke Fehler in der Infrastruktur Test Driven- / Behaviour erst, wenn die Applikation in Benutzung Driven Infrastructure ist.“ „Jeder Übergabepunkt ist irgendwie anders.“ Architektur von Deployment Pipelines 24 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 25. Lösungsansätze und Werkzeuge Konfigurationsmanagement CFEngine, Puppet, Chef Deployment Management UC4, uDeploy, glu, Etsy Deployinator, … Server Orchestration UC4, Nolio, Marionette Collective, RunDeck, … Automated Provisioning Kickstart, Vagrant, Cloud environments… Test Driven/Behaviour RSpec, Cucumber Driven Infrastructure (-nagios,-puppet,-chef,…) Architektur von Papier + Bleistift + die richtigen Deployment Pipelines Personen  DevOps 25 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 26. Eine Installations-Engine stellt einen nachvollziehbaren, eindeutigen und qualitativ hochwertigen Weg in die Produktion dar. Deployment- Team Installations- engine Entwicklungs- umgebung Stage(s) Live-System 26 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 27. Eine durchdachte und funktionierende Deployment- Architektur ist eine sehr gute Basis für agile Produktentwicklung. Kurzen Iterationszyklen von der Entwicklung bis in Produktion 27 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 28. Wie bekommen wir die richtigen Informationen aus den relevanten Systemen in den richtigen Kopf? 28 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 29. Fazit Automatisierung ist wichtig. Früh beginnen, Metriken und Automatismen zu etablieren. Gemeinsam überlegen, welche Kennzahlen und Informationen relevant sind. Das Feedback-System muss die Fakten für die zu treffenden Entscheidungen liefern. 29 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt
  • 30. Feedback aus der Produktion Ein Blick in den DevOps-Baukasten Peter Roßbach, bee42 solutions GmbH peter.rossbach@bee42.com Andreas Schmidt, Cassini Consulting andreas.schmidt@cassini.de https://www.xing.com/profile/Andreas_Schmidt38 Twitter @aschmidt75 30 24.01.2013 OOP2013 | Feedback aus der Produktion | P.Roßbach, A.Schmidt