SlideShare a Scribd company logo
Workers and Event Processors that Scale
August 2015 Meetup
WHAT? WHY?
• Image processing
• Video encoding
• Data processing
• Report generation
• Order processing
• on and on and on…..
TRADITIONAL METHOD
1. Create & secure page in monolith
2. Setup cron to call URL on schedule or just off-
load process on demand within application.
3. Watch as resources spike. Worry about when to
run tasks so performance is not impacted.
WORKER PATTERNS
• Small independent unit of work
• Think concurrently
• Optimal worker durations
• Scheduling & Quarterbacking
• Pass Id’s, be thin
• Log everything
• Use message queues
SMALL INDEPENDENT UNIT
OF WORK
Keep workers task specific and as light as possible with one purpose.
MUCH easier to maintain and scale.
THINK CONCURRENTLY
Designed as collections of non-interactive workers that may be
executed in parallel.
Independent and self-sufficient.
Loosely coupled, no shared state.
OPTIMALTASK DURATIONS
Long enough to take care of setup, but short enough to quickly fix and
retry on errors.
Too short does not make sense for setup/tear down. If short, batch
several tasks.
Too long increases opportunity for failure and complexity of retry.
SCHEDULING &
QUARTERBACKING
Create a low number of scheduled jobs and queue up lots of
concurrent jobs.
PASS IDS, BETHIN
Pass the minimum amount of information required for the worker/
processor to run. Then retrieve full data while running.
• Better performance while queuing up tasks
• Get latest data
• Much easier to maintain state on that object
LOG EVERYTHING
Log everything using a cloud logger or other global logger.
USE MESSAGE QUEUES
Plan for concurrency issues at scale.
USE MESSAGE QUEUES
Plan for concurrency issues at scale.
USE MESSAGE QUEUES
Plan for concurrency issues at scale.
SOLUTIONS
We are going to focus on cloud solutions
SOLUTIONS
SOLUTIONS
AWS Lambda IronWorker
Event-BasedTriggers Yes Yes
Timeout 60 sec (rounded 100 ms) 1 hour (rounded 1 sec)
StartupTime Milliseconds Few seconds, variable
Languages Node.js & Java All major
Memory Size 64-1536 MB 320 - 2048 MB
Disk Size 512 MB 10 GB
Max Payload Size 6 MB 64 KB
Clouds AWS AWS, Rackspace,Azure, private
Dedicated Clusters No Yes
On-Premise No Yes
Built-in Scheduling No Yes
Simple function editor Yes No
FreeTier Yes 5 concurrent &10 hours
CODE
ADDITIONAL ITEMS
• CLI has additional options to fine tune the way the worker
should process (max-concurrency, retries, retries-delay, delay, timeout, scheduling,
and multiple environments)
• Configuration variables via json or yml files.
• Multiple invoke methods
• CLI
• Webhooks
• Via IronMQ
• REST API
CODE
ADDITIONAL ITEMS
• Deployment automation
• Multiple invoke methods
• Kinesis or DynamoDB stream
• S3 event
• CloudTrail events
• API Gateway
• REST API
• Gotcha:You might need a remote build server.
QUESTIONS?
https://github.com/GrNodeDev/ExchangeRate

More Related Content

What's hot

Serverless Computing with AWS
Serverless Computing with AWSServerless Computing with AWS
Serverless Computing with AWS
TransferWiseSG
 
Operationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent BernailleOperationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent Bernaille
The Incredible Automation Day
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution
SoftServe
 
Network Automation - Interconnection tools
Network Automation - Interconnection toolsNetwork Automation - Interconnection tools
Network Automation - Interconnection tools
Andy Davidson
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
Kenneth Michael Nielsen
 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
Peter Mounce
 
Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)
Oren Eini
 
Webinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna MitchellWebinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna Mitchell
Codemotion
 
Keynote TIAD Camp Serverless
Keynote TIAD Camp ServerlessKeynote TIAD Camp Serverless
Keynote TIAD Camp Serverless
The Incredible Automation Day
 
