SlideShare a Scribd company logo
1 of 32
Dark Architecture & How to Forklift Upgrade
Your Infrastructure with Zero Downtime
Cory von Wallenstein
Chief Technology Officer,
Dyn Inc.
@cvonwallenstein
@cvonwallenstein from @DynInc at #gluecon
But First, Who Is Dyn?
• Internet Infrastructure as a Service
– Managed DNS and Email Delivery
• 230 Global Employees (we bootstrapped to 170)
• Headquarters in Manchester, NH (offices in SFO & UK too)
• Raised first financing in Oct 2012: $38MM from NorthBridge
@cvonwallenstein from @DynInc at #gluecon
Problem We Are Trying To Solve
Inputs
Black Magic
(Your Current System Architecture)
Outputs
Different Black Magic
(Your New System Architecture)
Inputs
Inputs
Inputs
Outputs
Outputs
Outputs
Scale
x10, x102, etc.
Performance
(t2 - t0) <= (t1 - t0)
t1
t2
t0
t0
Coupling
Tight -> Loose
@cvonwallenstein from @DynInc at #gluecon
Pragmatic Engineering
over Unicorn Marketing
@cvonwallenstein from @DynInc at #gluecon
Why Things Get This Way
• Time to market reigns supreme
– MVP was very… minimum… on… everything
– Sooner is better than perfect
• Prototype to production to scale without
architectural rigor
– Skillset for system engineering in high demand
• Seen more often in small teams who find
product market fit faster than expected
– Inexperience, but we’ve all been there
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture
• A way of thinking about, and technical
approach to, solving the
scale/performance/coupling problem while
enabling the business to succeed and keeping
(some) of your hair
• We stand on shoulders of giants
– Fowler, Amazon, Netflix, etc.
@cvonwallenstein from @DynInc at #gluecon
High Level of Dark Architecture
• Legacy approach: Flag Day Upgrade/Deploy
– Scope out 3 month upgrade to swap architecture A
to B, turns into 6 months, don’t get to anything else,
cross fingers on flag day, fight fires where broken,
gain weight, lose hair, girlfriend breaks up with you,
team quits, FML…
• Evolved approach: Fowler’s Blue/Green Deploy
– Two copies of system, load balancing to rapidly
deploy new system version, rapidly fail back to
legacy on failure (only one active at a time)
@cvonwallenstein from @DynInc at #gluecon
High Level of Dark Architecture
• Dark Architecture Approach
– Two copies of system, both active, send inputs for a
workflow to both, compare outputs and throw one
away (the one you threw the output away from is
the “dark architecture”), log and inspect output
differences, gain confidence in new system when
differences go away, swap which output you throw
away (effectively bringing the “dark” architecture
“light”), achieve equilibrium on what workflows get
processed by what system so your business has
flexibility, high five everyone, onward and upward.
@cvonwallenstein from @DynInc at #gluecon
Tangible Examples
• Scaling Global DNS Stats beyond 17 POPs
– MySQL to Cassandra, Log file rsync to agg counts
@cvonwallenstein from @DynInc at #gluecon
Tangible Examples
• Scaling Email Delivery beyond 1 billion/month
– Cron to daemon (2011), Perl to Node.js (now)
Dark Architecture Manifesto
1. Clear definition of success over ambiguity
– Likely scale/performance measured, may get
blank stares on coupling
2. Continuously deliver value over months of no
visible progress
3. Confidence in functional equivalence over
scope creep
4. ^5’s over finger pointing
5. Plan for failure over cross fingers
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture Manifesto
6. Customer impact over elegant system
diagrams
7. System flows over system components
8. Operational confidence and familiarity over
trial by fire
9. Having a ten item list over a nine item list
10. Architecture evolution over architecture
revolution
@cvonwallenstein from @DynInc at #gluecon
Scope and Priority
• Prioritize a backlog of input/output workflows
by amount of pain
– Don’t think on a system component level
• “swap MySQL for Cassandra”
– Think on a system workflow level
• “retrieve query logs and render *.example.com graphs”
– This exercise will force you to hone scope to
exactly where the pain is so you can focus on
delivering the solution to this pain first and save
others for later.
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 0
Legacy System
100% of functionality
enabled
100% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 1
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
0% of functionality
enabled
0% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 4
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
25% of functionality
enabled
0% of functionality
consumed
Most people start with easy pieces under a
misguided “crawl walk run” philosophy. Quick
wins on easy stuff while saving hard problems
for later rarely ends well.
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 8
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
35% of functionality
enabled
0% of functionality
consumed
Progress slows as harder problems encountered
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 12
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
80% of functionality
enabled
0% of functionality
consumed
80% of projects spend 80% of their calendar time
at 80% perceived completion. I’m 80% sure.
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Week 24
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
100% of functionality
enabled
0% of functionality
consumed
Other fires came up, things took longer than
expected, you know… business. Morale never
been lower
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Flag Day!
Legacy System
100% of functionality
enabled
0% of functionality
consumed
New System
100% of functionality
enabled
100% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Legacy Approach: Flag Day!
Legacy System
100% of functionality
enabled
0% of functionality
consumed
New System
100% of functionality
enabled
100% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture Approach
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture Approach: Week 0
Legacy System
100% of functionality
enabled
100% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture Approach: Week 1
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
0% of functionality
enabled
0% of functionality
consumed
@cvonwallenstein from @DynInc at #gluecon
Dark Architecture Approach: Week 2
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
0% of functionality
enabled
0% of functionality
consumed
No functionality yet,
just dark architecture
framework for two
inputs and two
outputs (throwing
one output away)
Dark Architecture Approach: Week 3
Legacy System
100% of functionality
enabled
100% of functionality
consumed
New System
2% of functionality
enabled
2% of functionality
consumed (dark)
Throw one away, but log
and inspect differences!
Dark Architecture Approach: Week 4
Legacy System
100% of functionality
enabled
98% of functionality
consumed
New System
2% of functionality
enabled
2% of functionality
consumed
Gain confidence
operating with two
equal outputs, switch
which one is thrown
away for that workflow.
Goes horribly wrong?
Switch back.
Dark Architecture Approach: Week 12
Legacy System
100% of functionality
enabled
80% of functionality
consumed
New System
20% of functionality
enabled
20% of functionality
consumed
Where do we stand at
expected 3 months?
Most painful 20% of
problems resolved…
now we have
flexibility for what to
do next.
Customer impact over elegant
system diagrams
• Your customers are not paying you to have
pretty whiteboards of elegant system
architectures
• Your customers are paying you to make their
pain go away. This gets priority.
• It’s OK to have different workflows handled by
different systems to give your team agility
– Other priorities came up? System is stable.
– Have technical debt time? Continue arch migration
@cvonwallenstein from @DynInc at #gluecon
Parting Takeaways
• Manifesto is a preference, not a rule
• Think in flows not components
• Deliver most painful pieces first so when
priorities change, you’re not left half complete.
• Process success >>> process name
• Be realistic. DA provides flexibility and frequent
victories for morale and some value delivered
sooner, but it won’t necessarily make a full
architecture migration faster in calendar days.
@cvonwallenstein from @DynInc at #gluecon
Cory von Wallenstein
@cvonwallenstein
Questions?
@cvonwallenstein from @DynInc at #gluecon

