SlideShare une entreprise Scribd logo
1  sur  72
Scaling the LAMP Stack Future of Web Apps October 5, 2007
Introductions
Specific Problems, Challenges and Issues
About this workshop ,[object Object],[object Object],[object Object],[object Object]
About web apps and scaling ,[object Object]
Things to think about ,[object Object],[object Object],[object Object],[object Object]
Elements of Scaling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tools and Components ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Contemplating Scaling ,[object Object],[object Object],[object Object],[object Object]
Web apps do lots of things ,[object Object]
What does your app do? ,[object Object]
Common things that web apps do ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Update the list of things your app does ,[object Object],[object Object]
Easy vs. Difficult Scaling ,[object Object],[object Object],[object Object]
Things that break when you scale ,[object Object],[object Object]
Things that don’t improve when you add more servers ,[object Object],[object Object],[object Object]
Scaling Each Element ,[object Object]
Managing Connections/Protocols ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Key Apache Configuration Issues ,[object Object],[object Object],[object Object],[object Object]
Delivering Static Content ,[object Object],[object Object],[object Object],[object Object]
General Discussion: Multi-server, state and sessions ,[object Object],[object Object],[object Object],[object Object],[object Object]
What happens with state ,[object Object],[object Object],[object Object]
Requirements for managing state ,[object Object],[object Object],[object Object]
Ways of scaling state ,[object Object],[object Object],[object Object],[object Object]
About Load Balancers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why sticky sessions are not usually good in practice ,[object Object],[object Object]
Managing Sessions
Where session data can be stored ,[object Object],[object Object],[object Object],[object Object],[object Object]
PHP session management ,[object Object],[object Object]
Designing a session back-end ,[object Object],[object Object],[object Object],[object Object],[object Object]
Managing small user data ,[object Object],[object Object]
Managing large user data ,[object Object],[object Object],[object Object]
About NFS ,[object Object],[object Object],[object Object],[object Object]
User data and locking ,[object Object],[object Object],[object Object]
Disk Storage Hardware ,[object Object],[object Object],[object Object]
Rendering dynamic pages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Processing media ,[object Object],[object Object],[object Object],[object Object]
Hardware ,[object Object],[object Object],[object Object]
Hardware-driven behaviors ,[object Object],[object Object],[object Object]
Specific hardware issues ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Hardware decisions ,[object Object],[object Object],[object Object],[object Object]
Techniques ,[object Object],[object Object],[object Object],[object Object],[object Object]
Caching ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Apache Caching ,[object Object],[object Object],[object Object],[object Object]
memcached ,[object Object],[object Object],[object Object],[object Object]
memcached URLs ,[object Object],[object Object],[object Object]
Partitioning ,[object Object],[object Object],[object Object],[object Object]
File Storage Partitioning ,[object Object],[object Object]
Database partitioning ,[object Object],[object Object]
Replication ,[object Object],[object Object],[object Object]
Types of Replication ,[object Object],[object Object],[object Object]
Database Replication ,[object Object],[object Object],[object Object]
File System Replication ,[object Object],[object Object]
Data Management Middleware ,[object Object],[object Object],[object Object],[object Object]
Queuing ,[object Object],[object Object],[object Object]
Dealing with lots of hardware (operations) ,[object Object],[object Object]
Imaging/Provisioning ,[object Object],[object Object],[object Object],[object Object]
Deployment Systems ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Monitoring systems ,[object Object],[object Object],[object Object],[object Object],[object Object]
Coping with hardware failure ,[object Object],[object Object],[object Object],[object Object]
Change management ,[object Object],[object Object],[object Object],[object Object],[object Object]
Efficiency ,[object Object],[object Object]
Using the database efficiently ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The messy real world
Security and abuse ,[object Object],[object Object],[object Object],[object Object]
Corner Cases ,[object Object],[object Object],[object Object],[object Object]
Performance and tuning ,[object Object],[object Object],[object Object]
Miscellaneous Warnings
Files and directories ,[object Object],[object Object],[object Object]
AJAX ,[object Object],[object Object],[object Object]
Other topics ,[object Object],[object Object]
Scaling the LAMP Stack Future of Web Apps October, 2007 Daniel Lieberman   [email_address]

