Transcript
Page 1: API-First Development at Etsy | API Strategy & Practice AMS 2014

API-First Development at EtsyBuilding a Unified API for a Multi-Screen World

Page 2: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Who Am I?Paul Wright

Infrastructure Engineer

Core Platform

Page 3: API-First Development at Etsy | API Strategy & Practice AMS 2014

What is Etsy?

Page 4: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Etsy is the marketplace we make together.

Page 11: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Quick Stats

Page 12: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

In 2013,Etsy Sellers MadeOver 1 Billion USD

Page 13: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Etsy isMulti-Platform

Page 14: API-First Development at Etsy | API Strategy & Practice AMS 2014
Page 15: API-First Development at Etsy | API Strategy & Practice AMS 2014
Page 16: API-First Development at Etsy | API Strategy & Practice AMS 2014
Page 17: API-First Development at Etsy | API Strategy & Practice AMS 2014
Page 18: API-First Development at Etsy | API Strategy & Practice AMS 2014
Page 19: API-First Development at Etsy | API Strategy & Practice AMS 2014

APIv2

Page 20: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

The Good

Page 21: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Kick StartedThird-PartyCommunity

Page 22: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Powers EtsyNative Apps

Page 23: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Serves Needs of Sellers

Page 24: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

The Bad

Page 25: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Resources MirrorDB Schemas

Page 26: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Client DictatesComplexity

Page 28: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Multiple Requests for one

Client View

Page 30: API-First Development at Etsy | API Strategy & Practice AMS 2014

APIv3

Page 31: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Domain Resources, not Row Resources

Page 32: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Push Complexityto Server

Page 34: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Relax REST Constraints

Page 36: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Make Access Control Explicit

Page 38: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

PerspectivesEncapsulate who is making a call

Abstracts authentication

Three main ones: Public, Member & Shop

Page 39: API-First Development at Etsy | API Strategy & Practice AMS 2014

API-First

Page 40: API-First Development at Etsy | API Strategy & Practice AMS 2014

Database

Business Logic

Web ControllerAPIv2

Business Logic

Page 41: API-First Development at Etsy | API Strategy & Practice AMS 2014

Database

APIv3

Business Logic

Page 42: API-First Development at Etsy | API Strategy & Practice AMS 2014

@wrighty

Thanks!


Top Related