Network with node
Network with nodeNetwork with node
Network with node
Philipp Fehre
 
Open escalar presentation
Open escalar presentationOpen escalar presentation
Open escalar presentationMiguel Zuniga
 
Omaha OWASP Dec 2016
Omaha OWASP Dec 2016Omaha OWASP Dec 2016
Omaha OWASP Dec 2016
Andrew Freeborn
 
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceCodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
Bert Jan Schrijver
 
20140708 - Jeremy Edberg: How Netflix Delivers Software
20140708 - Jeremy Edberg: How Netflix Delivers Software20140708 - Jeremy Edberg: How Netflix Delivers Software
20140708 - Jeremy Edberg: How Netflix Delivers Software
DevOps Chicago
 
uNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan VanthienenuNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan Vanthienen
N Core
 
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bert Jan Schrijver
 
Stop using Nagios (so it can die peacefully)
Stop using Nagios (so it can die peacefully)Stop using Nagios (so it can die peacefully)
Stop using Nagios (so it can die peacefully)
Andy Sykes
 
re:Cap RVA - A Recap of AWS re:Invent 2019
re:Cap RVA - A Recap of AWS re:Invent 2019re:Cap RVA - A Recap of AWS re:Invent 2019
re:Cap RVA - A Recap of AWS re:Invent 2019
Ford Prior
 
Aws community day Bay Area 2019 Introduction - ACDBA19
Aws community day Bay Area 2019 Introduction - ACDBA19Aws community day Bay Area 2019 Introduction - ACDBA19
Aws community day Bay Area 2019 Introduction - ACDBA19
John Varghese
 

What's hot (20)

Serverless Computing with AWS
Serverless Computing with AWSServerless Computing with AWS
Serverless Computing with AWS
 
Operationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent BernailleOperationnal challenges behind Serverless architectures by Laurent Bernaille
Operationnal challenges behind Serverless architectures by Laurent Bernaille
 
Containerization: The DevOps Revolution
Containerization: The DevOps Revolution Containerization: The DevOps Revolution
Containerization: The DevOps Revolution
 
Network Automation - Interconnection tools
Network Automation - Interconnection toolsNetwork Automation - Interconnection tools
Network Automation - Interconnection tools
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
 
Campus days Azure HDInsight automation
Campus days Azure HDInsight automationCampus days Azure HDInsight automation
Campus days Azure HDInsight automation
 
JUST EAT: Embracing DevOps
JUST EAT: Embracing DevOpsJUST EAT: Embracing DevOps
JUST EAT: Embracing DevOps
 
Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)
 
Webinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna MitchellWebinar: Queues with RabbitMQ - Lorna Mitchell
Webinar: Queues with RabbitMQ - Lorna Mitchell
 
Keynote TIAD Camp Serverless
Keynote TIAD Camp ServerlessKeynote TIAD Camp Serverless
Keynote TIAD Camp Serverless
 
Network with node
Network with nodeNetwork with node
Network with node
 
Open escalar presentation
Open escalar presentationOpen escalar presentation
Open escalar presentation
 
Omaha OWASP Dec 2016
Omaha OWASP Dec 2016Omaha OWASP Dec 2016
Omaha OWASP Dec 2016
 
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National PoliceCodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
CodeMotion Amsterdam 2018 - Microservices in action at the Dutch National Police
 
20140708 - Jeremy Edberg: How Netflix Delivers Software
20140708 - Jeremy Edberg: How Netflix Delivers Software20140708 - Jeremy Edberg: How Netflix Delivers Software
20140708 - Jeremy Edberg: How Netflix Delivers Software
 
uNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan VanthienenuNite 2017 - Going serverless - Gertjan Vanthienen
uNite 2017 - Going serverless - Gertjan Vanthienen
 
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
Bol.com Tech lab September 2017 - Microservices in action at the Dutch Nation...
 
Stop using Nagios (so it can die peacefully)
Stop using Nagios (so it can die peacefully)Stop using Nagios (so it can die peacefully)
Stop using Nagios (so it can die peacefully)
 
