Continous Deployment - Schneller entwickeln

2,843 views

Published on

See video: http://youtu.be/6e4HnoSs2J8 - Jetzt anfragen: http://seibert.biz/anfrage - Joachim Seibert und Martin Seibert (beide //SEIBERT/MEDIA) stellen das Continous Deployment (Continous Delivery) bei TwentyFeet und das Konzept für agile Software-Entwicklung im allgemeinen vor. Mehr Info: http://seibert.biz/continousdeployment

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,843
On SlideShare
0
From Embeds
0
Number of Embeds
84
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Continous Deployment - Schneller entwickeln

  1. 1. ContinuousDeploymentAm Bespiel TwentyFeet
  2. 2. "Write one line of code.Deploy. (...)Once the deployment isdone, write another lineof code. Deploy."Kent Beck
  3. 3. Beispiele• Flickr: ca. 60 Deployments pro Woche• GitHub: bis zu 40 Deployments am Tag• Amazon mit einem Deployment alle 11,6 Sekundensiehe: http://www.gi.de/service/informatiklexikon/detailansicht/article/deployment-continuous.html
  4. 4. Agenda• Was ist Continuous Deployment?• Welche Vorteile bringt mir das?• Welche Rahmenbedingungen gibt es?• Welche Herausforderungen müssen beachtet werden?• Wie haben wir es bei TwentyFeet umgesetzt?
  5. 5. Grundlegendes• Jede geänderte Code-Zeile führt zur Auslieferung einer vollständigen und QS-geprüften neuen Version der Software• Minimierung der manuellen Schritte vom Test bis zur Auslieferung• Deployment bzw. QA-Pipeline: Qualitätsprüfung in mehreren Phasen
  6. 6. Vorteile• Continuous Integration: Frühzeitiges Erkennen und Beheben von Fehlern• Verkürzte Release-Zyklen (Time-to-market)• Schneller Weg, um Ideen am Markt zu Testen (Hypothesen im Rahmen des Lean- Startup)• Keine aufwändigen Deployments
  7. 7. Rahmenbedingungen• Continuous Integration Server (z.B. Jenkins, Bamboo)• VCS - Versionskontrolle• Deployment Scripts• Umfangreiche und automatisierte Testumgebung• Partielles Rollout (Feature-Flags, Feature Toggle)
  8. 8. Testumgebung• Verschiedene Ebene der technischen Tests • Unit-, Integration, Gui-Tests• Deployment erst, wenn alle Tests grün.• manuelles (exploratives) Testen durchaus Teil der Pipeline
  9. 9. Herausforderungen• Robuste und flächendeckende Testsuite notwendig• Vereinbarkeit mit Integrationszyklen (Sprints, Zwischenauslieferungen)• Umgang mit Versionskontrolle muss geklärt werden • Versionen, Branches vs. Head-Depoyment+Tags• Manuelle Schritte führen zu Verzögerungen • Unterschiede zwischen Test- und Live-Version wachsen•
  10. 10. Continuous Deployment & Lean Startup! "The biggest waste in software is created from waiting for software as it moves from one state to another: Waiting to code, waiting to test, waiting to deploy. Reducing or eliminating these waits leads to faster iterations which is the key to success."Eric Ries
  11. 11. TwentyFeet• Auslöser: Lean Startup Methodik• CI-Server Jenkins bereits eingesetzt • Unit-, Integration-, Gui-Tests• Deployment-Scripts bereits teilautomatisiert• Einfaches Bereitstellen von Testumgebungen durch Cloud Hosting
  12. 12. The end.

×