More Related Content

What's hot

Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comAdvanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comDevOpsDays Tel Aviv
 
Web and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsWeb and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsAndreas Grabner
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovySteve Pember
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...Andreas Grabner
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovySteve Pember
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryAndreas Grabner
 
Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Victoria Livschitz
 
Reactive programming with RxJS - Taiwan
Reactive programming with RxJS - TaiwanReactive programming with RxJS - Taiwan
Reactive programming with RxJS - Taiwanmodernweb
 
Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance MistakesAndreas Grabner
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsAndreas Grabner
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your momAndreas Grabner
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldAndreas Grabner
 
Evolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringEvolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringPeter Holditch
 
iCEDQ - Dataops Platform For Data Test Automation and Monitoring
iCEDQ - Dataops Platform For Data Test Automation and MonitoringiCEDQ - Dataops Platform For Data Test Automation and Monitoring
iCEDQ - Dataops Platform For Data Test Automation and MonitoringTorana, Inc.
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015DevOpsDays Tel Aviv
 
Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Taylor Brown
 
Google CloudSpanner - And the Atomic Clocks
Google CloudSpanner - And the Atomic ClocksGoogle CloudSpanner - And the Atomic Clocks
Google CloudSpanner - And the Atomic ClocksSascha Rodekamp
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsAndreas Grabner
 

