Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Design Patterns for Efficient
DevOps Processes
Tweet
Blogger
Co-Host
Github
I have a job!
Author
@ rebeccafitzhugh
@ technicloud.com
@ vbrownbag.com
@ rfitzhugh
@ Rubrik...
Pattern vs Anti-Pattern
Pattern
“best practice”
Anti-Pattern
”please don’t do this”
Value Stream Mapping
What is Value Stream Mapping?
Planning tool to optimize results of eliminating waste
More Efficient VSMs
• Always collect current-state information while walking the actual
pathways of material and informati...
Release Engineering
Accelerate the path from dev
to ops
Release Process Steps
More realistic…
OK...fine…the real process
Cynefin Framework
Every release engineering
strategy must:
• Be complexity-informed
• Account for the entirety of
the syst...
Complexity is the enemy of reliability.
Whatever you do,
Whatever you buy,
Simplify your architecture.
Design Pattern for Release Engineering
• If your team is not involved in some sort of continuous
improvement, be worried.
• If your team is not working on a cont...
Canary
• Practice of using domestic canaries to detect carbon monoxide
in coal mines.
• Or---rolling out a release to a sm...
More Efficient Release Engineering
• Don’t make release engineering an afterthought
• Ensure release engineers understand ...
Test Automation
How does it all work together?
• Understand architecture – system and components
• Test each part thoroughly
• Unit
• Test...
What else?
• Test the non-functional
• NFRs
• Test 3rd party interactions
• Integrations
• Test early
• Build-in quality
Flight Search
Search
Results
Flight Details
Passenger
Info
Payment Confirmation
Application Server
Database
Test Pyramid
UI
Web
Service
View
Integration
Component
Unit
Business
facing tests
Technolog
y facing
tests
Manual/
Explora...
UI
Web
Service
View
Integration
Component
Unit
Security
Accessibility
Performance
Recoverability
Availability
Manual/
Expl...
Sample Test Framework
Browser/
Device
Support
Parallel
execution
Scalable
Reports
&
Metrics
Maintainable
Run
locally &
remotely
Easy to
use
OS &...
More Efficient Test Automation
• Centralize coordination of test scheduling, execution, and
reporting
• Have test case pla...
Change Management
DevOps Difference
Change and release management become federated and
integrated processes.
Check out code
and build
Unit testing Quality control
Deploy to test
environment
Fetch latest
builds
Integration
testing
P...
More Efficient Change Management
Make Change
Management a
priority
Establish
different modes
of change to
balance speed,
q...
Thank you.
Rebecca Fitzhugh | @rebeccafitzhugh
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017
Prochain SlideShare
Chargement dans…5
×

Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017

207 vues

Publié le

DevOpsDays Tel Aviv 2017

Publié dans : Technologie
  • Soyez le premier à commenter

Design patterns for efficient DevOps processes - Rebecca Fitzhugh - DevOpsDays Tel Aviv 2017

  1. 1. Design Patterns for Efficient DevOps Processes
  2. 2. Tweet Blogger Co-Host Github I have a job! Author @ rebeccafitzhugh @ technicloud.com @ vbrownbag.com @ rfitzhugh @ Rubrik.com vSphere Virtual Machine Management Learning VMware vSphere Rebecca Fitzhugh
  3. 3. Pattern vs Anti-Pattern Pattern “best practice” Anti-Pattern ”please don’t do this”
  4. 4. Value Stream Mapping
  5. 5. What is Value Stream Mapping? Planning tool to optimize results of eliminating waste
  6. 6. More Efficient VSMs • Always collect current-state information while walking the actual pathways of material and information flows yourself • Begin with a quick walk along the entire door-to-door value stream • Begin at the shipping end and work upstream • Do not rely on standard times or information that you do not personally obtain
  7. 7. Release Engineering
  8. 8. Accelerate the path from dev to ops
  9. 9. Release Process Steps
  10. 10. More realistic…
  11. 11. OK...fine…the real process
  12. 12. Cynefin Framework Every release engineering strategy must: • Be complexity-informed • Account for the entirety of the system (systems thinking) • Address human factors
  13. 13. Complexity is the enemy of reliability. Whatever you do, Whatever you buy, Simplify your architecture.
  14. 14. Design Pattern for Release Engineering
  15. 15. • If your team is not involved in some sort of continuous improvement, be worried. • If your team is not working on a continuous delivery pipeline, be worried.
  16. 16. Canary • Practice of using domestic canaries to detect carbon monoxide in coal mines. • Or---rolling out a release to a small number of users • Problems may only show up in a prod environment • Canarying can allow early detection
  17. 17. More Efficient Release Engineering • Don’t make release engineering an afterthought • Ensure release engineers understand the intention of how the code should be built and deployed. Don’t build and “throw” the results over. • Dev, SREs, and release engineering should work together • Automate error-prone steps. • Use source control (duh). • Be patient, this discipline is still evolving.
  18. 18. Test Automation
  19. 19. How does it all work together? • Understand architecture – system and components • Test each part thoroughly • Unit • Test ways of working together • Component integration • Test how it all comes together • Functional This is how parts become a camera.
  20. 20. What else? • Test the non-functional • NFRs • Test 3rd party interactions • Integrations • Test early • Build-in quality
  21. 21. Flight Search Search Results Flight Details Passenger Info Payment Confirmation Application Server Database
  22. 22. Test Pyramid UI Web Service View Integration Component Unit Business facing tests Technolog y facing tests Manual/ Explorator y
  23. 23. UI Web Service View Integration Component Unit Security Accessibility Performance Recoverability Availability Manual/ Explorator y
  24. 24. Sample Test Framework
  25. 25. Browser/ Device Support Parallel execution Scalable Reports & Metrics Maintainable Run locally & remotely Easy to use OS & DB support Language / tool restrictions Different Environment s Support features of product under test Tool support Test Automation Framework Design Criteria
  26. 26. More Efficient Test Automation • Centralize coordination of test scheduling, execution, and reporting • Have test case platform that allow testing to be customized at runtime (“develop once, use everywhere”) • Uniform reporting (results can be quickly and accurately analyzed)
  27. 27. Change Management
  28. 28. DevOps Difference Change and release management become federated and integrated processes.
  29. 29. Check out code and build Unit testing Quality control Deploy to test environment Fetch latest builds Integration testing Package and archiving Fetch release ready builds Deploy to pre- prod Acceptance testing Deploy to production Change Advisory Board (CAB) Pipeline with CAB Feedback Loop
  30. 30. More Efficient Change Management Make Change Management a priority Establish different modes of change to balance speed, quality, and risk Integrate change into DevOps pipeline Automate capture of change records with artifacts Improve collaboration and build auditable history Streamline process ITIL, DevOps, business, etc. Speed change processing and increase adoption Single source of truth for ALL changes Increase visibility for risk and compliance management
  31. 31. Thank you. Rebecca Fitzhugh | @rebeccafitzhugh

×