Successfully reported this slideshow.
Your SlideShare is downloading. ×

DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 59 Ad

DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung

Download to read offline

DevOps ist derzeit in aller Munde und das IT-Buzzword schlecht hin. Doch was verbirgt sich genau hinter diesem Begriff? Es ist definitiv viel mehr als nur die verbesserte Zusammenarbeit zwischen Entwicklung und Betrieb. Agile Planung, kurze Releasezyklen, Automatisierung und das kontinuierliche Feedback sind zentrale Themen, mit denen sich jedes Entwicklungsteam heutzutage auseinandersetzen muss. Der Vortrag zeigt die Anforderungen und Herausforderungen an einen modernen und effizienten DevOps Prozess auf und untermauert diese mit Praxisbeispielen aus unserer langjährigen Beratertätigkeit.

DevOps ist derzeit in aller Munde und das IT-Buzzword schlecht hin. Doch was verbirgt sich genau hinter diesem Begriff? Es ist definitiv viel mehr als nur die verbesserte Zusammenarbeit zwischen Entwicklung und Betrieb. Agile Planung, kurze Releasezyklen, Automatisierung und das kontinuierliche Feedback sind zentrale Themen, mit denen sich jedes Entwicklungsteam heutzutage auseinandersetzen muss. Der Vortrag zeigt die Anforderungen und Herausforderungen an einen modernen und effizienten DevOps Prozess auf und untermauert diese mit Praxisbeispielen aus unserer langjährigen Beratertätigkeit.

Advertisement
Advertisement

More Related Content

Similar to DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung (20)

Advertisement

More from Marc Müller (20)

Recently uploaded (20)

Advertisement

