133
Building big on the web Cal Henderson

Building Big on the Web

  • View
    11

  • Download
    2

Tags:

Embed Size (px)

DESCRIPTION

FOWA Miami 2008

Citation preview

Page 1: Building Big on the Web

Building bigon the web

Cal Henderson

Page 2: Building Big on the Web

FOWA Miami 2

OH HAI

Page 3: Building Big on the Web

FOWA Miami 3

Page 4: Building Big on the Web

FOWA Miami 4

Much code

Much data

Much customers

Page 5: Building Big on the Web

FOWA Miami 5

I don’t care about

process

Page 6: Building Big on the Web

FOWA Miami 6

Robots!

Page 7: Building Big on the Web

FOWA Miami 7

Tools

Page 8: Building Big on the Web

FOWA Miami 8

Whatever the process,

tools can help

Page 9: Building Big on the Web

FOWA Miami 9

Not a silver bullet

do things faster

Page 10: Building Big on the Web

FOWA Miami 10

Identify what’s slow

Page 11: Building Big on the Web

FOWA Miami 11

But it’s a waste

of time!

Page 12: Building Big on the Web

FOWA Miami 12

10% is reasonable

Page 13: Building Big on the Web

FOWA Miami 13

Develop

Deploy

Maintain

Page 14: Building Big on the Web

FOWA Miami 14

Development

Page 15: Building Big on the Web

FOWA Miami 15

Editing stuff

Page 16: Building Big on the Web

FOWA Miami 16

Page 17: Building Big on the Web

FOWA Miami 17

Source control

Page 18: Building Big on the Web

FOWA Miami 18

Page 19: Building Big on the Web

FOWA Miami 19

Page 20: Building Big on the Web

FOWA Miami 20

Page 21: Building Big on the Web

FOWA Miami 21

svn merge -r 303:302 file:///svn/trunk

svn copy -r 123 file:///svn/trunk/foo.php ./foo.php

svn revert awesome.js

Page 22: Building Big on the Web

FOWA Miami 22

Things to do

Page 23: Building Big on the Web

FOWA Miami 23

Page 24: Building Big on the Web

FOWA Miami 24

Page 25: Building Big on the Web

FOWA Miami 25

Page 26: Building Big on the Web

FOWA Miami 26

Bug tracker

Page 27: Building Big on the Web

FOWA Miami 27

Page 28: Building Big on the Web

FOWA Miami 28

25 fields

Page 29: Building Big on the Web

FOWA Miami 29

Page 30: Building Big on the Web

FOWA Miami 30

Page 31: Building Big on the Web

FOWA Miami 31

Page 32: Building Big on the Web

FOWA Miami 32

Page 33: Building Big on the Web

FOWA Miami 33

Page 34: Building Big on the Web

FOWA Miami 34

Page 35: Building Big on the Web

FOWA Miami 35

Martin Fowler

Page 36: Building Big on the Web

FOWA Miami 36

Continuous integration

Page 37: Building Big on the Web

FOWA Miami 37

Tests

Page 38: Building Big on the Web

FOWA Miami 38

Tests are good

Tests are dull

Page 39: Building Big on the Web

FOWA Miami 39

Regression

Page 40: Building Big on the Web

FOWA Miami 40

Tinderbox

Page 41: Building Big on the Web

FOWA Miami 41

Tinderbox

Page 42: Building Big on the Web

FOWA Miami 42

Page 43: Building Big on the Web

FOWA Miami 43

Page 44: Building Big on the Web

FOWA Miami 44

Tinderbox + alerts

= win

Page 45: Building Big on the Web

FOWA Miami 45

blame = win

Page 46: Building Big on the Web

FOWA Miami 46

Release management

Page 47: Building Big on the Web

FOWA Miami 47

Continuous production

Page 48: Building Big on the Web

FOWA Miami 48

Glass

Page 49: Building Big on the Web

FOWA Miami 49

Continuous

release/deploy

Page 50: Building Big on the Web

