SlideShare a Scribd company logo
Ross Sharrott
Founder / CTO
rsharrott@moneytree.jp
@moneytreejp
Who Am I?

Ross Sharrott
Founder & CTO of Moneytree
American
10 Years in Japan (Feb 24!)
Previously Senior IT Manager

Love distributed architectures in the
cloud
What is Moneytree?

Internet banking is fragmented; not simple
Email is Simple

Gmail

Yahoo!

Work, etc.

For mail we use just ONE app!
Radically simplify your relationship with money
and make it beautiful.
Data Aggregator

Our Goals:
Download accounts for 1M people every
day
Deliver new data in < 1 minute
2-3 developers
Sleep at night
First Idea

I know…I’ll use a queue!
Original Queue Based Process

Download
Data

Process
Statements

Store Data
1 Account / Many Statements
But we had a problem…

To determine a CC balance, we need
information from multiple statements
We needed a post statement process
Download
Data

Process
Statements

Post Process
Statements

Store Data +
Additional
Information
What We Needed

Download
Data

Process
Statements

• Statement 1
• Statement 2
• Many More

Post
Process
Queue Falls Down

I know…I’ll use a queue!
Queues are linear
Where are we in the process?
Logged in yet? Processing data?

What do you do when a job fails?
How do you relate jobs to one workflow?
Enter SWF

AWS Managed Service
Coordinates Workflows / Maintains
history
Provides multiple queues called Task
Lists

Handle decision points with Deciders
Perform tasks with Activity Workers
Real World – A Restaurant
SWF World – A Restaurant

Decider – does nothing, makes decisions
Workflow Starter – takes orders

Activity Worker – makes food
Activity Worker – distributes food
SWF – maintains history, distributes
tasks
Activity Worker

Very similar to any queue worker
Handles a specific task

Polls a Task List to get new info
Reports activity success or failure
Puts results in a DB or on S3, etc.
Workflow Decider

Uses workflow history to make decisions
Schedules tasks

Handles rescheduling failures & timeouts
Reacts to external events (Signals)
Reacts to completion events
Moneytree’s Workflow

Statement
Download
Data

Post
Process
Statement
Moneytree’s SWF Architecture
1 Day of Work

Yesterday:
70,000 Workflows

Average Completion Time: 1 Minute
575,000 Decision Tasks
146,000 Statements Processed
70,000 Aggregation Tasks
70,000 Post Process Tasks
Data Aggregator

Our Goals:


1M people every day



Deliver new data in < 1 minute



2-3 developers



Sleep at night
How To Sleep At Night

Make Workers Scalable
Avoid SWF API Throttling
Expect Failures
Measure Everything
Make Workers Scalable

Separate concerns into individual
workers

Scale each worker process individually
Automate scaling your workers
Make workers idempotent
You can always try again
Avoid API Throttling
Don’t call GetWorkflowHistory
Stress test your implementation
Limits are by Region, not domain!
Get your limits raised
We hit limits on day 1

Use exponential retry
Have a circuit breaker
Expect Failures
Cloud = Failures
Dyno / EC2 instance restarts
Network & Service outages

Don’t wait for failed processes
Use aggressive timeouts
Use heartbeats for long processes
Monitor Everything
Use Performance Monitoring
10x increase in performance = 10x workers
New Relic & Cloudwatch

Centralize Logging
Cloud resources disappear w/their logs
Papertrail / Logentries

Log Everything & Setup Alerts
If you don’t log it, you can’t fix it
Sleep At Night

Make Workers Scalable
Avoid SWF API Throttling
Expect Failures
Measure Everything
Thank You!
Moneytree is hiring!
iOS Developers
API Developers / AWS Dev Ops
Technology Ninjas
Ross Sharrott Founder / CTO
rsharrott@moneytree.jp
@moneytreejp
Ad

More Related Content

What's hot (20)

Big Data and Classification
Big Data and ClassificationBig Data and Classification
Big Data and Classification
303Computing
 
Big data
Big dataBig data
Big data
Nausheen Hasan
 