What's hot (18)

Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.comAdvanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
Advanced A/B Testing at Wix - Aviran Mordo and Sagy Rozman, Wix.com
 
Web and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the NewsWeb and App Performance: Top Problems to avoid to keep you out of the News
Web and App Performance: Top Problems to avoid to keep you out of the News
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
 
Reactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of GroovyReactive Streams and the Wide World of Groovy
Reactive Streams and the Wide World of Groovy
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 
Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)Autonomic Application Management with Qubell (and Docker)
Autonomic Application Management with Qubell (and Docker)
 
Reactive programming with RxJS - Taiwan
Reactive programming with RxJS - TaiwanReactive programming with RxJS - Taiwan
Reactive programming with RxJS - Taiwan
 
Java Performance Mistakes
Java Performance MistakesJava Performance Mistakes
Java Performance Mistakes
 
DevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback LoopsDevOps Pipelines and Metrics Driven Feedback Loops
DevOps Pipelines and Metrics Driven Feedback Loops
 
How to explain DevOps to your mom
How to explain DevOps to your momHow to explain DevOps to your mom
How to explain DevOps to your mom
 
OOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The WorldOOP 2016 - Building Software That Eats The World
OOP 2016 - Building Software That Eats The World
 
Evolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoringEvolving toward devops through transaction centric monitoring
Evolving toward devops through transaction centric monitoring
 
iCEDQ - Dataops Platform For Data Test Automation and Monitoring
iCEDQ - Dataops Platform For Data Test Automation and MonitoringiCEDQ - Dataops Platform For Data Test Automation and Monitoring
iCEDQ - Dataops Platform For Data Test Automation and Monitoring
 
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
Monitoring at Facebook - Ran Leibman, Facebook - DevOpsDays Tel Aviv 2015
 
Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016Accelerate application delivery with docker containers and windows server 2016
Accelerate application delivery with docker containers and windows server 2016
 
Google CloudSpanner - And the Atomic Clocks
Google CloudSpanner - And the Atomic ClocksGoogle CloudSpanner - And the Atomic Clocks
Google CloudSpanner - And the Atomic Clocks
 
How to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance TipsHow to keep you out of the News: Web and End-to-End Performance Tips
How to keep you out of the News: Web and End-to-End Performance Tips
 

Viewers also liked

WordPress as a CMS v2
WordPress as a CMS v2WordPress as a CMS v2
WordPress as a CMS v2mwalters8
 
Noder が Titanium Mobile で 作ってみた
Noder が Titanium Mobile で 作ってみた Noder が Titanium Mobile で 作ってみた
Noder が Titanium Mobile で 作ってみた Kazuyuki Honda
 
Building Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons LearnedBuilding Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons Learnedparallellabs
 
New Features in PHP 5.3
New Features in PHP 5.3New Features in PHP 5.3
New Features in PHP 5.3Bradley Holt
 
HTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyHTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyFabernovel
 
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @TwitterEverything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @TwitterAttila Szegedi
 
10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your PresentationStinson
 

Viewers also liked (7)

WordPress as a CMS v2
WordPress as a CMS v2WordPress as a CMS v2
WordPress as a CMS v2
 
Noder が Titanium Mobile で 作ってみた
Noder が Titanium Mobile で 作ってみた Noder が Titanium Mobile で 作ってみた
Noder が Titanium Mobile で 作ってみた
 
Building Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons LearnedBuilding Software Systems at Google and Lessons Learned
Building Software Systems at Google and Lessons Learned
 
New Features in PHP 5.3
New Features in PHP 5.3New Features in PHP 5.3
New Features in PHP 5.3
 