FOWA Miami 50

Page 51: Building Big on the Web

FOWA Miami 51

Page 52: Building Big on the Web

FOWA Miami 52

Page 53: Building Big on the Web

FOWA Miami 53

Incrementalists

Completionists

vs

Page 54: Building Big on the Web

FOWA Miami 54

The deploy cycle

Page 55: Building Big on the Web

FOWA Miami 55

develop

stage

QA

release

Page 56: Building Big on the Web

FOWA Miami 56

develop

stage

QA

release

Page 57: Building Big on the Web

FOWA Miami 57

dev1 dev2 dev3

source control

staging

production

Page 58: Building Big on the Web

FOWA Miami 58

dev1 alpha1 alpha2

source control

staging

production beta1 beta2

Page 59: Building Big on the Web

FOWA Miami 59

Branching vs flags

Page 60: Building Big on the Web

FOWA Miami 60

Page 61: Building Big on the Web

FOWA Miami 61

Page 62: Building Big on the Web

FOWA Miami 62

Page 63: Building Big on the Web

FOWA Miami 63

Page 64: Building Big on the Web

FOWA Miami 64

Flags?

Page 65: Building Big on the Web

FOWA Miami 65

Deploying

Page 66: Building Big on the Web

FOWA Miami 66

SCP

Page 67: Building Big on the Web

FOWA Miami 67

SCP + fixups

Page 68: Building Big on the Web

FOWA Miami 68

Million step process

Page 69: Building Big on the Web

FOWA Miami 69

Managing complexity

Page 70: Building Big on the Web

FOWA Miami 70

Single button

Page 71: Building Big on the Web

FOWA Miami 71

Synchronization

Page 72: Building Big on the Web

FOWA Miami 72

Shouting at each other

Page 73: Building Big on the Web

FOWA Miami 73

IM

Page 74: Building Big on the Web

FOWA Miami 74

IRC

Page 75: Building Big on the Web

FOWA Miami 75

Release manager

Page 76: Building Big on the Web

FOWA Miami 76

Deploy log

Page 77: Building Big on the Web

FOWA Miami 77

Deploy tools

Page 78: Building Big on the Web

FOWA Miami 78

Page 79: Building Big on the Web

FOWA Miami 79

Page 80: Building Big on the Web

FOWA Miami 80

Visible error messages

Page 81: Building Big on the Web

FOWA Miami 81

Automate

common tasks

Page 82: Building Big on the Web

FOWA Miami 82

Shrink-wrap ware

Page 83: Building Big on the Web

FOWA Miami 83

Alpha Beta RC

RTM

GA/GM

Page 84: Building Big on the Web

FOWA Miami 84

Completionists win!

Page 85: Building Big on the Web

FOWA Miami 85

but wait!

Page 86: Building Big on the Web

FOWA Miami 86

Flickr Uploadr

Page 87: Building Big on the Web

FOWA Miami 87

XUL Runner

Javascript and stuff

Page 88: Building Big on the Web

FOWA Miami 88

Adobe Air

Flash and stuff

Proprietary Evil

Page 89: Building Big on the Web

FOWA Miami 89

AUS

Page 90: Building Big on the Web

FOWA Miami 90

Maintenance

Page 91: Building Big on the Web

FOWA Miami 91

Page 92: Building Big on the Web

FOWA Miami 92

Page 93: Building Big on the Web

FOWA Miami 93

Create dashboards

Page 94: Building Big on the Web

FOWA Miami 94

Nagios

Page 95: Building Big on the Web

FOWA Miami 95

Ganglia

Page 96: Building Big on the Web

FOWA Miami 96

Page 97: Building Big on the Web

FOWA Miami 97

Page 98: Building Big on the Web

FOWA Miami 98

Page 99: Building Big on the Web

FOWA Miami 99

ganglia.sourceforge.net

Page 100: Building Big on the Web

FOWA Miami 100

Custom graphing

with RRD

Page 101: Building Big on the Web