re:Cap RVA - A Recap of AWS re:Invent 2019
re:Cap RVA - A Recap of AWS re:Invent 2019re:Cap RVA - A Recap of AWS re:Invent 2019
re:Cap RVA - A Recap of AWS re:Invent 2019
 
Aws community day Bay Area 2019 Introduction - ACDBA19
Aws community day Bay Area 2019 Introduction - ACDBA19Aws community day Bay Area 2019 Introduction - ACDBA19
Aws community day Bay Area 2019 Introduction - ACDBA19
 

Viewers also liked

Resume (Arman Ahmed)
Resume (Arman Ahmed)Resume (Arman Ahmed)
Resume (Arman Ahmed)Arman Ahmed
 
Fiqh
FiqhFiqh
EPRI_EISMeeting.ppt
EPRI_EISMeeting.pptEPRI_EISMeeting.ppt
EPRI_EISMeeting.pptAbbie Layne
 
Recomendations of the seminar
Recomendations of the seminar Recomendations of the seminar
Recomendations of the seminar
Y P Chawla
 
Waterwonen een leefstijl met toekomst peter trago 2015
Waterwonen een leefstijl met toekomst   peter trago 2015Waterwonen een leefstijl met toekomst   peter trago 2015
Waterwonen een leefstijl met toekomst peter trago 2015Peter Trago
 
Wuxi Philloy Machinery Co.,Ltd--machinery and garden tools
Wuxi Philloy Machinery Co.,Ltd--machinery and garden toolsWuxi Philloy Machinery Co.,Ltd--machinery and garden tools
Wuxi Philloy Machinery Co.,Ltd--machinery and garden tools
Sherry Wang
 
How to use power point
How to use power pointHow to use power point
How to use power point
eVidhya
 
Gaiman feature_Layout 1
Gaiman feature_Layout 1Gaiman feature_Layout 1
Gaiman feature_Layout 1Brian Estadt
 
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINAL
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINALElec Pwr Conf Baltimore 2012 5-17-2012 SJ FINAL
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINALSuresh Jambunathan
 
Il Lavoro dell' Assistente Virtuale.
Il Lavoro dell' Assistente Virtuale.Il Lavoro dell' Assistente Virtuale.
Il Lavoro dell' Assistente Virtuale.
Davide Barrella
 
MY JEWELRY MAKING PROCESS
MY JEWELRY MAKING PROCESSMY JEWELRY MAKING PROCESS
MY JEWELRY MAKING PROCESS
LeighLynn
 
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!Michael Brown
 
Introduction to ideas - A complete insight ( A full semester course)
Introduction to ideas - A complete insight ( A full semester course)Introduction to ideas - A complete insight ( A full semester course)
Introduction to ideas - A complete insight ( A full semester course)
megasheeki
 

Viewers also liked (14)

Resume (Arman Ahmed)
Resume (Arman Ahmed)Resume (Arman Ahmed)
Resume (Arman Ahmed)
 
Fiqh
FiqhFiqh
Fiqh
 
Aa0026
Aa0026Aa0026
Aa0026
 
EPRI_EISMeeting.ppt
EPRI_EISMeeting.pptEPRI_EISMeeting.ppt
EPRI_EISMeeting.ppt
 
Recomendations of the seminar
Recomendations of the seminar Recomendations of the seminar
Recomendations of the seminar
 
Waterwonen een leefstijl met toekomst peter trago 2015
Waterwonen een leefstijl met toekomst   peter trago 2015Waterwonen een leefstijl met toekomst   peter trago 2015
Waterwonen een leefstijl met toekomst peter trago 2015
 
Wuxi Philloy Machinery Co.,Ltd--machinery and garden tools
Wuxi Philloy Machinery Co.,Ltd--machinery and garden toolsWuxi Philloy Machinery Co.,Ltd--machinery and garden tools
Wuxi Philloy Machinery Co.,Ltd--machinery and garden tools
 
How to use power point
How to use power pointHow to use power point
How to use power point
 
