running an api 24/365

58

Upload: nordic-apis

Post on 25-Jun-2015

1.058 views

Category:

Technology


1 download

DESCRIPTION

How to keep a popular API up an running 24 hours a day, 365 days a year. Presentation by Federico Hernandez, Västtrafik from Nordic APIs Copenhagen in May 2013.

TRANSCRIPT

Page 1: Running an API 24/365
Page 2: Running an API 24/365

Federico Hernandez

Page 3: Running an API 24/365
Page 4: Running an API 24/365

24/7

Page 5: Running an API 24/365

24/7/365

Page 6: Running an API 24/365

24/7/365

Page 7: Running an API 24/365

24/365

Page 8: Running an API 24/365

24/365 !

(24/7/52)

Page 9: Running an API 24/365
Page 10: Running an API 24/365
Page 11: Running an API 24/365
Page 12: Running an API 24/365
Page 13: Running an API 24/365

WEB ??? 000 APP ??? 000 API ??? 000

Page 14: Running an API 24/365
Page 15: Running an API 24/365
Page 16: Running an API 24/365

Write program that do one thing and

do it wellUnix philosophy Doug McIlroy

Page 17: Running an API 24/365
Page 18: Running an API 24/365
Page 19: Running an API 24/365
Page 20: Running an API 24/365
Page 21: Running an API 24/365
Page 22: Running an API 24/365
Page 23: Running an API 24/365
Page 24: Running an API 24/365
Page 25: Running an API 24/365
Page 26: Running an API 24/365
Page 27: Running an API 24/365
Page 28: Running an API 24/365
Page 29: Running an API 24/365
Page 30: Running an API 24/365
Page 31: Running an API 24/365
Page 32: Running an API 24/365
Page 33: Running an API 24/365
Page 34: Running an API 24/365
Page 35: Running an API 24/365
Page 36: Running an API 24/365
Page 37: Running an API 24/365
Page 38: Running an API 24/365
Page 39: Running an API 24/365
Page 40: Running an API 24/365
Page 41: Running an API 24/365

$ curl localhost:5432/cmi/status { "nodeTime": "2013-05-20T13:41:52", "activeSubscriptions": 892, "totalNumberOfSubscribers": 1019, "totalNumberOfSubscriptions": 1801, "sentMessagesPerMinute": 0, "tsConnections": [ "HafasServerClient [be1/123.456.789.123:40301], managed connections: 232", "HafasServerClient [be1/123.456.789.123:40302], managed connections: 251", "HafasServerClient [be2/123.456.789.125:40301], managed connections: 234", "HafasServerClient [be2/123.456.789.125:40302], managed connections: 212" ] }

Page 42: Running an API 24/365
Page 43: Running an API 24/365
Page 44: Running an API 24/365
Page 45: Running an API 24/365

Statistik för Mon 2014-05-05 ============================ !Antal sökningar --------------- Searches:  1203498 !!Klienter -------- WEB:      100323  (8.336%) IPHONE:   611811  (50.836%) IPAD:     1519    (0.126%) ANDROID:  235191  (19.542%) REST:     251549  (20.901%) [internal usage] (external ca. 800000) XHTML:    3105    (0.258%) !!Typ av förfrågningar -------------------- XMLCON (till/från eller till och från address):   525031   (43.625%) XMLSTATIONBOARD (nästa tur):                      289010   (24.014%) XMLCON-BASIC (till och från hållplats):           200035   (16.621%) XMLLOCATING (sökning med gps från mobilen):       163346   (13.573%) XMLJOURNEY:                                       13547    (1.126%) XMLTARIFF (prisförfrågning):                      6091     (0.506%) XMLGIS:                                           5778     (0.480%) XMLSIMPLEHANDLESTRING (SMS):                      660      (0.055%)

Page 46: Running an API 24/365

Svarstider för beräkningar -------------------------- 0.00s:  937282   (77.880%) 0.01s:  52655    (4.375%) 0.02s:  36363    (3.021%) 0.03s:  12238    (1.017%) 0.04s:  19583    (1.627%) 0.05s:  12027    (0.999%) 0.06s:  9823     (0.816%) 0.07s:  8682     (0.721%) 0.08s:  8591     (0.714%) 0.09s:  9058     (0.753%) --- 0.0s:   1106302  (91.924%) 0.1s:   32175    (2.673%) 0.2s:   32400    (2.692%) 0.3s:   13499    (1.122%) 0.4s:   6921     (0.575%) 0.5s:   3412     (0.284%) 0.6s:   2327     (0.193%) 0.7s:   1688     (0.140%) 0.8s:   1047     (0.087%) 0.9s:   706      (0.059%) --- 0s:     1200477  (99.749%) 1s:     2481     (0.206%) 2s:     291      (0.024%) 3s:     38       (0.003%) 4s:     15       (0.001%) 5s:     166      (0.014%) 6s:     5        (0.000%) 7s:     1        (0.000%)

Page 47: Running an API 24/365
Page 48: Running an API 24/365
Page 49: Running an API 24/365
Page 50: Running an API 24/365
Page 51: Running an API 24/365
Page 52: Running an API 24/365
Page 53: Running an API 24/365

Eric Raymond’s 17 Unix Rules

...!Rule of Modularity!

Rule of Composition!Rule of Separation!Rule of Simplicity!Rule of Parsimony!

Rule of Robustness!...

Page 54: Running an API 24/365
Page 55: Running an API 24/365
Page 56: Running an API 24/365
Page 57: Running an API 24/365
Page 58: Running an API 24/365

Federico Hernandez !

[email protected] [email protected]

!

@feddeco @vasttrafikapi