HTML5, How to rethink your web strategy
HTML5, How to rethink your web strategyHTML5, How to rethink your web strategy
HTML5, How to rethink your web strategy
 
Everything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @TwitterEverything I Ever Learned About JVM Performance Tuning @Twitter
Everything I Ever Learned About JVM Performance Tuning @Twitter
 
10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation10 Things your Audience Hates About your Presentation
10 Things your Audience Hates About your Presentation
 

Similar to Gluecon 2013 - Dark Architecture and How to Forklift Upgrade Your System - Dyn Inc

Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019RackN
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database MigrationsFeature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database MigrationsPatrick Kaeding
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationEric Ries
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationTimothy Fitz
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018Christophe Rochefolle
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionKeet Sugathadasa
 
Distributed Systems at Scale: Reducing the Fail
Distributed Systems at Scale:  Reducing the FailDistributed Systems at Scale:  Reducing the Fail
Distributed Systems at Scale: Reducing the FailKim Moir
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations LaunchDarkly
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps TransformationsErnest Mueller
 
Metrics driven dev ops 2017
Metrics driven dev ops 2017Metrics driven dev ops 2017
Metrics driven dev ops 2017Jerry Tan
 
How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.Dianne Marsh
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsTechWell
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryKyle Hodgson
 
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn UCICove
 
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Skynet project: Monitor, analyze, scale, and maintain a system in the CloudSkynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Skynet project: Monitor, analyze, scale, and maintain a system in the CloudSylvain Kalache
 
Microservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightMicroservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightLightbend
 

Similar to Gluecon 2013 - Dark Architecture and How to Forklift Upgrade Your System - Dyn Inc (20)

Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019Immutable Infrastructure & Rethinking Configuration - Interop 2019
Immutable Infrastructure & Rethinking Configuration - Interop 2019
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database MigrationsFeature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
Green Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos EngineeringGreen Custard Friday Talk 19: Chaos Engineering
Green Custard Friday Talk 19: Chaos Engineering
 
From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018From Duke of DevOps to Queen of Chaos - Api days 2018
From Duke of DevOps to Queen of Chaos - Api days 2018
 
Chaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in ProductionChaos Engineering - The Art of Breaking Things in Production
Chaos Engineering - The Art of Breaking Things in Production
 
Distributed Systems at Scale: Reducing the Fail
Distributed Systems at Scale:  Reducing the FailDistributed Systems at Scale:  Reducing the Fail
Distributed Systems at Scale: Reducing the Fail
 
Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations Feature Flagging to Reduce Risk in Database Migrations
Feature Flagging to Reduce Risk in Database Migrations
 
DevOps Transformations
DevOps TransformationsDevOps Transformations
DevOps Transformations
 
Metrics driven dev ops 2017
Metrics driven dev ops 2017Metrics driven dev ops 2017
Metrics driven dev ops 2017
 
How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.How Netflix thinks of DevOps. Spoiler: we don’t.
How Netflix thinks of DevOps. Spoiler: we don’t.
 
Automating the Quality
Automating the QualityAutomating the Quality
Automating the Quality
 
DevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More DefectsDevOps: Find Solutions, Not More Defects
DevOps: Find Solutions, Not More Defects
 
ThoughtWorks Continuous Delivery
ThoughtWorks Continuous DeliveryThoughtWorks Continuous Delivery
ThoughtWorks Continuous Delivery
 
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn
How to Build Out a Tech Eco-System | Dan Cregg | Lunch & Learn
 
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Skynet project: Monitor, analyze, scale, and maintain a system in the CloudSkynet project: Monitor, analyze, scale, and maintain a system in the Cloud
Skynet project: Monitor, analyze, scale, and maintain a system in the Cloud
 
Chaos engineering
Chaos engineering Chaos engineering
Chaos engineering
 
Microservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightMicroservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done Right
 
Designing Testable Software
Designing Testable SoftwareDesigning Testable Software
Designing Testable Software
 

More from Cory von Wallenstein

