DOES SFO 2016 - Topo Pal - DevOps at Capital One

40
DevOps at Capital One Focusing on Pipeline and Measurement

Transcript of DOES SFO 2016 - Topo Pal - DevOps at Capital One

Page 1: DOES SFO 2016 - Topo Pal - DevOps at Capital One

DevOps at Capital OneFocusing on Pipeline and Measurement

Page 2: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Page 3: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Capital One

Millions of accounts One of the largest Digital Banks #1 Information Week’s Elite 100 ~ 20 years old

Page 4: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Different DNA Build our own software Build on public cloud MicroServices Open Source DevOpsSec and Continuous Delivery

Page 5: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

• Enterprise Architecture• DevOpsSec Strategy Owner• DevOps Evangelist

• Shared Technology Group• Product Manager of Continuous

Delivery Tools Platform• DevOps Evangelist• Core Contributor and Community

Manager of Hygieia

Personal Journey

Page 6: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Page 7: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

• Waterfall• Manual Build• Manual Deployment• Manual Test• Data Center• Closed Source First

• Agile• Automated Build• Automated

Deployment• Automated Test• Public Cloud• Open Source First

Agile & DevOps Transformation Journey

Page 8: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Mostly Out-Sourced Mostly In-Sourced

Agile & DevOps Transformation Journey

Vertical Silos Product Team Dev, Ops, QA, RM Engineers

Page 9: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

DOES 2014Building out Automation steps

DOES 2015 Scaling DevOps, Open Source, Cloud,

Innovation

DOES 2016Measure, Improve, Mature

Page 10: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Typical DevOps Success Story

Code Commit Random 100s /day

Deployment

Prod

Manual Automated

Integration Monthly 15 mins

QA, Perf Monthly 4 / dayMonthly/Quarterly Once / sprint

Testing Manual Automated

Page 11: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

2016What’s in your pipeline?

Page 12: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

http://www.devopsdays.org

Page 13: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Deliver High Quality Working Software Faster

Page 14: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Deliver High Quality Working Software Faster• No security flaws

• No legal flaws • Minimum defects• All levels of testing done • Code reviewed and source controlled• Testing of application, configuration, scripts

etc.

• Across LOBs, Shared Services and 3rd Parties

• Tested end-to-end• All dependencies are satisfied

• How fast? ASAP?

Page 15: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPalhttps://upload.wikimedia.org/wikipedia/commons/c/c8/Can_We_Do_it_Better_or_Faster...We_Want_Your_Ideas_-_NARA_-_534240.jpg

Page 16: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Page 17: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Feb 8, 1700 — March 17, 1782

Daniel J. Bernoulli

Page 18: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Constrict flow, Increase Speed, Lessen Pressure

https://www.khanacademy.org/science/physics/fluids/fluid-dynamics/a/what-is-volume-flow-rate

Page 19: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Commit

Deploy

Page 20: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

http://www.netuba.org/

Page 21: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

https://en.wikipedia.org/wiki/Oil_refinery

Page 22: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

https://commons.wikimedia.org/wiki/File:US_Navy_060906-N-8257O-026_Damage_Controlman_1st_Class_Petty_Officer_Derrick_Harney_assists_his_students_in_repairing_a_broken_pipeline_during_the_hands_on_patch_training_portion_of_the_Damage_Control_Wet_Trainer.jpg

Page 23: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

• Design• Measure• Improve

Pipeline

Page 24: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Pipeline Design

Page 25: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Pipeline must have 16 gates Source code version controlOptimum branching strategy

Static analysis> 80% Code coverage

Vulnerability scanOpen source scan

Artifact version controlAuto provision

Immutable serversIntegration testing Performance testing

Build, Deploy, Testing automated for every commitAutomated Change Order

Zero downtime releaseFeature Toggle

Page 26: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Pipeline Measurement

Page 27: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

https://devops-research.com/

Page 28: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

https://devops-research.com/ https://github.com/capitalone/Hygieia

Page 29: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Increase Speed = Reduce Wait Time

Page 30: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Opportunities

• Branching Strategy• Process

Page 31: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Pipeline Improvement

Improve Branching

Page 32: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Branching• We recommend “Trunk based”

development.• Other option:

Page 33: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Pipeline Improvement

Improve Process

• Automate Release Process• Revisit Audit & Compliance

Page 34: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Risks are real• Intentional damage• Unintentional damage• Untested code in production

But….There is a better way

Page 35: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Hypothesis

• DevOpsSec & CI/CD provide better controls

• A model with ~30 practices can satisfy audit and compliance

• If everything is source code, no one needs access to production

• For emergency, “Break Glass”

Page 36: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Result

Production Release 1+ / dayOnce / sprint

# of Applications with Release Automation: 20+Max. # of Releases in 1 day for 1 Application: 34

With “Segregation of Duties”

Page 37: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Goal

Release Automation without

classic “Segregation of Duties”

Page 38: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Coming Soon to Open Source

• A secure & compliant pipeline model• A forked and enhanced version of

“LGTM”

Page 39: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Page 40: DOES SFO 2016 - Topo Pal - DevOps at Capital One

@TopoPal

Thank You!