92
@coldfumonkeh Matt Gifford API Management from the Trenches

Api management from the Trenches

Embed Size (px)

Citation preview

Page 1: Api management from the Trenches

@coldfumonkehMatt Gifford

API Management from the Trenches

Page 2: Api management from the Trenches

CONSUMER DEBUGGING

AUTHOR DEBUGGING

CONSIDERATIONS

Page 3: Api management from the Trenches

CONSUMER DEBUGGING

Page 4: Api management from the Trenches

SELECTION

Page 5: Api management from the Trenches

DISCOVERY

Page 6: Api management from the Trenches

MICRO SERVICES

Page 7: Api management from the Trenches

“Great things are done by a series of small things brought together.”

- Vincent Van Gogh

Page 8: Api management from the Trenches

ABSTRACTION

Page 9: Api management from the Trenches

VERSION MONITORING

Page 10: Api management from the Trenches
Page 11: Api management from the Trenches
Page 12: Api management from the Trenches
Page 13: Api management from the Trenches

NETWORK

Page 14: Api management from the Trenches

CONNECTION

Page 15: Api management from the Trenches

http://bit.ly/1uIZrYV

Page 16: Api management from the Trenches

AUTHENTICATION

Page 17: Api management from the Trenches

USE A LIBRARY

Page 18: Api management from the Trenches

TEST IN ISOLATION

Page 19: Api management from the Trenches

http://bit.ly/1byFK1R

Page 20: Api management from the Trenches

DIRECT API CALLS

Page 21: Api management from the Trenches

SPEED

Page 22: Api management from the Trenches

SCOPE

Page 23: Api management from the Trenches

FIREFOX REST CLIENT PLUGIN

work on these

Page 24: Api management from the Trenches

cURL

curl -i -X PUT httpbin.org/put -H Content-Type:application/json -d ‘{“hello”: “world”}’

Page 25: Api management from the Trenches

github.com/jakubroztocil/httpie

http PUT httpbin.org/put hello=world

HTTPie

Page 26: Api management from the Trenches

POSTMAN (v1)

Page 27: Api management from the Trenches

POSTMAN (v2)

Page 28: Api management from the Trenches

PAYLOAD

Page 29: Api management from the Trenches

MOCK API

Page 30: Api management from the Trenches

SCHEMA

Page 31: Api management from the Trenches

CHANGE

Page 32: Api management from the Trenches

RATE LIMITS

Page 33: Api management from the Trenches

EFFICIENCY

Page 34: Api management from the Trenches

mockable.io

Page 35: Api management from the Trenches

apiary.io

Page 36: Api management from the Trenches

mocky.io

Page 37: Api management from the Trenches
Page 38: Api management from the Trenches

Fake APIFAKE API

Page 39: Api management from the Trenches

OFFLINE

Page 40: Api management from the Trenches

SECURITY

Page 41: Api management from the Trenches

DYNAMIC

Page 42: Api management from the Trenches

https://github.com/webpro/dyson

Page 43: Api management from the Trenches

https://github.com/typicode/json-server

Page 44: Api management from the Trenches

https://github.com/basicallydan/interfake

Page 45: Api management from the Trenches

npm install interfake --save

var Interfake = require('interfake');var interfake = new Interfake();interfake.get('/whats-next').body({ next : 'more stuff '});interfake.listen(3000); // The server will listen on port 3000

{ "next":"more stuff"}

http://localhost:3000/whats-next

Page 46: Api management from the Trenches

PROXY

Page 47: Api management from the Trenches

SNOOPING

Page 48: Api management from the Trenches

REPLAY

Page 49: Api management from the Trenches

TUNNEL

Page 50: Api management from the Trenches

charlesproxy.com/

Page 51: Api management from the Trenches

httpkit.com/wiretap

Page 52: Api management from the Trenches

runscope.com/docs/inspector

Page 53: Api management from the Trenches

ngrok.com

Page 54: Api management from the Trenches

CACHE MANAGEMENT

Page 55: Api management from the Trenches

AUTHOR DEBUGGING

Page 56: Api management from the Trenches

LOGGING

Page 57: Api management from the Trenches

AUDIT TRAIL

Page 58: Api management from the Trenches

FIND ISSUES

Page 59: Api management from the Trenches

ANALYSIS

Page 60: Api management from the Trenches

CLOUD LOGGING

Page 61: Api management from the Trenches

www.sumologic.com

Page 62: Api management from the Trenches

logstash.net

Page 63: Api management from the Trenches

www.loggly.com

Page 64: Api management from the Trenches

ERROR REPORTING

Page 65: Api management from the Trenches

EXCEPTIONS

Page 66: Api management from the Trenches

bugsnag.com

Page 67: Api management from the Trenches

airbrake.io

Page 68: Api management from the Trenches

getsentry.com

Page 69: Api management from the Trenches

MONITORING

Page 70: Api management from the Trenches

zapier.com/status

Page 71: Api management from the Trenches

apimetrics.io

Page 72: Api management from the Trenches

runscope.com/radar

Page 73: Api management from the Trenches

ducksboard.com

Page 74: Api management from the Trenches

LOAD TESTING

Page 75: Api management from the Trenches

github.com/JoeDog/siege

Page 76: Api management from the Trenches

loader.io

Page 77: Api management from the Trenches

github.com/wg/wrk

Page 78: Api management from the Trenches

wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

Running 30s test @ http://127.0.0.1:8080/index.html 12 threads and 400 connections Thread Stats Avg Stdev Max +/- Stdev Latency 635.91us 0.89ms 12.92ms 93.69% Req/Sec 56.20k 8.07k 62.00k 86.54% 22464657 requests in 30.00s, 17.76GB read Requests/sec: 748868.53 Transfer/sec: 606.33MB

Page 79: Api management from the Trenches

CONSIDERATIONS

Page 80: Api management from the Trenches

DOCUMENTATION

Page 81: Api management from the Trenches

API DESIGN

Page 82: Api management from the Trenches

apiblueprint.org

Page 83: Api management from the Trenches

raml.org

Page 84: Api management from the Trenches

swagger.io

Page 85: Api management from the Trenches

bit.ly/designApi

Page 86: Api management from the Trenches

SDKs

Page 87: Api management from the Trenches

SPEAK TO A HUMAN

Page 88: Api management from the Trenches

@kinlane@johnsheehan

@synedra

Page 89: Api management from the Trenches
Page 90: Api management from the Trenches
Page 91: Api management from the Trenches
Page 92: Api management from the Trenches

THANK YOU