SlideShare a Scribd company logo
1 of 133
Building big on the web Cal Henderson
OH HAI
 
Much code Much data Much customers
I don’t care about process
Robots!
Tools
Whatever the process, tools can help
Not a silver bullet do things faster
Identify what’s slow
But it’s a waste of time!
10% is reasonable
Develop Deploy Maintain
Development
Editing stuff
 
Source control
 
 
 
svn merge -r 303:302 file:///svn/trunk  svn copy -r 123 file:///svn/trunk/foo.php ./foo.php svn revert awesome.js
Things to do
 
 
 
Bug tracker
 
25 fields
 
 
 
 
 
 
Martin Fowler
Continuous integration
Tests
Tests are good Tests are dull
Regression
Tinderbox
Tinderbox
 
 
Tinderbox + alerts = win
blame = win
Release management
Continuous production
Glass
Continuous release/deploy
 
 
 
Incrementalists Completionists vs
The deploy cycle
develop stage QA release
develop stage QA release
source control staging production dev1 dev2 dev3
dev1 alpha1 alpha2 source control staging production beta1 beta2
Branching vs flags
 
 
 
 
Flags?
Deploying
SCP
SCP + fixups
Million step process
Managing complexity
Single button
Synchronization
Shouting at each other
IM
IRC
Release manager
Deploy log
Deploy tools
 
 
Visible error messages
Automate common tasks
Shrink-wrap ware
Alpha Beta RC RTM GA/GM
Completionists win!
but wait!
Flickr Uploadr
XUL Runner Javascript and stuff
Adobe Air Flash and stuff Proprietary Evil
AUS
Maintenance
 
 
Create dashboards
Nagios
Ganglia
 
 
 
ganglia.sourceforge.net
Custom graphing with RRD
 
 
 
 
Not just RRD
 
 
 
I heart SVG
I heart XML
God tools
GNE
 
A Photo
Photo overview
Cache inspector
User overview
API Usage
API Key Detail
Customer care
At-a-glance summaries
Business metrics
Ghetto-queue monitor
Translation
FAQ Manager
Email footers
Phew!
Take aways
Robots
One button
KTHXBYE
I’m in ur photoz, complying with ur licensez ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://flickr.com/photos/crystalginn/121558483/ http://flickr.com/photos/misocrazy/170302255/ http://flickr.com/photos/drainhook/1122266155/ http://flickr.com/photos/jurvetson/52581560/ http://flickr.com/photos/dws/11303021/ http://flickr.com/photos/jamesdale10/2158945531/ http://flickr.com/photos/richardlowkes/23877075/ http://flickr.com/photos/coda/186599041/ http://flickr.com/photos/ole/829555775/ http://flickr.com/photos/bigpinkcookie/27483119/ http://flickr.com/photos/41188800@N00/759082567/ http://flickr.com/photos/ianalexandermartin/225390382/ http://flickr.com/photos/vidiot/69075298/ http://flickr.com/photos/shoreliner/2210857064/ http://flickr.com/photos/swiv/499851330/ http://flickr.com/photos/big-e-mr-g/128131839/ http://flickr.com/photos/xesc/358521405/ http://flickr.com/photos/mnscouser/551967808/ http://flickr.com/photos/trlc/3795673/ http://flickr.com/photos/raymondyee/118550863/ http://flickr.com/photos/hinderik/223169683/ http://flickr.com/photos/bohdel/1546969429/ http://flickr.com/photos/mybigtrip/6111406/ http://flickr.com/photos/livboo/2235730695/ http://flickr.com/photos/pen3ya/2058646288/ http://flickr.com/photos/zoomar/132638187/ http://flickr.com/photos/gfranco/384846997/ http://flickr.com/photos/madmask/421679860/ http://flickr.com/photos/photomonkey/12746989/ http://flickr.com/photos/alexander_johmann/213426525/ http://flickr.com/photos/difusa/131100622/
find these slides online iamcal.com/talks

More Related Content

What's hot

What's hot (20)

The Power of Refactoring
The Power of RefactoringThe Power of Refactoring
The Power of Refactoring
 
Iron Sprog Tech Talk
Iron Sprog Tech TalkIron Sprog Tech Talk
Iron Sprog Tech Talk
 
Composer - The missing package manager for PHP
Composer - The missing package manager for PHPComposer - The missing package manager for PHP
Composer - The missing package manager for PHP
 
Thank you @miyagawa!
Thank you @miyagawa!Thank you @miyagawa!
Thank you @miyagawa!
 
Hacking Selenium @ JSConf
Hacking Selenium @ JSConfHacking Selenium @ JSConf
Hacking Selenium @ JSConf
 
Joomla! Framework + Issue Management + GitHub = Fun Code
Joomla! Framework + Issue Management + GitHub = Fun CodeJoomla! Framework + Issue Management + GitHub = Fun Code
Joomla! Framework + Issue Management + GitHub = Fun Code
 