BIG DATA & DATA ANALYTICS
BIG  DATA & DATA  ANALYTICSBIG  DATA & DATA  ANALYTICS
BIG DATA & DATA ANALYTICS
NAGARAJAGIDDE
 
Big data tools
Big data toolsBig data tools
Big data tools
Novita Sari
 
Big Data Hadoop
Big Data HadoopBig Data Hadoop
Big Data Hadoop
Techsparks
 
Big data
Big dataBig data
Big data
Mithilesh Joshi - SEO & Digital Marketing Consultant
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
Hari Priya
 
Big data.
Big data.Big data.
Big data.
MeganShaw38
 
Big data
Big dataBig data
Big data
Harsh Kishore Mishra
 
Big data
Big dataBig data
Big data
hsn99
 
Thilga
ThilgaThilga
Thilga
THILAKAVATHIRAMRAJ
 
Data mining with big data
Data mining with big dataData mining with big data
Data mining with big data
kk1718
 
Big Data Evolution
Big Data EvolutionBig Data Evolution
Big Data Evolution
itnewsafrica
 
Big data
Big dataBig data
Big data
Pooja Shah
 
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
BigMine
 
Big Data: The 6 Key Skills Every Business Needs
Big Data: The 6 Key Skills Every Business NeedsBig Data: The 6 Key Skills Every Business Needs
Big Data: The 6 Key Skills Every Business Needs
Bernard Marr
 
Big Data for Beginners
Big Data for BeginnersBig Data for Beginners
Big Data for Beginners
Michael Perez
 
Big Data Presentation
Big  Data PresentationBig  Data Presentation
Big Data Presentation
Ritika Barethia
 
Big data
Big dataBig data
Big data
madhavsolanki
 
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Simplilearn
 
Big Data and Classification
Big Data and ClassificationBig Data and Classification
Big Data and Classification
303Computing
 
BIG DATA & DATA ANALYTICS
BIG  DATA & DATA  ANALYTICSBIG  DATA & DATA  ANALYTICS
BIG DATA & DATA ANALYTICS
NAGARAJAGIDDE
 
Introduction to big data
Introduction to big dataIntroduction to big data
Introduction to big data
Hari Priya
 
Big data
Big dataBig data
Big data
hsn99
 
Data mining with big data
Data mining with big dataData mining with big data
Data mining with big data
kk1718
 
Big Data Evolution
Big Data EvolutionBig Data Evolution
Big Data Evolution
itnewsafrica
 
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
Big Data Analytics: Applications and Opportunities in On-line Predictive Mode...
BigMine
 
Big Data: The 6 Key Skills Every Business Needs
Big Data: The 6 Key Skills Every Business NeedsBig Data: The 6 Key Skills Every Business Needs
Big Data: The 6 Key Skills Every Business Needs
Bernard Marr
 
Big Data for Beginners
Big Data for BeginnersBig Data for Beginners
Big Data for Beginners
Michael Perez
 
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Big Data Tutorial | What Is Big Data | Big Data Hadoop Tutorial For Beginners...
Simplilearn
 

Similar to Moneytree - Data Aggregation with SWF (20)

LogmaticPresentation
LogmaticPresentationLogmaticPresentation
LogmaticPresentation
logmatic.io
 
2011 06 15 velocity conf from visible ops to dev ops final
2011 06 15 velocity conf   from visible ops to dev ops final2011 06 15 velocity conf   from visible ops to dev ops final
2011 06 15 velocity conf from visible ops to dev ops final
Gene Kim
 
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Data Con LA
 
2011 09 19 LSPE Dev Ops Cookbook 1a
2011 09 19 LSPE Dev Ops Cookbook 1a2011 09 19 LSPE Dev Ops Cookbook 1a
2011 09 19 LSPE Dev Ops Cookbook 1a
Gene Kim
 
2011 09 18 United "Platitudes, reality and promise"
2011 09 18 United "Platitudes, reality and promise"2011 09 18 United "Platitudes, reality and promise"
2011 09 18 United "Platitudes, reality and promise"
Gene Kim
 