DevDay 2016 Keynote - Die Evolution agiler Software Entwicklung

  1. 1. 1 DevOps – Die Evolution agiler Softwareentwicklung Marc Müller Principal Consultant 4tecture GmbH marc.mueller@4tecture.ch
  2. 2. Marc Müller Principal Consultant @muellermarc
  3. 3. 6 Agenda  Intro  DevOps in der Praxis  Q&A
  4. 4. 7 Intro
  5. 5. „Schon bis 2017 wird jedes vierte Unternehmen seine derzeitige Marktposition aus Gründen „Digitaler Inkompetenz“ verlieren.“ (Gartner)
  6. 6. 9 Was ist DevOps? Bildquelle: https://en.wikipedia.org/wiki/Blind_men_and_an_elephant Team Automation Development und Operations Zusammenarbeit Schnelle und kleinere Releases Feedback aus der Produktion
  7. 7. „if you can't measure it, you can't manage it” (Robert S. Kaplan)
  8. 8. 11 Build, Measure, Learn Idee ProgrammAnalysedaten BUILD MEASURE LEARN
  9. 9. Product Owner Stakeholder Dev Team Product Backlog Sprint Backlog Potentially Shippable Increment Test Team Release Vision Epics Backlog Item Agile Planning Tools Build Automation Release Automation Test Automation Analytics
  10. 10. 13 Wir benötigen Feedback… funktionales Feedback Customer / Stakeholder nicht-funktionales Feedback Product Owner Tester zeitnahe reproduzierbar automatisiert Dev, Testing, Live
  11. 11. 14 DevOps als gesamtheitliche Strategie People •Zusammenarbeit •Gemeinsame Ziele •Fokus auf Verbesserung •Mitarbeiter zusammenbringen Process •Reduzierung von “Waste” •Bessere Effizienz •Kontinuierliches Feedback •Schneller einen Mehrwehrt liefern Tools •Produktivität •Zusammenarbeit •Einfaches Experimentieren •Ausführung der DevOps Strategie
  12. 12. Flow of Customer Value • Automated Testing • Continuous Integration • Continuous Deployment • Release Management
  13. 13. Team Autonomy & Enterprise Alignment • Enterprise Agile • Continuous Integration • Continuous Deployment • Release Management
  14. 14. BACKLOG refined with LEARNING • Usage Monitoring • Telemetry Collection • Testing in Production • Stakeholder Feedback
  15. 15. EVIDENCE gathered in PRODUCTION • Testing in Production • Usage Monitoring • User Telemetry • Stakeholder feedback • Feature flags
  16. 16. MANAGED TECHNICAL DEBT • Code Reviews • Automated Testing • Continuous Measurement
  17. 17. PRODUCTION FIRST MINDSET • Application Performance Management • Infrastructure as Code • Continuous Delivery • Release Management • Configuration Management • Automated Recovery
  18. 18. INFRASTRUCTURE is a FLEXIBLE RESOURCE • Application Performance Management • Infrastructure as Code • Continuous Deployment • Release Management • Configuration Management • Automated Recovery
  19. 19. 22 Praxis
  20. 20. 23 Write Code Customer use the code Write Code Customer use the code
  21. 21. 24 Enterprise Alignment and Team Autonomy Organization Roles Teams Cadence Taxonomy Plan Practices Alignment Autonomy Vision Epics Features PBI / Bugs Tasks
  22. 22. 100 Deployments pro Tag!
  23. 23. 27 Viele Deployments  verursachen Schmerzen, wenn  es manuell durchgeführt wird!  ein komplexer Monolith in einem Schritt ausgerollt werden muss!  zu viele verschiedene Versionsstände unterhalten werden müssen!  Wir bekämpfen den Schmerz in dem wir  Den kompletten Prozess automatisieren  Den Monolith zerlegen  Microservices  Häufige kleine Releases einer Version, Abstufung mittels Feature Flags
  24. 24. 28 «Modern» Emergent Architecture Each Sprint: Working Software
  25. 25. 29 Monolithische Architektur Orders Products DAL Order Data Product Data BL Order Logic Product Search Product Logic UI Admin UI
  26. 26. 30 API Gateway / Proxy Order Service Orders Order Data Order Logic Customer UI Admin UI Product Search Service Products Product Data Product Search Product Service Products Product Data Product Search MessageQueue
  27. 27. 31 Microservice?  Encapsulation  Automation  Business Domain Centric  Decentralization  Indepence  Fail-Safe  Observable  Scalable Ein Teil einer Anwendung, der unabhängig deployed werden kann. «Do ONE thing and do it good»
  28. 28. 32 Hybrid Development & Feature Isolation RI RI main RI FIB FIFIB
  29. 29. “Your branch distance from main is equal to your level of insanity” - anonymous
  30. 30. 34 Feature Branch vs Feature Toggle  Feature Branch  Komplette Isolierung  Eher komplexe Integration / Merge  Feature Toggle  Schalter in der Software  Entwicklung im selben Branch
  31. 31. Git Flow
  32. 32. Ein Pull-Request ein Konzept um Änderungen kontrolliert in ein Git-Repository zu bringen.
  33. 33. Pull-Request Assign Issue Create Feature Branch Develop and Commit Push to Remote Create Pull-Request Notify team & wait for review Develop and Commit Approved? Merge PR & delete branch Finished?
  34. 34. Automatisierung ist der Schlüssel zur Effizienzsteigerung! ...darum sollte diese so einfach wie möglich implementiert werden können.
  35. 35. 40 Package Management  Ziel:  Kleine isolierte Repositories  Nur Source-Code, keine Binärdateien  Umsetzung:  Artefakte als versionierte Pakete verwalten (z.B. Nuget)  Firmen- oder projektspezifische Feeds  Integration in Build Automatisierung
  36. 36. 41 FeedBuildRepoA Package Management (NuGet) Source Code Nuget Specification Assemblies Package Published Package RepoB Nuget Config Build Package Restore Package Config
  37. 37. 42 Release Cycle
  38. 38. 43 Sprintorientierte Testplanung Sprint 1 Sprint 2 Sprint 3 Sprint 4 Repository v 1.0 CopyCopyCopy Copy
  39. 39. 44 Tools für Test Automatisierung UI Service Unit / Component Quelle: Mike Cohn Unit Testing Framework + Isolation Framework Unit Testing + Isolation Framework UI Test Frameworks
  40. 40. 45 Testautomatisierung in der Praxis Testpyramide Automation by Code / Page Object Pattern UI Automation Engineer und Tester Richtig vorbereitet ist halb getestet
  41. 41. 46 Experimente Hyptothesis Experiment Learning We believe {customer segment} wants {product/feature} because {value prop} To prove or disprove the above, the team will conduct the following experiment(s): … The above experiment(s) prove(s) the hypothesis by impacting the following metric(s): …
  42. 42. 47 Learn Measure Build Feedback anhand von Experimenten New FeatureOld Feature
  43. 43. 48 Überwachung mehrere Dimensionen
  44. 44. 49 Beispiele für nicht-funktionale Metriken (Der Admin)  Ziel:  Primäre technische Kennzahlen vom Server  Beispiele:  CPU / Memory Utilization  Response Time  Transferred Data  Data Transfer Rate (e.g MBits/sec)  Connections  …
  45. 45. 50 Beispiel Funktional (Der Entwickler)  Ziel:  Primäre technische Kennzahlen aus der Applikation  Beispiele:  Exceptions Client  Exceptions Server  Stacktraces  Non responsive external Services (Salesforce, SAP, CRM, Internal Services, …)
  46. 46. 51 Beispiel Business (Der Analyst)  Ziel:  Überwachung der (Business-)Prozesse  Beispiele:  Welche Features meiner Anwendung werden „tatsächlich“ genutzt?  Wie intensiv werden Features genutzt?  In welche Features müssen wir investieren?  Wird die Anwendung aus Kundenperspektive langsamer?
  47. 47. 52 Auswertung – Metric Explorer ( 1 / 2 )
  48. 48. 53 Proactive Detection
  49. 49. 54
  50. 50. 55 Application Insights Analytics - Beispiele
  51. 51. 56 Application Insights  Power BI  Business-Sicht  Integration in SharePoint und Webseiten
  52. 52. 57 Q & A
  53. 53. Marc Müller Principal Consultant für DevOps, ALM, TFS /VS, .NET E-Mail: marc.mueller@4tecture.ch Webseite: http://www.4tecture.ch Schulungen: http://4tecture.ch/trainings Blog: http://4tecture.ch/blog Twitter: @muellermarc

×