Contenu connexe

Tendances (6)

SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back endSPSMadrid Get sql spinning with SharePoint. Best practice for the back end
SPSMadrid Get sql spinning with SharePoint. Best practice for the back end
 
Database project edi
Database project ediDatabase project edi
Database project edi
 
Document Archieving System (DAS) by In2sol Riyadh
Document Archieving System (DAS) by In2sol RiyadhDocument Archieving System (DAS) by In2sol Riyadh
Document Archieving System (DAS) by In2sol Riyadh
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 
Document Archiving & Sharing System
Document Archiving & Sharing SystemDocument Archiving & Sharing System
Document Archiving & Sharing System
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 

En vedette

En vedette (10)

Lamp Stack Optimization
Lamp Stack OptimizationLamp Stack Optimization
Lamp Stack Optimization
 
Scalable Web Architecture
Scalable Web ArchitectureScalable Web Architecture
Scalable Web Architecture
 
Tech4Africa - Tuning LAMP, and beyond LAMP
Tech4Africa - Tuning LAMP, and beyond LAMPTech4Africa - Tuning LAMP, and beyond LAMP
Tech4Africa - Tuning LAMP, and beyond LAMP
 
High Availability for the LAMP Stack
High Availability for the LAMP StackHigh Availability for the LAMP Stack
High Availability for the LAMP Stack
 
Tool Up Your LAMP Stack
Tool Up Your LAMP StackTool Up Your LAMP Stack
Tool Up Your LAMP Stack
 
Brand Archetypes
Brand ArchetypesBrand Archetypes
Brand Archetypes
 
Account Strategy Template
Account Strategy TemplateAccount Strategy Template
Account Strategy Template
 
The Power Of Archetypes In Brand Creation
The Power Of Archetypes In Brand CreationThe Power Of Archetypes In Brand Creation
The Power Of Archetypes In Brand Creation
 
Websites on AWS
Websites on AWSWebsites on AWS
Websites on AWS
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 

Similaire à FOWA Scaling The Lamp Stack Workshop

Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
Ashok Modi
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Tim Vaillancourt
 
Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)
Ontico
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
guest18a0f1
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
guest18a0f1
 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
Cal Henderson
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
webuploader
 
Scalable Apache for Beginners
Scalable Apache for BeginnersScalable Apache for Beginners
Scalable Apache for Beginners
webhostingguy
 

Similaire à FOWA Scaling The Lamp Stack Workshop (20)

Overview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational DatabasesOverview of MongoDB and Other Non-Relational Databases
Overview of MongoDB and Other Non-Relational Databases
 
Drupal Backend Performance and Scalability
Drupal Backend Performance and ScalabilityDrupal Backend Performance and Scalability
Drupal Backend Performance and Scalability
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
 
Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)Web scale MySQL at Facebook (Domas Mituzas)
Web scale MySQL at Facebook (Domas Mituzas)
 
Dipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAsDipping Your Toes: Azure Data Lake for DBAs
Dipping Your Toes: Azure Data Lake for DBAs
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Beyond the File System: Designing Large-Scale File Storage and Serving
 	Beyond the File System: Designing Large-Scale File Storage and Serving 	Beyond the File System: Designing Large-Scale File Storage and Serving
Beyond the File System: Designing Large-Scale File Storage and Serving
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Beyond the File System - Designing Large Scale File Storage and Serving
Beyond the File System - Designing Large Scale File Storage and ServingBeyond the File System - Designing Large Scale File Storage and Serving
Beyond the File System - Designing Large Scale File Storage and Serving
 
Filesystems
FilesystemsFilesystems
Filesystems
 
Web Performance & Scalability Tools
Web Performance & Scalability ToolsWeb Performance & Scalability Tools
Web Performance & Scalability Tools
 
Scalable Web Arch
Scalable Web ArchScalable Web Arch
Scalable Web Arch
 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
 
scale_perf_best_practices
scale_perf_best_practicesscale_perf_best_practices
scale_perf_best_practices
 
Scalable Apache for Beginners
Scalable Apache for BeginnersScalable Apache for Beginners
Scalable Apache for Beginners
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

FOWA Scaling The Lamp Stack Workshop