徒手打造自己的粉專客服機器人
徒手打造自己的粉專客服機器人 徒手打造自己的粉專客服機器人
徒手打造自己的粉專客服機器人
 
Water Boy, my robotic co-worker
Water Boy, my robotic co-workerWater Boy, my robotic co-worker
Water Boy, my robotic co-worker
 
The future of templating and frameworks
The future of templating and frameworksThe future of templating and frameworks
The future of templating and frameworks
 
Using React for the Mobile Web
Using React for the Mobile WebUsing React for the Mobile Web
Using React for the Mobile Web
 
The Power Of Refactoring (PHPNW)
The Power Of Refactoring (PHPNW)The Power Of Refactoring (PHPNW)
The Power Of Refactoring (PHPNW)
 
Rails is Secure
Rails is SecureRails is Secure
Rails is Secure
 
How to Submit a plugin to WordPress.org Repository
How to Submit a plugin to WordPress.org RepositoryHow to Submit a plugin to WordPress.org Repository
How to Submit a plugin to WordPress.org Repository
 
OSDC 2019 | Terraform best practices with examples and arguments by Anton Bab...
OSDC 2019 | Terraform best practices with examples and arguments by Anton Bab...OSDC 2019 | Terraform best practices with examples and arguments by Anton Bab...
OSDC 2019 | Terraform best practices with examples and arguments by Anton Bab...
 
Debugging Effectively - ConFoo Montreal 2019
Debugging Effectively - ConFoo Montreal 2019Debugging Effectively - ConFoo Montreal 2019
Debugging Effectively - ConFoo Montreal 2019
 
Debugging Your Plone Site
Debugging Your Plone SiteDebugging Your Plone Site
Debugging Your Plone Site
 
Magento 2 performance profiling and best practices
Magento 2 performance profiling and best practicesMagento 2 performance profiling and best practices
Magento 2 performance profiling and best practices
 
Deployments in one click!
Deployments in one click!Deployments in one click!
Deployments in one click!
 
Erlang (GeekTalks)
Erlang (GeekTalks)Erlang (GeekTalks)
Erlang (GeekTalks)
 
WordPress as Data (csv,conf 2016)
WordPress as Data (csv,conf 2016)WordPress as Data (csv,conf 2016)
WordPress as Data (csv,conf 2016)
 

Viewers also liked

Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approaches
adunne
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Cal Henderson
 
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
 
6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture php
cefour
 

Viewers also liked (15)

Scalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and ApproachesScalable Web Architectures: Common Patterns and Approaches
Scalable Web Architectures: Common Patterns and Approaches
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
 
Php internal architecture
Php internal architecturePhp internal architecture
Php internal architecture
 
Scafolding pics
Scafolding picsScafolding pics
Scafolding pics
 
flickr's architecture & php
flickr's architecture & php flickr's architecture & php
flickr's architecture & php
 
Services Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQLServices Oriented Architecture with PHP and MySQL
Services Oriented Architecture with PHP and MySQL
 
Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010Web App Scaffolding - FOWA London 2010
Web App Scaffolding - FOWA London 2010
 
Scalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & ApproachesScalable Web Architectures - Common Patterns & Approaches
Scalable Web Architectures - Common Patterns & Approaches
 
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
 
6 3 tier architecture php
6 3 tier architecture php6 3 tier architecture php
6 3 tier architecture php
 
Anatomy of a Modern PHP Application Architecture
Anatomy of a Modern PHP Application Architecture Anatomy of a Modern PHP Application Architecture
Anatomy of a Modern PHP Application Architecture
 
Taming the resource tiger
Taming the resource tigerTaming the resource tiger
Taming the resource tiger
 
Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
 

Similar to Building Big on the Web

Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
Lorna Mitchell
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
Andy Davies
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
Fred Sauer
 
JavaScript Tools Overview
JavaScript Tools OverviewJavaScript Tools Overview
JavaScript Tools Overview
Scott Povlot
 

Similar to Building Big on the Web (20)

Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018Stating the obvious - 121 Test Automation Day, Dublin, 2018
Stating the obvious - 121 Test Automation Day, Dublin, 2018
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
 
(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi(Live) build and run golang web server on android.avi
(Live) build and run golang web server on android.avi
 
Passing The Joel Test In The PHP World
Passing The Joel Test In The PHP WorldPassing The Joel Test In The PHP World
Passing The Joel Test In The PHP World
 
Html 5 in a big nutshell
Html 5 in a big nutshellHtml 5 in a big nutshell
Html 5 in a big nutshell
 
Http/2 - What's it all about?
Http/2  - What's it all about?Http/2  - What's it all about?
Http/2 - What's it all about?
 
Rundeck's History and Future
Rundeck's History and FutureRundeck's History and Future
Rundeck's History and Future
 
Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)Rock-solid Magento Deployments (and Development)
Rock-solid Magento Deployments (and Development)
 
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
SF JUG - GWT Can Help You Create Amazing Apps - 2009-10-13
 