Proximity Marketing Workshop with Adored
Proximity Marketing Workshop with AdoredProximity Marketing Workshop with Adored
Proximity Marketing Workshop with AdoredCory von Wallenstein
 
Proximity Marketing Use Cases - Adored at Mt Washington Valley Expo
Proximity Marketing Use Cases - Adored at Mt Washington Valley ExpoProximity Marketing Use Cases - Adored at Mt Washington Valley Expo
Proximity Marketing Use Cases - Adored at Mt Washington Valley ExpoCory von Wallenstein
 
Adored: early prototypes - second meeting - campaign report
Adored: early prototypes - second meeting - campaign reportAdored: early prototypes - second meeting - campaign report
Adored: early prototypes - second meeting - campaign reportCory von Wallenstein
 
Adored: early prototypes - first meeting progress report
Adored: early prototypes - first meeting progress reportAdored: early prototypes - first meeting progress report
Adored: early prototypes - first meeting progress reportCory von Wallenstein
 
Surviving the Internet of Things - Boston Big Data Meetup
Surviving the Internet of Things - Boston Big Data MeetupSurviving the Internet of Things - Boston Big Data Meetup
Surviving the Internet of Things - Boston Big Data MeetupCory von Wallenstein
 
Dyn /Delivers/ Where Internet Performance Goes From Here
Dyn /Delivers/ Where Internet Performance Goes From HereDyn /Delivers/ Where Internet Performance Goes From Here
Dyn /Delivers/ Where Internet Performance Goes From HereCory von Wallenstein
 
SXSW14 - Four Macro Trends Driving the Evolution of the Internet
SXSW14 - Four Macro Trends Driving the Evolution of the InternetSXSW14 - Four Macro Trends Driving the Evolution of the Internet
SXSW14 - Four Macro Trends Driving the Evolution of the InternetCory von Wallenstein
 
Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)Cory von Wallenstein
 
Astricon - Realities of Global Infrastructure in the Cloud
Astricon - Realities of Global Infrastructure in the CloudAstricon - Realities of Global Infrastructure in the Cloud
Astricon - Realities of Global Infrastructure in the CloudCory von Wallenstein
 

More from Cory von Wallenstein (9)

Proximity Marketing Workshop with Adored
Proximity Marketing Workshop with AdoredProximity Marketing Workshop with Adored
Proximity Marketing Workshop with Adored
 
Proximity Marketing Use Cases - Adored at Mt Washington Valley Expo
Proximity Marketing Use Cases - Adored at Mt Washington Valley ExpoProximity Marketing Use Cases - Adored at Mt Washington Valley Expo
Proximity Marketing Use Cases - Adored at Mt Washington Valley Expo
 
Adored: early prototypes - second meeting - campaign report
Adored: early prototypes - second meeting - campaign reportAdored: early prototypes - second meeting - campaign report
Adored: early prototypes - second meeting - campaign report
 
Adored: early prototypes - first meeting progress report
Adored: early prototypes - first meeting progress reportAdored: early prototypes - first meeting progress report
Adored: early prototypes - first meeting progress report
 
Surviving the Internet of Things - Boston Big Data Meetup
Surviving the Internet of Things - Boston Big Data MeetupSurviving the Internet of Things - Boston Big Data Meetup
Surviving the Internet of Things - Boston Big Data Meetup
 
Dyn /Delivers/ Where Internet Performance Goes From Here
Dyn /Delivers/ Where Internet Performance Goes From HereDyn /Delivers/ Where Internet Performance Goes From Here
Dyn /Delivers/ Where Internet Performance Goes From Here
 
SXSW14 - Four Macro Trends Driving the Evolution of the Internet
SXSW14 - Four Macro Trends Driving the Evolution of the InternetSXSW14 - Four Macro Trends Driving the Evolution of the Internet
SXSW14 - Four Macro Trends Driving the Evolution of the Internet
 
Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)
 
Astricon - Realities of Global Infrastructure in the Cloud
Astricon - Realities of Global Infrastructure in the CloudAstricon - Realities of Global Infrastructure in the Cloud
Astricon - Realities of Global Infrastructure in the Cloud
 

Recently uploaded

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphThiyagu K
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 

