SlideShare a Scribd company logo
1 of 100
Download to read offline
Distribute the
                            workload


                                Helgi Þormar Þorbjörnsson
                           PHP Barcelona, 29th of October 2011

Saturday, 29 October 11
Who am I?



Saturday, 29 October 11
Helgi
                          Co-founded Orchestra.io
                          Developer at PEAR
                          From Iceland
                          @h on Twitter




Saturday, 29 October 11
Why Distribute?

                              Efficiency

                               Budget

                             Perception

Saturday, 29 October 11
Efficiency


                          10 small servers > 1 big



Saturday, 29 October 11
Budget

                          Spend wisely
                          Commodity servers
                          Cloud Computing (EC2)




Saturday, 29 October 11
Perception

                          Defer intensive processes
                          Give instant feedback
                          Users keep on browsing




Saturday, 29 October 11
Saturday, 29 October 11
Ant Colonies



Saturday, 29 October 11
Teamwork


                  When faced with a problem they will
                      solve the problem as one.




Saturday, 29 October 11
Saturday, 29 October 11
Saturday, 29 October 11
Architect for
                          Distribution


Saturday, 29 October 11
Characteristics

                             Decoupling
                             Elasticity
                             High Availability
                             Concurrency



Saturday, 29 October 11
Decoupling



Saturday, 29 October 11
Application


                           DB        API



                          Cache      FE




Saturday, 29 October 11
API
                                  Application

                                                      API
                              DB          API



                             Cache         FE


                          Cache
Saturday, 29 October 11
Elasticity



Saturday, 29 October 11
Cloud Computing



Saturday, 29 October 11
Load Balancing



Saturday, 29 October 11
My Favourite


                             HA Proxy
                              Nginx



Saturday, 29 October 11
Monitoring



Saturday, 29 October 11
When do I need
                          more servers?


Saturday, 29 October 11
Needs to be around
                     from the start!


Saturday, 29 October 11
Keep records



Saturday, 29 October 11
Spot trends



Saturday, 29 October 11
Different types
                          Hardware Performance
                          Software Performance
                          Availability
                          Resourcing




Saturday, 29 October 11
Applications
                            New Relic
                            CloudKick
                            ScoutApp
                            Nagios
                            Cacti
                            Circonus

Saturday, 29 October 11
Automation



Saturday, 29 October 11
Plug into your
                           monitoring


Saturday, 29 October 11
Bringing together Monitoring
                          and Elastic behaviour into one
                                 beautiful whole!




Saturday, 29 October 11
Add some intelligence to add /
                          remove servers as needed based
                              on current information.




Saturday, 29 October 11
Just make sure it
                          doesn’t turn into...


Saturday, 29 October 11
Skynet!!
Saturday, 29 October 11
High Availability



Saturday, 29 October 11
Get a highly available and
                          resilient setup by following a few
                             of those recommendations




Saturday, 29 October 11
Remember, even Google has outages




Saturday, 29 October 11
What to avoid



Saturday, 29 October 11
Local Sessions




Saturday, 29 October 11
Solution

     Store sessions in DB / Memcache




Saturday, 29 October 11
Local Memory




Saturday, 29 October 11
Solution

                          Networked Memcache




Saturday, 29 October 11
Local Files




Saturday, 29 October 11
Local Uploads




Saturday, 29 October 11
Writing to /tmp




Saturday, 29 October 11
Solution

            Store on S3 or a networked FS




Saturday, 29 October 11
Solution

          Serve up static files from CDNs




Saturday, 29 October 11
Servers can vanish at any
                       given time



Saturday, 29 October 11
Internal APIs



Saturday, 29 October 11
Application



                            Internal Storage API



                          GFS       S3         FS


Saturday, 29 October 11
Application



                                  Internal DB API



                          Mongo       MySQL         Cache


Saturday, 29 October 11
SOA



Saturday, 29 October 11
Service Oriented
                            Architecture


Saturday, 29 October 11
Sort of :-)



Saturday, 29 October 11
Eventually
                          Consistent


Saturday, 29 October 11
CAP Therom



Saturday, 29 October 11
Consistency
                          Availability
                          Partition Tolerance


Saturday, 29 October 11
Consistency

                          All nodes see the same data at
                                  the same time




Saturday, 29 October 11
Availability

                          Node failures do not prevent
                          survivors from continuing to
                                     operate




Saturday, 29 October 11
Partition Tolerance

                          The system continues to operate
                           despite arbitrary message loss




Saturday, 29 October 11
Consistency
                          Availability
                          Partition Tolerance


Saturday, 29 October 11
Queue Systems