Dev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and FlickrDev and Ops Collaboration and Awareness at Etsy and Flickr
Dev and Ops Collaboration and Awareness at Etsy and Flickr
 
How Vorlon.js helps you debug your web projects
How Vorlon.js helps you debug your web projectsHow Vorlon.js helps you debug your web projects
How Vorlon.js helps you debug your web projects
 
Hands-on Monitoring and Troubleshooting: Open DJ
Hands-on Monitoring and Troubleshooting: Open DJHands-on Monitoring and Troubleshooting: Open DJ
Hands-on Monitoring and Troubleshooting: Open DJ
 
Automation: PowerShell & DSC
Automation: PowerShell & DSCAutomation: PowerShell & DSC
Automation: PowerShell & DSC
 
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...
DEF CON 27 - DANIEL ROMERO and MARIO RIVAS - why you should fear your mundane...
 
Angular Vienna - Use React tools for better Angular apps
Angular Vienna - Use React tools for better Angular appsAngular Vienna - Use React tools for better Angular apps
Angular Vienna - Use React tools for better Angular apps
 
Semantic logging with etw and slab from DCC 10/16
Semantic logging with etw and slab from DCC 10/16Semantic logging with etw and slab from DCC 10/16
Semantic logging with etw and slab from DCC 10/16
 
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
DotDotPwn Fuzzer - Black Hat 2011 (Arsenal)
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging Techniques
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques
 
JavaScript Tools Overview
JavaScript Tools OverviewJavaScript Tools Overview
JavaScript Tools Overview
 

More from Cal Henderson (6)

Moving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYCMoving Pictures - Web 2.0 Expo NYC
Moving Pictures - Web 2.0 Expo NYC
 
Why I Hate Django - Part 2/2
Why I Hate Django - Part 2/2Why I Hate Django - Part 2/2
Why I Hate Django - Part 2/2
 
Why I Hate Django - Part 1/2
Why I Hate Django - Part 1/2Why I Hate Django - Part 1/2
Why I Hate Django - Part 1/2
 
Scalable PHP
Scalable PHPScalable PHP
Scalable PHP
 
Ten reasons to love Web 2.0
Ten reasons to love Web 2.0Ten reasons to love Web 2.0
Ten reasons to love Web 2.0
 
Web Services Mash-Up
Web Services Mash-UpWeb Services Mash-Up
Web Services Mash-Up
 

Recently uploaded

Recently uploaded (20)

Ukraine vs Belgium Ukraine announces squad for Euro Cup 2024.pdf
Ukraine vs Belgium Ukraine announces squad for Euro Cup 2024.pdfUkraine vs Belgium Ukraine announces squad for Euro Cup 2024.pdf
Ukraine vs Belgium Ukraine announces squad for Euro Cup 2024.pdf
 
Scotland vs Switzerland Euro Cup Germany Prediction Can the Scots qualify fro...
Scotland vs Switzerland Euro Cup Germany Prediction Can the Scots qualify fro...Scotland vs Switzerland Euro Cup Germany Prediction Can the Scots qualify fro...
Scotland vs Switzerland Euro Cup Germany Prediction Can the Scots qualify fro...
 
IPL Betting ID: The best cricket ID provider | The best beting ID
IPL Betting ID: The best cricket ID provider | The best beting IDIPL Betting ID: The best cricket ID provider | The best beting ID
IPL Betting ID: The best cricket ID provider | The best beting ID
 
Austria Vs France Euro Cup predictions and tips.docx
Austria Vs France Euro Cup predictions and tips.docxAustria Vs France Euro Cup predictions and tips.docx
Austria Vs France Euro Cup predictions and tips.docx
 
Albania Vs Spain Euro Cup 2024 Italy vs Albania Prediction, Stats & Team News...
Albania Vs Spain Euro Cup 2024 Italy vs Albania Prediction, Stats & Team News...Albania Vs Spain Euro Cup 2024 Italy vs Albania Prediction, Stats & Team News...
Albania Vs Spain Euro Cup 2024 Italy vs Albania Prediction, Stats & Team News...
 
Slovakia Vs Ukraine Slovakia Euro Cup 2024 squad Who is Francesco Calzona bri...
Slovakia Vs Ukraine Slovakia Euro Cup 2024 squad Who is Francesco Calzona bri...Slovakia Vs Ukraine Slovakia Euro Cup 2024 squad Who is Francesco Calzona bri...
Slovakia Vs Ukraine Slovakia Euro Cup 2024 squad Who is Francesco Calzona bri...
 
