Running an API 24/365

Post on 25-Jun-2015

1.050 views 1 download

Tags:

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 of Running an API 24/365

Federico Hernandez

24/7

24/7/365

24/7/365

24/365

24/365 !

(24/7/52)

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

Write program that do one thing and

do it wellUnix philosophy Doug McIlroy

$ 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" ] }

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%)

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%)

Eric Raymond’s 17 Unix Rules

...!Rule of Modularity!

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

Rule of Robustness!...

Federico Hernandez !

fh@vasttrafik.se f@ederi.co

!

@feddeco @vasttrafikapi