O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Continuous Delivery, 2nd Edition

Book Description

  • In den Unternehmen ein extrem wichtiges Thema -- das zeigt auch unsere Konferenz "Continuous Lifecycle" + Sehr erfolgreiche Erstauflage und steigende Verkaufszahlen+ Übungsaufgaben im Stil von "Seven Databases in Seven Weeks", die Denkanstöße geben und „Lust auf mehr“ machen.

Table of Contents

  1. Cover
  2. Titel
  3. Impressum
  4. Inhaltsverzeichnis
  5. Kapitel 1: Einleitung
    1. 1.1 Überblick über Continuous Delivery und das Buch
    2. 1.2 Warum überhaupt Continuous Delivery?
    3. 1.3 Für wen ist das Buch?
    4. 1.4 Neu in der 2. Auflage
    5. 1.5 Übersicht über die Kapitel
    6. 1.6 Pfade durch das Buch
    7. 1.7 Danksagung
  6. Teil 1: Grundlagen
    1. Kapitel 2: Continuous Delivery: Was und wie?
      1. 2.1 Was ist Continuous Delivery?
      2. 2.2 Warum Software-Releases so kompliziert sind
      3. 2.3 Werte von Continuous Delivery
      4. 2.4 Vorteile von Continuous Delivery
        1. 2.4.1 Continuous Delivery für Time-to-Market
        2. 2.4.2 Continuous Delivery zur Risikominimierung
        3. 2.4.3 Schnelleres Feedback und Lean
      5. 2.5 Aufbau und Struktur einer Continuous-Delivery-Pipeline
      6. 2.6 Links & Literatur
    2. Kapitel 3: Infrastruktur bereitstellen
      1. 3.1 Einleitung
      2. 3.2 Installationsskripte
      3. 3.3 Chef
        1. 3.3.1 Technische Grundlagen
        2. 3.3.2 Chef Solo
        3. 3.3.3 Chef Solo: Fazit
        4. 3.3.4 Knife und Chef Server
        5. 3.3.5 Chef Server: Fazit
      4. 3.4 Vagrant
        1. 3.4.1 Ein Beispiel mit Chef und Vagrant
        2. 3.4.2 Vagrant: Fazit
      5. 3.5 Docker
        1. 3.5.1 Dockers Lösung
        2. 3.5.2 Docker-Container erstellen
        3. 3.5.3 Beispielanwendung mit Docker betreiben
        4. 3.5.4 Docker und Vagrant
        5. 3.5.5 Docker Machine
        6. 3.5.6 Komplexe Konfigurationen mit Docker
        7. 3.5.7 Docker Compose
      6. 3.6 Immutable Server
      7. 3.7 Infrastructure as Code
      8. 3.8 Platform as a Service (PaaS)
      9. 3.9 Umgang mit Daten und Datenbanken
      10. 3.10 Fazit
      11. 3.11 Links & Literatur
  7. Teil 2: Die Continuous-Delivery-Pipeline
    1. Kapitel 4: Build-Automatisierung und Continuous Integration
      1. 4.1 Überblick
      2. 4.2 Build-Automatisierung und Build-Tools
        1. 4.2.1 Ant
        2. 4.2.2 Maven
        3. 4.2.3 Gradle
        4. 4.2.4 Weitere Build-Tools
        5. 4.2.5 Das geeignete Tool auswählen
        6. 4.2.6 Links und Literatur
        7. 4.2.7 Experimente und selber ausprobieren
      3. 4.3 Unit-Tests
        1. 4.3.1 »Gute« Unit-Tests schreiben
        2. 4.3.2 TDD – Test-driven Development
        3. 4.3.3 Clean Code und Software Craftsmanship
        4. 4.3.4 Links und Literatur
        5. 4.3.5 Experimente und selber ausprobieren
      4. 4.4 Continuous Integration
        1. 4.4.1 Jenkins
        2. 4.4.2 Continuous-Integration-Infrastruktur
        3. 4.4.3 Fazit
        4. 4.4.4 Links und Literatur
        5. 4.4.5 Experimente und selber ausprobieren
      5. 4.5 Codequalität messen
        1. 4.5.1 SonarQube
        2. 4.5.2 Links und Literatur
        3. 4.5.3 Experimente und selber ausprobieren
      6. 4.6 Artefakte managen
        1. 4.6.1 Integration in den Build
        2. 4.6.2 Weiterreichende Funktionen von Repositories
        3. 4.6.3 Links und Literatur
        4. 4.6.4 Experimente und selber ausprobieren
      7. 4.7 Fazit
    2. Kapitel 5: Akzeptanztests
      1. 5.1 Einführung
      2. 5.2 Die Test-Pyramide
      3. 5.3 Was sind Akzeptanztests?
      4. 5.4 GUI-basierte Akzeptanztests
      5. 5.5 Alternative Werkzeuge für GUI-Tests
      6. 5.6 Textuelle Akzeptanztests
      7. 5.7 Alternative Frameworks
      8. 5.8 Strategien für Akzeptanztests
      9. 5.9 Fazit
      10. 5.10 Links & Literatur
    3. Kapitel 6: Kapazitätstests
      1. 6.1 Einführung
      2. 6.2 Kapazitätstests – wie?
      3. 6.3 Kapazitätstests implementieren
      4. 6.4 Kapazitätstests mit Gatling
      5. 6.5 Alternativen zu Gatling
      6. 6.6 Fazit
      7. 6.7 Links & Literatur
    4. Kapitel 7: Exploratives Testen
      1. 7.1 Einleitung
      2. 7.2 Warum explorative Tests?
      3. 7.3 Wie vorgehen?
      4. 7.4 Fazit
      5. 7.5 Links & Literatur
    5. Kapitel 8: Deploy – der Rollout in Produktion
      1. 8.1 Einleitung
      2. 8.2 Rollout und Rollback
      3. 8.3 Roll Forward
      4. 8.4 Blue/Green Deployment
      5. 8.5 Canary Releasing
      6. 8.6 Continuous Deployment
      7. 8.7 Virtualisierung
      8. 8.8 Jenseits der Webanwendungen
      9. 8.9 Fazit
      10. 8.10 Links und Literatur
    6. Kapitel 9: Operate – Produktionsbetrieb der Anwendungen
      1. 9.1 Einleitung
      2. 9.2 Herausforderungen im Betrieb
      3. 9.3 Log-Dateien
        1. 9.3.1 Werkzeuge zum Verarbeiten von Log-Dateien
        2. 9.3.2 Logging in der Beispielanwendung
      4. 9.4 Logs der Beispielanwendung analysieren
        1. 9.4.1 Experimente und selber ausprobieren
      5. 9.5 Andere Technologien für Logs
      6. 9.6 Fortgeschrittene Log-Techniken
      7. 9.7 Monitoring
      8. 9.8 Metriken mit Graphite
      9. 9.9 Metriken in der Beispielanwendung
        1. 9.9.1 Experimente und selber ausprobieren
      10. 9.10 Andere Monitoring-Lösungen
      11. 9.11 Weitere Herausforderungen beim Betrieb der Anwendung
      12. 9.12 Fazit
      13. 9.13 Links & Literatur
  8. Teil 3: Management-und Architektursicht auf Continuous Delivery
    1. Kapitel 10: Continuous Delivery im Unternehmen einführen
      1. 10.1 Einleitung
      2. 10.2 Continuous Delivery von Anfang an
      3. 10.3 Value Stream Mapping
      4. 10.4 Weitere Optimierungsmaßnahmen
      5. 10.5 Zusammenfassung
      6. 10.6 Links & Literatur
    2. Kapitel 11: Continuous Delivery und DevOps
      1. 11.1 Einführung
      2. 11.2 Was ist DevOps?
      3. 11.3 Continuous Delivery und DevOps
      4. 11.4 Continuous Delivery ohne DevOps?
      5. 11.5 Fazit
      6. 11.6 Links & Literatur
    3. Kapitel 12: Continuous Delivery, DevOps und Softwarearchitektur
      1. 12.1 Einleitung
      2. 12.2 Softwarearchitektur
      3. 12.3 Komponentenaufteilung für Continuous Delivery optimieren
      4. 12.4 Schnittstellen
      5. 12.5 Datenbanken
      6. 12.6 Microservices
      7. 12.7 Umgang mit neuen Features
      8. 12.8 Fazit
      9. 12.9 Links & Literatur
    4. Kapitel 13: Fazit: Was bringt’s?
      1. 13.1 Links & Literatur
  9. Index
  10. Fußnote
    1. Kapitel 4: Build-Automatisierung und Continuous Integration