Italy Vs Albania Italy squad for Euro Cup 2024 Who should be in the starting ...
Italy Vs Albania Italy squad for Euro Cup 2024 Who should be in the starting ...Italy Vs Albania Italy squad for Euro Cup 2024 Who should be in the starting ...
Italy Vs Albania Italy squad for Euro Cup 2024 Who should be in the starting ...
 
Croatia VS Italy-Italy’s Eight Players Fight For Three Spots Left In Euro Cup...
Croatia VS Italy-Italy’s Eight Players Fight For Three Spots Left In Euro Cup...Croatia VS Italy-Italy’s Eight Players Fight For Three Spots Left In Euro Cup...
Croatia VS Italy-Italy’s Eight Players Fight For Three Spots Left In Euro Cup...
 
Spain's Euro 2024 Hopes Dampened by Injuries.docx
Spain's Euro 2024 Hopes Dampened by Injuries.docxSpain's Euro 2024 Hopes Dampened by Injuries.docx
Spain's Euro 2024 Hopes Dampened by Injuries.docx
 
Spain Vs Italy When is the Italy Euro 2024 squad announced.docx
Spain Vs Italy When is the Italy Euro 2024 squad announced.docxSpain Vs Italy When is the Italy Euro 2024 squad announced.docx
Spain Vs Italy When is the Italy Euro 2024 squad announced.docx
 
Poland Vs Netherlands Netherlands announce squad for UEFA Euro 2024.docx
Poland Vs Netherlands Netherlands announce squad for UEFA Euro 2024.docxPoland Vs Netherlands Netherlands announce squad for UEFA Euro 2024.docx
Poland Vs Netherlands Netherlands announce squad for UEFA Euro 2024.docx
 
Czechia vs Turkiye The impact of 2008 still felt to this day as Turkiye eyes ...
Czechia vs Turkiye The impact of 2008 still felt to this day as Turkiye eyes ...Czechia vs Turkiye The impact of 2008 still felt to this day as Turkiye eyes ...
Czechia vs Turkiye The impact of 2008 still felt to this day as Turkiye eyes ...
 
Romania vs Ukraine Prediction, Stats & Team News an early look at the Group E...
Romania vs Ukraine Prediction, Stats & Team News an early look at the Group E...Romania vs Ukraine Prediction, Stats & Team News an early look at the Group E...
Romania vs Ukraine Prediction, Stats & Team News an early look at the Group E...
 
Transform Practice into Success: Desmond Gumbs' Proven Strategies
Transform Practice into Success: Desmond Gumbs' Proven StrategiesTransform Practice into Success: Desmond Gumbs' Proven Strategies
Transform Practice into Success: Desmond Gumbs' Proven Strategies
 
Spain vs Croatia Croatia Odds to Win Euro 2024 Prediction, Outright Odds, Pat...
Spain vs Croatia Croatia Odds to Win Euro 2024 Prediction, Outright Odds, Pat...Spain vs Croatia Croatia Odds to Win Euro 2024 Prediction, Outright Odds, Pat...
Spain vs Croatia Croatia Odds to Win Euro 2024 Prediction, Outright Odds, Pat...
 
Czechia vs Turkiye Turkiye Star Cakir First-Choice as Goal Keeper for Euro Cu...
Czechia vs Turkiye Turkiye Star Cakir First-Choice as Goal Keeper for Euro Cu...Czechia vs Turkiye Turkiye Star Cakir First-Choice as Goal Keeper for Euro Cu...
Czechia vs Turkiye Turkiye Star Cakir First-Choice as Goal Keeper for Euro Cu...
 
Optimum Performance Training Model Overview
Optimum Performance Training Model OverviewOptimum Performance Training Model Overview
Optimum Performance Training Model Overview
 
Turkiye vs Portugal Euro 2024 Martinez Portugal’s squad without major surpris...
Turkiye vs Portugal Euro 2024 Martinez Portugal’s squad without major surpris...Turkiye vs Portugal Euro 2024 Martinez Portugal’s squad without major surpris...
Turkiye vs Portugal Euro 2024 Martinez Portugal’s squad without major surpris...
 
Croatia Vs Albania Spain vs Croatia Prediction, Croatia odds-on favorites for...
Croatia Vs Albania Spain vs Croatia Prediction, Croatia odds-on favorites for...Croatia Vs Albania Spain vs Croatia Prediction, Croatia odds-on favorites for...
Croatia Vs Albania Spain vs Croatia Prediction, Croatia odds-on favorites for...
 
Winbuzz App: IPL 2024, be safe with Winbuzz App Login ID
Winbuzz App:  IPL 2024, be safe with Winbuzz App Login IDWinbuzz App:  IPL 2024, be safe with Winbuzz App Login ID
Winbuzz App: IPL 2024, be safe with Winbuzz App Login ID
 

Building Big on the Web