Recently uploaded (20)

BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 
Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 

Gluecon 2013 - Dark Architecture and How to Forklift Upgrade Your System - Dyn Inc

  • 1. Dark Architecture & How to Forklift Upgrade Your Infrastructure with Zero Downtime Cory von Wallenstein Chief Technology Officer, Dyn Inc. @cvonwallenstein @cvonwallenstein from @DynInc at #gluecon
  • 2. But First, Who Is Dyn? • Internet Infrastructure as a Service – Managed DNS and Email Delivery • 230 Global Employees (we bootstrapped to 170) • Headquarters in Manchester, NH (offices in SFO & UK too) • Raised first financing in Oct 2012: $38MM from NorthBridge @cvonwallenstein from @DynInc at #gluecon
  • 3. Problem We Are Trying To Solve Inputs Black Magic (Your Current System Architecture) Outputs Different Black Magic (Your New System Architecture) Inputs Inputs Inputs Outputs Outputs Outputs Scale x10, x102, etc. Performance (t2 - t0) <= (t1 - t0) t1 t2 t0 t0 Coupling Tight -> Loose @cvonwallenstein from @DynInc at #gluecon
  • 4. Pragmatic Engineering over Unicorn Marketing @cvonwallenstein from @DynInc at #gluecon
  • 5. Why Things Get This Way • Time to market reigns supreme – MVP was very… minimum… on… everything – Sooner is better than perfect • Prototype to production to scale without architectural rigor – Skillset for system engineering in high demand • Seen more often in small teams who find product market fit faster than expected – Inexperience, but we’ve all been there @cvonwallenstein from @DynInc at #gluecon
  • 6. Dark Architecture • A way of thinking about, and technical approach to, solving the scale/performance/coupling problem while enabling the business to succeed and keeping (some) of your hair • We stand on shoulders of giants – Fowler, Amazon, Netflix, etc. @cvonwallenstein from @DynInc at #gluecon
  • 7. High Level of Dark Architecture • Legacy approach: Flag Day Upgrade/Deploy – Scope out 3 month upgrade to swap architecture A to B, turns into 6 months, don’t get to anything else, cross fingers on flag day, fight fires where broken, gain weight, lose hair, girlfriend breaks up with you, team quits, FML… • Evolved approach: Fowler’s Blue/Green Deploy – Two copies of system, load balancing to rapidly deploy new system version, rapidly fail back to legacy on failure (only one active at a time) @cvonwallenstein from @DynInc at #gluecon
  • 8. High Level of Dark Architecture • Dark Architecture Approach – Two copies of system, both active, send inputs for a workflow to both, compare outputs and throw one away (the one you threw the output away from is the “dark architecture”), log and inspect output differences, gain confidence in new system when differences go away, swap which output you throw away (effectively bringing the “dark” architecture “light”), achieve equilibrium on what workflows get processed by what system so your business has flexibility, high five everyone, onward and upward. @cvonwallenstein from @DynInc at #gluecon
  • 9. Tangible Examples • Scaling Global DNS Stats beyond 17 POPs – MySQL to Cassandra, Log file rsync to agg counts @cvonwallenstein from @DynInc at #gluecon
  • 10. Tangible Examples • Scaling Email Delivery beyond 1 billion/month – Cron to daemon (2011), Perl to Node.js (now)
  • 11. Dark Architecture Manifesto 1. Clear definition of success over ambiguity – Likely scale/performance measured, may get blank stares on coupling 2. Continuously deliver value over months of no visible progress 3. Confidence in functional equivalence over scope creep 4. ^5’s over finger pointing 5. Plan for failure over cross fingers @cvonwallenstein from @DynInc at #gluecon
  • 12. Dark Architecture Manifesto 6. Customer impact over elegant system diagrams 7. System flows over system components 8. Operational confidence and familiarity over trial by fire 9. Having a ten item list over a nine item list 10. Architecture evolution over architecture revolution @cvonwallenstein from @DynInc at #gluecon
  • 13. Scope and Priority • Prioritize a backlog of input/output workflows by amount of pain – Don’t think on a system component level • “swap MySQL for Cassandra” – Think on a system workflow level • “retrieve query logs and render *.example.com graphs” – This exercise will force you to hone scope to exactly where the pain is so you can focus on delivering the solution to this pain first and save others for later. @cvonwallenstein from @DynInc at #gluecon
  • 15. Legacy Approach: Week 0 Legacy System 100% of functionality enabled 100% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 16. Legacy Approach: Week 1 Legacy System 100% of functionality enabled 100% of functionality consumed New System 0% of functionality enabled 0% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 17. Legacy Approach: Week 4 Legacy System 100% of functionality enabled 100% of functionality consumed New System 25% of functionality enabled 0% of functionality consumed Most people start with easy pieces under a misguided “crawl walk run” philosophy. Quick wins on easy stuff while saving hard problems for later rarely ends well. @cvonwallenstein from @DynInc at #gluecon
  • 18. Legacy Approach: Week 8 Legacy System 100% of functionality enabled 100% of functionality consumed New System 35% of functionality enabled 0% of functionality consumed Progress slows as harder problems encountered @cvonwallenstein from @DynInc at #gluecon
  • 19. Legacy Approach: Week 12 Legacy System 100% of functionality enabled 100% of functionality consumed New System 80% of functionality enabled 0% of functionality consumed 80% of projects spend 80% of their calendar time at 80% perceived completion. I’m 80% sure. @cvonwallenstein from @DynInc at #gluecon
  • 20. Legacy Approach: Week 24 Legacy System 100% of functionality enabled 100% of functionality consumed New System 100% of functionality enabled 0% of functionality consumed Other fires came up, things took longer than expected, you know… business. Morale never been lower @cvonwallenstein from @DynInc at #gluecon
  • 21. Legacy Approach: Flag Day! Legacy System 100% of functionality enabled 0% of functionality consumed New System 100% of functionality enabled 100% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 22. Legacy Approach: Flag Day! Legacy System 100% of functionality enabled 0% of functionality consumed New System 100% of functionality enabled 100% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 24. Dark Architecture Approach: Week 0 Legacy System 100% of functionality enabled 100% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 25. Dark Architecture Approach: Week 1 Legacy System 100% of functionality enabled 100% of functionality consumed New System 0% of functionality enabled 0% of functionality consumed @cvonwallenstein from @DynInc at #gluecon
  • 26. Dark Architecture Approach: Week 2 Legacy System 100% of functionality enabled 100% of functionality consumed New System 0% of functionality enabled 0% of functionality consumed No functionality yet, just dark architecture framework for two inputs and two outputs (throwing one output away)
  • 27. Dark Architecture Approach: Week 3 Legacy System 100% of functionality enabled 100% of functionality consumed New System 2% of functionality enabled 2% of functionality consumed (dark) Throw one away, but log and inspect differences!
  • 28. Dark Architecture Approach: Week 4 Legacy System 100% of functionality enabled 98% of functionality consumed New System 2% of functionality enabled 2% of functionality consumed Gain confidence operating with two equal outputs, switch which one is thrown away for that workflow. Goes horribly wrong? Switch back.
  • 29. Dark Architecture Approach: Week 12 Legacy System 100% of functionality enabled 80% of functionality consumed New System 20% of functionality enabled 20% of functionality consumed Where do we stand at expected 3 months? Most painful 20% of problems resolved… now we have flexibility for what to do next.
  • 30. Customer impact over elegant system diagrams • Your customers are not paying you to have pretty whiteboards of elegant system architectures • Your customers are paying you to make their pain go away. This gets priority. • It’s OK to have different workflows handled by different systems to give your team agility – Other priorities came up? System is stable. – Have technical debt time? Continue arch migration @cvonwallenstein from @DynInc at #gluecon
  • 31. Parting Takeaways • Manifesto is a preference, not a rule • Think in flows not components • Deliver most painful pieces first so when priorities change, you’re not left half complete. • Process success >>> process name • Be realistic. DA provides flexibility and frequent victories for morale and some value delivered sooner, but it won’t necessarily make a full architecture migration faster in calendar days. @cvonwallenstein from @DynInc at #gluecon