Gaiman feature_Layout 1
Gaiman feature_Layout 1Gaiman feature_Layout 1
Gaiman feature_Layout 1
 
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINAL
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINALElec Pwr Conf Baltimore 2012 5-17-2012 SJ FINAL
Elec Pwr Conf Baltimore 2012 5-17-2012 SJ FINAL
 
Il Lavoro dell' Assistente Virtuale.
Il Lavoro dell' Assistente Virtuale.Il Lavoro dell' Assistente Virtuale.
Il Lavoro dell' Assistente Virtuale.
 
MY JEWELRY MAKING PROCESS
MY JEWELRY MAKING PROCESSMY JEWELRY MAKING PROCESS
MY JEWELRY MAKING PROCESS
 
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!
The Bottom Line on Stuff to Stop doing as Professional Real Estate Sellers!
 
Introduction to ideas - A complete insight ( A full semester course)
Introduction to ideas - A complete insight ( A full semester course)Introduction to ideas - A complete insight ( A full semester course)
Introduction to ideas - A complete insight ( A full semester course)
 

Similar to Workers and Event processors that Scale

Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
JoAnna Cheshire
 
Got Problems? Let's Do a Health Check
Got Problems? Let's Do a Health CheckGot Problems? Let's Do a Health Check
Got Problems? Let's Do a Health CheckLuis Guirigay
 
Scality S3 Server: Node js Meetup Presentation
Scality S3 Server: Node js Meetup PresentationScality S3 Server: Node js Meetup Presentation
Scality S3 Server: Node js Meetup Presentation
Scality
 
Workers and Worker Patterns at Scale
Workers and Worker Patterns at ScaleWorkers and Worker Patterns at Scale
Workers and Worker Patterns at ScaleChad Arimura
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
Achievers Tech
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big time
proitconsult
 
Scalr: Setting Up Automated Scaling
Scalr: Setting Up Automated ScalingScalr: Setting Up Automated Scaling
Scalr: Setting Up Automated Scaling
Hakka Labs
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Avere Systems
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
BIOVIA
 
How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge
Quentin Adam
 
Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017
Sharma Podila
 
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon Web Services
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Amazon Web Services
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
Matteo Moretti
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
QAware GmbH
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Josef Adersberger
 
Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark
Anubhav Kale
 
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCMHow to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
Anant Corporation
 
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Amazon Web Services
 

Similar to Workers and Event processors that Scale (20)

Sql server tips from the field
Sql server tips from the fieldSql server tips from the field
Sql server tips from the field
 
Got Problems? Let's Do a Health Check
Got Problems? Let's Do a Health CheckGot Problems? Let's Do a Health Check
Got Problems? Let's Do a Health Check
 
Scality S3 Server: Node js Meetup Presentation
Scality S3 Server: Node js Meetup PresentationScality S3 Server: Node js Meetup Presentation
Scality S3 Server: Node js Meetup Presentation
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Workers and Worker Patterns at Scale
Workers and Worker Patterns at ScaleWorkers and Worker Patterns at Scale
Workers and Worker Patterns at Scale
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Scaling apps for the big time
Scaling apps for the big timeScaling apps for the big time
Scaling apps for the big time
 
Scalr: Setting Up Automated Scaling
Scalr: Setting Up Automated ScalingScalr: Setting Up Automated Scaling
Scalr: Setting Up Automated Scaling
 
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your MindDeliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
Deliver Best-in-Class HPC Cloud Solutions Without Losing Your Mind
 