FOWA Miami 101

Page 102: Building Big on the Web

FOWA Miami 102

Page 103: Building Big on the Web

FOWA Miami 103

Page 104: Building Big on the Web

FOWA Miami 104

Page 105: Building Big on the Web

FOWA Miami 105

Not just RRD

Page 106: Building Big on the Web

FOWA Miami 106

Page 107: Building Big on the Web

FOWA Miami 107

Page 108: Building Big on the Web

FOWA Miami 108

Page 109: Building Big on the Web

FOWA Miami 109

I heart SVG

Page 110: Building Big on the Web

FOWA Miami 110

I heart XML

Page 111: Building Big on the Web

FOWA Miami 111

God tools

Page 112: Building Big on the Web

FOWA Miami 112

GNE

Page 113: Building Big on the Web

FOWA Miami 113

Page 114: Building Big on the Web

FOWA Miami 114

A Photo

Page 115: Building Big on the Web

FOWA Miami 115

Photo overview

Page 116: Building Big on the Web

FOWA Miami 116

Cache inspector

Page 117: Building Big on the Web

FOWA Miami 117

User overview

Page 118: Building Big on the Web

FOWA Miami 118

API Usage

Page 119: Building Big on the Web

FOWA Miami 119

API Key Detail

Page 120: Building Big on the Web

FOWA Miami 120

Customer care

Page 121: Building Big on the Web

FOWA Miami 121

At-a-glance

summaries

Page 122: Building Big on the Web

FOWA Miami 122

Business metrics

Page 123: Building Big on the Web

FOWA Miami 123

Ghetto-queue monitor

Page 124: Building Big on the Web

FOWA Miami 124

Translation

Page 125: Building Big on the Web

FOWA Miami 125

FAQ Manager

Page 126: Building Big on the Web

FOWA Miami 126

Email footers

Page 127: Building Big on the Web

FOWA Miami 127

Phew!

Page 128: Building Big on the Web

FOWA Miami 128

Take aways

Page 129: Building Big on the Web

FOWA Miami 129

Robots

Page 130: Building Big on the Web

FOWA Miami 130

One button

Page 131: Building Big on the Web

FOWA Miami 131

KTHXBYE

Page 132: Building Big on the Web

FOWA Miami 132

I’m in ur photoz, complying with ur licensez

http://flickr.com/photos/eggplant/9865764/http://flickr.com/photos/isolano/423026153/http://flickr.com/photos/docman/36125185/http://flickr.com/photos/tashland/259178493/http://flickr.com/photos/grendelkhan/118876699/http://flickr.com/photos/pulpolux/11187139/http://flickr.com/photos/dancoulter/21042744/http://flickr.com/photos/jasoncross/638462445/http://flickr.com/photos/stinkypeter/91821887/http://flickr.com/photos/eoino/406383/http://flickr.com/photos/thecraftons/156008588/http://flickr.com/photos/judeanpeoplesfront/1752217791/http://flickr.com/photos/elsie/8229790/http://flickr.com/photos/thejokker/279638176/http://flickr.com/photos/hamed/155343130/http://flickr.com/photos/fienna/200842643/http://flickr.com/photos/io2/6452772/http://flickr.com/photos/santos/1704875109/http://flickr.com/photos/laffy4k/404298099/http://flickr.com/photos/hurleygurley/4338767/http://flickr.com/photos/ableman/323253768/http://flickr.com/photos/usonian/106005435/http://flickr.com/photos/cogdog/19490596/http://flickr.com/photos/thomashawk/340185708/http://flickr.com/photos/gaetanlee/298160415/http://flickr.com/photos/pragdave/173640462/http://flickr.com/photos/massenpunkt/47429687/http://flickr.com/photos/wader/11827393/http://flickr.com/photos/mickyates/289301449/http://flickr.com/photos/carowallis1/252562895/http://flickr.com/photos/foreversouls/4803469/

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/

Page 133: Building Big on the Web

find these slides online

iamcal.com/talks