SharePoint Operations Framework - Planning and Guidance
SharePoint Operations Framework - Planning and GuidanceSharePoint Operations Framework - Planning and Guidance
SharePoint Operations Framework - Planning and Guidance
Chandima Kulathilake
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil Games
Rob Winters
 
The Evolution of a Scrappy Startup to a Successful Web Service
The Evolution of a Scrappy Startup to a Successful Web ServiceThe Evolution of a Scrappy Startup to a Successful Web Service
The Evolution of a Scrappy Startup to a Successful Web Service
Poornima Vijayashanker
 
Implement Fingerprint authentication for employee automation system
Implement Fingerprint authentication for employee automation systemImplement Fingerprint authentication for employee automation system
Implement Fingerprint authentication for employee automation system
Tanjarul Islam Mishu
 
Maintaining a-healthy-architecture-in-sf
Maintaining a-healthy-architecture-in-sfMaintaining a-healthy-architecture-in-sf
Maintaining a-healthy-architecture-in-sf
panayaofficial
 
I T E002 Coffee 091707a
I T E002  Coffee 091707aI T E002  Coffee 091707a
I T E002 Coffee 091707a
Dreamforce07
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
sthicks14
 
Building a Compliance System for your Business
Building a Compliance System for your BusinessBuilding a Compliance System for your Business
Building a Compliance System for your Business
Sarah Sajedi
 
Enough Blame for System Performance Issues
Enough Blame for System Performance IssuesEnough Blame for System Performance Issues
Enough Blame for System Performance Issues
Mahesh Vallampati
 
Everything You Need to Know About RPA in 30 Minutes
Everything You Need to Know About RPA in 30 MinutesEverything You Need to Know About RPA in 30 Minutes
Everything You Need to Know About RPA in 30 Minutes
HelpSystems
 
Rapid Data Analytics @ Netflix
Rapid Data Analytics @ NetflixRapid Data Analytics @ Netflix
Rapid Data Analytics @ Netflix
Monisha Kanoth
 
Rapid Data Analytics @ Netflix
Rapid Data Analytics @ NetflixRapid Data Analytics @ Netflix
Rapid Data Analytics @ Netflix
Data Con LA
 
2011 03 14 dev ops meetup - top lessons creating dev-ops super-tribes 2b
2011 03 14   dev ops meetup - top lessons creating dev-ops super-tribes 2b2011 03 14   dev ops meetup - top lessons creating dev-ops super-tribes 2b
2011 03 14 dev ops meetup - top lessons creating dev-ops super-tribes 2b
Gene Kim
 