(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment(ATS6-PLAT07) Managing AEP in an enterprise environment
(ATS6-PLAT07) Managing AEP in an enterprise environment
 
How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge How to scale your app and win the cloud challenge
How to scale your app and win the cloud challenge
 
Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017Podila mesos con-northamerica_sep2017
Podila mesos con-northamerica_sep2017
 
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
Amazon RDS for MySQL – Diagnostics, Security, and Data Migration (DAT302) | A...
 
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
Infrastructure at Scale: Apache Kafka, Twitter Storm & Elastic Search (ARC303...
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Patterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to KubernetesPatterns and Pains of Migrating Legacy Applications to Kubernetes
Patterns and Pains of Migrating Legacy Applications to Kubernetes
 
Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark Solving Office 365 Big Challenges using Cassandra + Spark
Solving Office 365 Big Challenges using Cassandra + Spark
 
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCMHow to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
How to Build a Multi-DC Cassandra Cluster in AWS with OpsCenter LCM
 
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech TalksDeep Dive on MySQL Databases on AWS - AWS Online Tech Talks
Deep Dive on MySQL Databases on AWS - AWS Online Tech Talks
 

Recently uploaded

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
pavan998932
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 

Recently uploaded (20)

AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
What is Augmented Reality Image Tracking
What is Augmented Reality Image TrackingWhat is Augmented Reality Image Tracking
What is Augmented Reality Image Tracking
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 

Workers and Event processors that Scale

  • 1. Workers and Event Processors that Scale August 2015 Meetup
  • 2. WHAT? WHY? • Image processing • Video encoding • Data processing • Report generation • Order processing • on and on and on…..
  • 3. TRADITIONAL METHOD 1. Create & secure page in monolith 2. Setup cron to call URL on schedule or just off- load process on demand within application. 3. Watch as resources spike. Worry about when to run tasks so performance is not impacted.
  • 4. WORKER PATTERNS • Small independent unit of work • Think concurrently • Optimal worker durations • Scheduling & Quarterbacking • Pass Id’s, be thin • Log everything • Use message queues
  • 5. SMALL INDEPENDENT UNIT OF WORK Keep workers task specific and as light as possible with one purpose. MUCH easier to maintain and scale.
  • 6. THINK CONCURRENTLY Designed as collections of non-interactive workers that may be executed in parallel. Independent and self-sufficient. Loosely coupled, no shared state.
  • 7. OPTIMALTASK DURATIONS Long enough to take care of setup, but short enough to quickly fix and retry on errors. Too short does not make sense for setup/tear down. If short, batch several tasks. Too long increases opportunity for failure and complexity of retry.
  • 8. SCHEDULING & QUARTERBACKING Create a low number of scheduled jobs and queue up lots of concurrent jobs.
  • 9. PASS IDS, BETHIN Pass the minimum amount of information required for the worker/ processor to run. Then retrieve full data while running. • Better performance while queuing up tasks • Get latest data • Much easier to maintain state on that object
  • 10. LOG EVERYTHING Log everything using a cloud logger or other global logger.
  • 11. USE MESSAGE QUEUES Plan for concurrency issues at scale.
  • 12. USE MESSAGE QUEUES Plan for concurrency issues at scale.
  • 13. USE MESSAGE QUEUES Plan for concurrency issues at scale.
  • 14. SOLUTIONS We are going to focus on cloud solutions
  • 17.
  • 18. AWS Lambda IronWorker Event-BasedTriggers Yes Yes Timeout 60 sec (rounded 100 ms) 1 hour (rounded 1 sec) StartupTime Milliseconds Few seconds, variable Languages Node.js & Java All major Memory Size 64-1536 MB 320 - 2048 MB Disk Size 512 MB 10 GB Max Payload Size 6 MB 64 KB Clouds AWS AWS, Rackspace,Azure, private Dedicated Clusters No Yes On-Premise No Yes Built-in Scheduling No Yes Simple function editor Yes No FreeTier Yes 5 concurrent &10 hours
  • 19. CODE
  • 20. ADDITIONAL ITEMS • CLI has additional options to fine tune the way the worker should process (max-concurrency, retries, retries-delay, delay, timeout, scheduling, and multiple environments) • Configuration variables via json or yml files. • Multiple invoke methods • CLI • Webhooks • Via IronMQ • REST API
  • 21. CODE
  • 22. ADDITIONAL ITEMS • Deployment automation • Multiple invoke methods • Kinesis or DynamoDB stream • S3 event • CloudTrail events • API Gateway • REST API • Gotcha:You might need a remote build server.