Saturday, 29 October 11
Good for
                          Image Processing
                          Distributed Logs
                          Data Mining
                          Mass Emails
                          Intensive transformation
                          Search

Saturday, 29 October 11
Common Tools
                            Gearman
                            Hadoop
                            ZeroMQ
                            RabbitMQ
                            And many others!


Saturday, 29 October 11
New York Times

                     4TB of TIFF files
                     Needed to get 11 million PDF versions
                     Used Hadoop and EC2
                     100 machines took 24 hours




Saturday, 29 October 11
Map/Reduce



Saturday, 29 October 11
Map

                          Master gets a problem to solve
                          Breaks into multiple sub-problems
                          Distributed to multiple workers
                          A worker can take the same steps
                          Answer passed back to Master



Saturday, 29 October 11
Reduce

                          Takes in answers from the map workers
                          Combines together to get an answer
                          There can be multiple reducers




Saturday, 29 October 11
process petabytes of data in few
                          hours on commodity server farm




Saturday, 29 October 11
CouchDB



Saturday, 29 October 11
CouchDB

                          Highly Concurrent
                          Schema free, document based
                          RESTful API
                          Map/Reduce Views
                          Easy Replication



Saturday, 29 October 11
Gearman



Saturday, 29 October 11
Your Client Code
                          Gearman Client API
                          (C, PHP, Perl, MySQL UDF, ...)




          Your App        Gearman Job Server               Gearman
                                   gearmand



                          Gearman Worker API
                            (C, PHP, Perl, Python, ...)

                          Your Worker Code



Saturday, 29 October 11
pear.php.net/
                          net_gearman


Saturday, 29 October 11
A Story!



Saturday, 29 October 11
Financial Software



Saturday, 29 October 11
3000+ Clients




Saturday, 29 October 11
Each one has 5 external
                               data sources




Saturday, 29 October 11
Each data source is a
                              web service




Saturday, 29 October 11
Ran every 6 hours every day




Saturday, 29 October 11
Cron



                              Gearman

           Web Services                 Processing

                  1            Job 1
                                                1
                          4
                                         5
                  2
                                                2
                          5             4
                  3
                                                3
Saturday, 29 October 11
But! That wasn’t enough




Saturday, 29 October 11
Job kicked off on login




Saturday, 29 October 11
Supervisord



Saturday, 29 October 11
j.mp/supervisord




Saturday, 29 October 11
Another Story!



Saturday, 29 October 11
CloudSplit



Saturday, 29 October 11
Near Real Time Cloud
                               Analytics




Saturday, 29 October 11
Clients install logging
                               agent locally




Saturday, 29 October 11
syslogd




Saturday, 29 October 11
Public API




Saturday, 29 October 11
Multiple Persistent
                          Gearman Servers




Saturday, 29 October 11
Internal DB API




Saturday, 29 October 11
Load
                    Agent   syslogd                      Balanced


                                                   API
                 Load
               Balanced
                            Worker


         Internal API       Worker

                                             Gearman
                            Worker
                                             Gearman

               CouchDB
                                      Persistent
Saturday, 29 October 11
CouchDB Setup




Saturday, 29 October 11
Write vs Read




Saturday, 29 October 11
Writes

                          Multi Master setup
                          Replicated
                          Deals with writes only




Saturday, 29 October 11
Reads

                          Multi Master setup
                          Replicated from write cluster
                          Slaves handle website requests




Saturday, 29 October 11
Heavy Map/Reduce
                            usage for data




Saturday, 29 October 11
Questions?

                                     @h
                              helgi@orchestra.io




                          Joind.in: http://joind.in/4326
Saturday, 29 October 11

More Related Content

Viewers also liked

Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Helgi Þormar Þorbjörnsson
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend frameworkAlan Seiden
 
In-browser storage and me
In-browser storage and meIn-browser storage and me
In-browser storage and meJason Casden
 
Mms Chorus 08 09
Mms Chorus 08 09Mms Chorus 08 09
Mms Chorus 08 09mmschorus
 
Zend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsZend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsEnrico Zimuel
 

Viewers also liked (9)

Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011Think like an ant, distribute the workload - PhpDay, Italy, 2011
Think like an ant, distribute the workload - PhpDay, Italy, 2011
 
Frontend Caching, PHPTek 2011, Chicago
Frontend Caching, PHPTek 2011, ChicagoFrontend Caching, PHPTek 2011, Chicago
Frontend Caching, PHPTek 2011, Chicago
 
Performance tuning with zend framework
Performance tuning with zend frameworkPerformance tuning with zend framework
Performance tuning with zend framework
 
Frontend caching
Frontend cachingFrontend caching
Frontend caching
 
PEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look aheadPEAR2 & Pyrus - The look ahead
PEAR2 & Pyrus - The look ahead
 
In-browser storage and me
In-browser storage and meIn-browser storage and me
In-browser storage and me
 
Mms Chorus 08 09
Mms Chorus 08 09Mms Chorus 08 09
Mms Chorus 08 09
 
Creating a phar
Creating a pharCreating a phar
Creating a phar
 
Zend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applicationsZend_Cache: how to improve the performance of PHP applications
Zend_Cache: how to improve the performance of PHP applications
 

Similar to Distribute the workload, PHP Barcelona 2011

Acceptance & Integration Testing With Behat (PBC11)
Acceptance & Integration Testing With Behat (PBC11)Acceptance & Integration Testing With Behat (PBC11)
Acceptance & Integration Testing With Behat (PBC11)benwaine
 
Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresJoël Perras
 
Power tips to get your app discovered and not forgotten
Power tips to get your app discovered and not forgottenPower tips to get your app discovered and not forgotten
Power tips to get your app discovered and not forgottenAppsfire
 
How to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushHow to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushAcquia
 
Building an alarm clock with node.js
Building an alarm clock with node.jsBuilding an alarm clock with node.js
Building an alarm clock with node.jsFelix Geisendörfer
 
Connfu Adhearsion
Connfu AdhearsionConnfu Adhearsion
Connfu AdhearsionBlueVia
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...JAX London
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch
 
Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Craig Marvelley
 
BDD For Zend Framework With PHPSpec
BDD For Zend Framework With PHPSpecBDD For Zend Framework With PHPSpec
BDD For Zend Framework With PHPSpecMarcello Duarte
 

Similar to Distribute the workload, PHP Barcelona 2011 (12)

Acceptance & Integration Testing With Behat (PBC11)
Acceptance & Integration Testing With Behat (PBC11)Acceptance & Integration Testing With Behat (PBC11)
Acceptance & Integration Testing With Behat (PBC11)
 
Non-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value StoresNon-Relational Databases & Key/Value Stores
Non-Relational Databases & Key/Value Stores
 
Power tips to get your app discovered and not forgotten
Power tips to get your app discovered and not forgottenPower tips to get your app discovered and not forgotten
Power tips to get your app discovered and not forgotten
 
How to Install, Use, and Customize Drush
How to Install, Use, and Customize DrushHow to Install, Use, and Customize Drush
How to Install, Use, and Customize Drush
 
Building an alarm clock with node.js
Building an alarm clock with node.jsBuilding an alarm clock with node.js
Building an alarm clock with node.js
 
Connfu Adhearsion
Connfu AdhearsionConnfu Adhearsion
Connfu Adhearsion
 
Connfu adhearsion
Connfu adhearsionConnfu adhearsion
Connfu adhearsion
 
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
Java Tech & Tools | Big Blobs: Moving Big Data In and Out of the Cloud | Adri...
 
Performance Strategies
Performance StrategiesPerformance Strategies
Performance Strategies
 
soft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Cachingsoft-shake.ch - Data grids and Data Caching
soft-shake.ch - Data grids and Data Caching
 
Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?Developers! Y U No Open Source Ur Code?
Developers! Y U No Open Source Ur Code?
 
BDD For Zend Framework With PHPSpec
BDD For Zend Framework With PHPSpecBDD For Zend Framework With PHPSpec
BDD For Zend Framework With PHPSpec
 

More from Helgi Þormar Þorbjörnsson

More from Helgi Þormar Þorbjörnsson (7)

Frontend caching - PHP Day, Italy, 2011
Frontend caching - PHP Day, Italy, 2011Frontend caching - PHP Day, Italy, 2011
Frontend caching - PHP Day, Italy, 2011
 
Frontend Caching - The "new" frontier
Frontend Caching - The "new" frontierFrontend Caching - The "new" frontier
Frontend Caching - The "new" frontier
 
Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009Caching for Cash, part 4 DPC 2009
Caching for Cash, part 4 DPC 2009
 
Caching for Cash - Part 4
Caching for Cash - Part 4Caching for Cash - Part 4
Caching for Cash - Part 4
 
Caching for Cash - Part 1
Caching for Cash - Part 1Caching for Cash - Part 1
Caching for Cash - Part 1
 
Coping with Cyber Monday
Coping with Cyber MondayCoping with Cyber Monday
Coping with Cyber Monday
 
Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008Website releases made easy with the PEAR installer - Barcelona 2008
Website releases made easy with the PEAR installer - Barcelona 2008
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Distribute the workload, PHP Barcelona 2011