[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data
NAVER D2
 
Mission: IT operations for a good night's sleep
Mission: IT operations for a good night's sleepMission: IT operations for a good night's sleep
Mission: IT operations for a good night's sleep
wwwally
 
LogmaticPresentation
LogmaticPresentationLogmaticPresentation
LogmaticPresentation
logmatic.io
 
2011 06 15 velocity conf from visible ops to dev ops final
2011 06 15 velocity conf   from visible ops to dev ops final2011 06 15 velocity conf   from visible ops to dev ops final
2011 06 15 velocity conf from visible ops to dev ops final
Gene Kim
 
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Big Data Day LA 2016/ Big Data Track - Rapid Analytics @ Netflix LA (Updated ...
Data Con LA
 
2011 09 19 LSPE Dev Ops Cookbook 1a
2011 09 19 LSPE Dev Ops Cookbook 1a2011 09 19 LSPE Dev Ops Cookbook 1a
2011 09 19 LSPE Dev Ops Cookbook 1a
Gene Kim
 
2011 09 18 United "Platitudes, reality and promise"
2011 09 18 United "Platitudes, reality and promise"2011 09 18 United "Platitudes, reality and promise"
2011 09 18 United "Platitudes, reality and promise"
Gene Kim
 
SharePoint Operations Framework - Planning and Guidance
SharePoint Operations Framework - Planning and GuidanceSharePoint Operations Framework - Planning and Guidance
SharePoint Operations Framework - Planning and Guidance
Chandima Kulathilake
 
Big Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil GamesBig Data at a Gaming Company: Spil Games
Big Data at a Gaming Company: Spil Games
Rob Winters
 
The Evolution of a Scrappy Startup to a Successful Web Service
The Evolution of a Scrappy Startup to a Successful Web ServiceThe Evolution of a Scrappy Startup to a Successful Web Service
The Evolution of a Scrappy Startup to a Successful Web Service
Poornima Vijayashanker
 
Implement Fingerprint authentication for employee automation system
Implement Fingerprint authentication for employee automation systemImplement Fingerprint authentication for employee automation system
Implement Fingerprint authentication for employee automation system
Tanjarul Islam Mishu
 
Maintaining a-healthy-architecture-in-sf
Maintaining a-healthy-architecture-in-sfMaintaining a-healthy-architecture-in-sf
Maintaining a-healthy-architecture-in-sf
panayaofficial
 
I T E002 Coffee 091707a
I T E002  Coffee 091707aI T E002  Coffee 091707a
I T E002 Coffee 091707a
Dreamforce07
 
Business Intelligence
Business IntelligenceBusiness Intelligence
Business Intelligence
sthicks14
 
Building a Compliance System for your Business
Building a Compliance System for your BusinessBuilding a Compliance System for your Business
Building a Compliance System for your Business
Sarah Sajedi
 
Enough Blame for System Performance Issues
Enough Blame for System Performance IssuesEnough Blame for System Performance Issues
Enough Blame for System Performance Issues
Mahesh Vallampati
 
Everything You Need to Know About RPA in 30 Minutes
Everything You Need to Know About RPA in 30 MinutesEverything You Need to Know About RPA in 30 Minutes
Everything You Need to Know About RPA in 30 Minutes
HelpSystems
 
Rapid Data Analytics @ Netflix
Rapid Data Analytics @ NetflixRapid Data Analytics @ Netflix
Rapid Data Analytics @ Netflix
Monisha Kanoth
 
Rapid Data Analytics @ Netflix
Rapid Data Analytics @ NetflixRapid Data Analytics @ Netflix
Rapid Data Analytics @ Netflix
Data Con LA
 
2011 03 14 dev ops meetup - top lessons creating dev-ops super-tribes 2b
2011 03 14   dev ops meetup - top lessons creating dev-ops super-tribes 2b2011 03 14   dev ops meetup - top lessons creating dev-ops super-tribes 2b
2011 03 14 dev ops meetup - top lessons creating dev-ops super-tribes 2b
Gene Kim
 
[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data[2C6]Everyplay_Big_Data
[2C6]Everyplay_Big_Data
NAVER D2
 
Mission: IT operations for a good night's sleep
Mission: IT operations for a good night's sleepMission: IT operations for a good night's sleep
Mission: IT operations for a good night's sleep
wwwally
 
Ad

Recently uploaded (20)

React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptxUiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
UiPath AgentHack - Build the AI agents of tomorrow_Enablement 1.pptx
anabulhac
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdfICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
ICDCC 2025: Securing Agentic AI - Eryk Budi Pratama.pdf
Eryk Budi Pratama
 
Config 2025 presentation recap covering both days
Config 2025 presentation recap covering both daysConfig 2025 presentation recap covering both days
Config 2025 presentation recap covering both days
TrishAntoni1
 
IT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information TechnologyIT484 Cyber Forensics_Information Technology
IT484 Cyber Forensics_Information Technology
SHEHABALYAMANI
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdfKit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Kit-Works Team Study_팀스터디_김한솔_nuqs_20250509.pdf
Wonjun Hwang
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
fennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solutionfennec fox optimization algorithm for optimal solution
fennec fox optimization algorithm for optimal solution
shallal2
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
Ad

Moneytree - Data Aggregation with SWF

  • 1. Ross Sharrott Founder / CTO rsharrott@moneytree.jp @moneytreejp
  • 2. Who Am I? Ross Sharrott Founder & CTO of Moneytree American 10 Years in Japan (Feb 24!) Previously Senior IT Manager Love distributed architectures in the cloud
  • 3. What is Moneytree? Internet banking is fragmented; not simple
  • 4. Email is Simple Gmail Yahoo! Work, etc. For mail we use just ONE app!
  • 5. Radically simplify your relationship with money
  • 6. and make it beautiful.
  • 7. Data Aggregator Our Goals: Download accounts for 1M people every day Deliver new data in < 1 minute 2-3 developers Sleep at night
  • 9. Original Queue Based Process Download Data Process Statements Store Data
  • 10. 1 Account / Many Statements But we had a problem… To determine a CC balance, we need information from multiple statements We needed a post statement process Download Data Process Statements Post Process Statements Store Data + Additional Information
  • 11. What We Needed Download Data Process Statements • Statement 1 • Statement 2 • Many More Post Process
  • 12. Queue Falls Down I know…I’ll use a queue! Queues are linear Where are we in the process? Logged in yet? Processing data? What do you do when a job fails? How do you relate jobs to one workflow?
  • 13. Enter SWF AWS Managed Service Coordinates Workflows / Maintains history Provides multiple queues called Task Lists Handle decision points with Deciders Perform tasks with Activity Workers
  • 14. Real World – A Restaurant
  • 15. SWF World – A Restaurant Decider – does nothing, makes decisions Workflow Starter – takes orders Activity Worker – makes food Activity Worker – distributes food SWF – maintains history, distributes tasks
  • 16. Activity Worker Very similar to any queue worker Handles a specific task Polls a Task List to get new info Reports activity success or failure Puts results in a DB or on S3, etc.
  • 17. Workflow Decider Uses workflow history to make decisions Schedules tasks Handles rescheduling failures & timeouts Reacts to external events (Signals) Reacts to completion events
  • 20. 1 Day of Work Yesterday: 70,000 Workflows Average Completion Time: 1 Minute 575,000 Decision Tasks 146,000 Statements Processed 70,000 Aggregation Tasks 70,000 Post Process Tasks
  • 21. Data Aggregator Our Goals:  1M people every day  Deliver new data in < 1 minute  2-3 developers  Sleep at night
  • 22. How To Sleep At Night Make Workers Scalable Avoid SWF API Throttling Expect Failures Measure Everything
  • 23. Make Workers Scalable Separate concerns into individual workers Scale each worker process individually Automate scaling your workers Make workers idempotent You can always try again
  • 24. Avoid API Throttling Don’t call GetWorkflowHistory Stress test your implementation Limits are by Region, not domain! Get your limits raised We hit limits on day 1 Use exponential retry Have a circuit breaker
  • 25. Expect Failures Cloud = Failures Dyno / EC2 instance restarts Network & Service outages Don’t wait for failed processes Use aggressive timeouts Use heartbeats for long processes
  • 26. Monitor Everything Use Performance Monitoring 10x increase in performance = 10x workers New Relic & Cloudwatch Centralize Logging Cloud resources disappear w/their logs Papertrail / Logentries Log Everything & Setup Alerts If you don’t log it, you can’t fix it
  • 27. Sleep At Night Make Workers Scalable Avoid SWF API Throttling Expect Failures Measure Everything
  • 28. Thank You! Moneytree is hiring! iOS Developers API Developers / AWS Dev Ops Technology Ninjas Ross Sharrott Founder / CTO rsharrott@moneytree.jp @moneytreejp

Editor's Notes

  • #15: Manager – does nothing, makes decisionsWaitress – takes ordersCook – makes foodHall Staff – delivers foodPOS System – maintains history, distributes tasks
  • #18: Long Poll SWF for new decisions. Monitors a single decision task list.
  • #19: Top Level is simpleBut…We can fail to login or need additional informationWe can fail to process a statement
  • #20: Decider to handle the WorkflowData Aggregation Activity WorkerStatement Processing Activity WorkerPost Processing Activity WorkerShare Data via S3
  翻译: