Date post: | 16-Apr-2017 |
Category: |
Technology |
Upload: | helgi-bormar-borbjoernsson |
View: | 2,526 times |
Download: | 0 times |
Distribute the workload
Helgi Þormar ÞorbjörnssonPhpDay, Italy, Verona, 13th May, 2011
Saturday, 14 May 2011
Who am I?
Saturday, 14 May 2011
Saturday, 14 May 2011
VP of Engineering at Orchestra.io
Saturday, 14 May 2011
VP of Engineering at Orchestra.io
Developer at PEAR
Saturday, 14 May 2011
VP of Engineering at Orchestra.io
Developer at PEAR
From Iceland
Saturday, 14 May 2011
VP of Engineering at Orchestra.io
Developer at PEAR
From Iceland
@h on Twitter
Saturday, 14 May 2011
Why Distribute?
Saturday, 14 May 2011
Why Distribute?
Saturday, 14 May 2011
Why Distribute?
Budget
Saturday, 14 May 2011
Why Distribute?
Budget
Efficiency
Saturday, 14 May 2011
Why Distribute?
Budget
Efficiency
Perception
Saturday, 14 May 2011
Budget
Saturday, 14 May 2011
Budget
Spend wisely
Saturday, 14 May 2011
Budget
Spend wisely
Commodity servers
Saturday, 14 May 2011
Budget
Spend wisely
Commodity servers
Low overhead, high yield
Saturday, 14 May 2011
Budget
Spend wisely
Commodity servers
Low overhead, high yield
Cloud Computing (EC2)
Saturday, 14 May 2011
Efficiency
10 small servers > 1 big
Saturday, 14 May 2011
Venue Security
Saturday, 14 May 2011
1000 people can exit quicker through 10 small doors than 1 big
Saturday, 14 May 2011
1000 people can exit quicker
through 10 small doors than 1 big
Saturday, 14 May 2011
1000 people can exit quicker
through 10 small doors than 1 big
Saturday, 14 May 2011
1000 people can exit quicker through 10 small doors than 1 big
Saturday, 14 May 2011
Saturday, 14 May 2011
Saturday, 14 May 2011
Saturday, 14 May 2011
Saturday, 14 May 2011
Perception
Saturday, 14 May 2011
Perception
Defer intensive processes
Saturday, 14 May 2011
Perception
Defer intensive processes
Give instant feedback
Saturday, 14 May 2011
Perception
Defer intensive processes
Give instant feedback
Users keep on browsing
Saturday, 14 May 2011
Perception
Defer intensive processes
Give instant feedback
Users keep on browsing
Saturday, 14 May 2011
Saturday, 14 May 2011
Chapter from Nature
Saturday, 14 May 2011
Ant Colonies
Saturday, 14 May 2011
Algorithms
Saturday, 14 May 2011
Algorithms
Scheduling
Saturday, 14 May 2011
Algorithms
Scheduling
Vehicle Routing
Saturday, 14 May 2011
Algorithms
Scheduling
Vehicle Routing
Assignment
Saturday, 14 May 2011
Algorithms
Scheduling
Vehicle Routing
Assignment
Sets
Saturday, 14 May 2011
Algorithms
Scheduling
Vehicle Routing
Assignment
Sets
Other
Saturday, 14 May 2011
Algorithms
Scheduling
Vehicle Routing
Assignment
Sets
Other
Saturday, 14 May 2011
How do ants fit?
Saturday, 14 May 2011
How do ants fit?
Strength in numbers
Saturday, 14 May 2011
How do ants fit?
Strength in numbers
Work together
Saturday, 14 May 2011
How do ants fit?
Strength in numbers
Work together
Size benefits them
Saturday, 14 May 2011
Teamwork
When faced with a problem they will solve the problem as one.
Saturday, 14 May 2011
Saturday, 14 May 2011
Saturday, 14 May 2011
What if they were bigger?
Saturday, 14 May 2011
Types of Ants
Saturday, 14 May 2011
Types of Ants
Military
Saturday, 14 May 2011
Types of Ants
Military
Maids
Saturday, 14 May 2011
Types of Ants
Military
Maids
Tunnel diggers
Saturday, 14 May 2011
Types of Ants
Military
Maids
Tunnel diggers
Food gatherers
Saturday, 14 May 2011
How does this map to my application?
Saturday, 14 May 2011
Saturday, 14 May 2011
Colony = Application
Saturday, 14 May 2011
Colony = Application Ants = Components
Saturday, 14 May 2011
Colony = Application Ants = Components
Ants do many different types of work to keep their colony running
Saturday, 14 May 2011
Architect for Distribution
Saturday, 14 May 2011
Characteristics
Saturday, 14 May 2011
Characteristics
Decoupling
Saturday, 14 May 2011
Characteristics
Decoupling
Elasticity
Saturday, 14 May 2011
Characteristics
Decoupling
Elasticity
High Availability
Saturday, 14 May 2011
Characteristics
Decoupling
Elasticity
High Availability
Concurrency
Saturday, 14 May 2011
Decoupling
Saturday, 14 May 2011
Application
DB API
Cache FE
Saturday, 14 May 2011
Application
DB API
Cache FE
Saturday, 14 May 2011
ApplicationDB API
Cache FE
Saturday, 14 May 2011
ApplicationDB API
Cache FE
Cache
Saturday, 14 May 2011
ApplicationDB API
Cache FE
Cache
API
Saturday, 14 May 2011
ApplicationDB API
Cache FE
Cache
API
API
Saturday, 14 May 2011
Elasticity
Saturday, 14 May 2011
Cloud Computing
Saturday, 14 May 2011
Load Balancing
Saturday, 14 May 2011
HA Proxy
Nginx
My Favourite
Saturday, 14 May 2011
Monitoring
Saturday, 14 May 2011
Automation
Saturday, 14 May 2011
High Availability
Saturday, 14 May 2011
Benefits
Saturday, 14 May 2011
Benefits
Easy management
Saturday, 14 May 2011
Benefits
Easy management
Ability to stop / start servers quickly
Saturday, 14 May 2011
Benefits
Easy management
Ability to stop / start servers quickly
Responsibilities are separate
Saturday, 14 May 2011
Benefits
Easy management
Ability to stop / start servers quickly
Responsibilities are separate
Quickly move to a new cluster
Saturday, 14 May 2011
Benefits
Easy management
Ability to stop / start servers quickly
Responsibilities are separate
Quickly move to a new cluster
Reduced risk
Saturday, 14 May 2011
What to avoid
Saturday, 14 May 2011
What to avoidLocal:
Saturday, 14 May 2011
What to avoidLocal:
Sessions
Saturday, 14 May 2011
What to avoidLocal:
Sessions
Files
Saturday, 14 May 2011
What to avoidLocal:
Sessions
Files
Memory
Saturday, 14 May 2011
What to avoidLocal:
Sessions
Files
Memory
Uploads
Saturday, 14 May 2011
What to avoidLocal:
Sessions
Files
Memory
Uploads
Writing to /tmp
Saturday, 14 May 2011
Solutions
Saturday, 14 May 2011
Solutions
Store sessions in DB / Memcache
Saturday, 14 May 2011
Solutions
Store sessions in DB / Memcache
Use S3 to store uploaded files
Saturday, 14 May 2011
Solutions
Store sessions in DB / Memcache
Use S3 to store uploaded files
Use networked Memcache
Saturday, 14 May 2011
Solutions
Store sessions in DB / Memcache
Use S3 to store uploaded files
Use networked Memcache
Serve up static files from a CDN
Saturday, 14 May 2011
Solutions
Store sessions in DB / Memcache
Use S3 to store uploaded files
Use networked Memcache
Serve up static files from a CDN
Or... A multi domain solution
Saturday, 14 May 2011
Internal APIs
Saturday, 14 May 2011
Application
MySQLMongo FS
Internal Storage API
Saturday, 14 May 2011
SOA
Saturday, 14 May 2011
Service Oriented Architecture
Saturday, 14 May 2011
Sort of :-)
Saturday, 14 May 2011
Eventually Consistent
Saturday, 14 May 2011
CAP Therom
Saturday, 14 May 2011
Consistency
Availability
Partition Tolerance
Saturday, 14 May 2011
Queue Systems
Saturday, 14 May 2011
Good for
Saturday, 14 May 2011
Good forImage Processing
Saturday, 14 May 2011
Good forImage Processing
Distributed Logs
Saturday, 14 May 2011
Good forImage Processing
Distributed Logs
Data Mining
Saturday, 14 May 2011
Good forImage Processing
Distributed Logs
Data Mining
Mass Emails
Saturday, 14 May 2011
Good forImage Processing
Distributed Logs
Data Mining
Mass Emails
Intensive transformation
Saturday, 14 May 2011
Good forImage Processing
Distributed Logs
Data Mining
Mass Emails
Intensive transformation
Search
Saturday, 14 May 2011
Common Tools
Saturday, 14 May 2011
Common Tools
Gearman
Saturday, 14 May 2011
Common Tools
Gearman
Hadoop
Saturday, 14 May 2011
Common Tools
Gearman
Hadoop
Zero MQ (0MQ)
Saturday, 14 May 2011
Common Tools
Gearman
Hadoop
Zero MQ (0MQ)
RabbitMQ
Saturday, 14 May 2011
Common Tools
Gearman
Hadoop
Zero MQ (0MQ)
RabbitMQ
And many others!
Saturday, 14 May 2011
Gearman
Saturday, 14 May 2011
Your Client Code
Gearman Client API(C, PHP, Perl, MySQL UDF, ...)
Gearman Job Servergearmand
Gearman Worker API(C, PHP, Perl, Python, ...)
Your Worker Code
Your App Gearman
Saturday, 14 May 2011
Story time
Saturday, 14 May 2011
Story time
Saturday, 14 May 2011
Questions?
Joind.in: http://joind.in/3027
Saturday, 14 May 2011