Punctuated Equilibrium, Celestial Navigation, and APIs

268
Punctuated Equilibrium, Celestial Navigation, and APIs Competing through dynamic adaptation Sam Ramji, Apigee @sramji Dan Jacobson, Netflix @daniel_jacobson Michael Hart, Netflix @michaelhart

description

In evolutionary theory, punctuated equilibrium refers to a period of significant environmental stress resulting in rapid, dramatic changes among species. It is a powerful model for understanding the changes in technology, business models and data over the last few decades - changes that have given rise to the age of APIs. In this talk, we'll look at three key themes in the API economy: •The Evolution of Business Models: From 1st Party to Partner to Platform •The Evolution of Architecture: From Mainframe to Mobile •The Evolution of Data: From Silos to Social

Transcript of Punctuated Equilibrium, Celestial Navigation, and APIs

Page 1: Punctuated Equilibrium, Celestial Navigation, and APIs

Punctuated Equilibrium,Celestial Navigation,and APIs

Competing through dynamic adaptation

Sam Ramji, Apigee @sramjiDan Jacobson, Netflix @daniel_jacobsonMichael Hart, Netflix @michaelhart

Page 2: Punctuated Equilibrium, Celestial Navigation, and APIs

PUNCTUATEDEQUILIBRIUM

Page 3: Punctuated Equilibrium, Celestial Navigation, and APIs

Darwin formulated his theory of evolution about 150 years ago

Page 4: Punctuated Equilibrium, Celestial Navigation, and APIs

Based on observations he made in the Galapagos Islands 15 years earlier

Page 5: Punctuated Equilibrium, Celestial Navigation, and APIs

A wild diversity of creatures existed in a new environment

Page 6: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 7: Punctuated Equilibrium, Celestial Navigation, and APIs

Starting from an ancestor which looked like this

Page 8: Punctuated Equilibrium, Celestial Navigation, and APIs

Geospiza Fulginosa

Page 9: Punctuated Equilibrium, Celestial Navigation, and APIs

Finches evolved that looked like this

Page 10: Punctuated Equilibrium, Celestial Navigation, and APIs

Geospiza Fortis

Page 11: Punctuated Equilibrium, Celestial Navigation, and APIs

and this

Page 12: Punctuated Equilibrium, Celestial Navigation, and APIs

Camarhynchus Pallidus

Page 13: Punctuated Equilibrium, Celestial Navigation, and APIs

and this

Page 14: Punctuated Equilibrium, Celestial Navigation, and APIs

Camarhynchus Pauper

Page 15: Punctuated Equilibrium, Celestial Navigation, and APIs

and this

Page 16: Punctuated Equilibrium, Celestial Navigation, and APIs

Geospiza Conirostris

Page 17: Punctuated Equilibrium, Celestial Navigation, and APIs

and this

Page 18: Punctuated Equilibrium, Celestial Navigation, and APIs

Certhidea Olivacea

Page 19: Punctuated Equilibrium, Celestial Navigation, and APIs

and this

Page 20: Punctuated Equilibrium, Celestial Navigation, and APIs

Geospiza Scandens

Page 21: Punctuated Equilibrium, Celestial Navigation, and APIs

For many years the belief was that this change happened slowly and gradually.

Page 22: Punctuated Equilibrium, Celestial Navigation, and APIs

In 1972, Stephen Jay Gould and Niles Eldredge proposed a new idea

Page 23: Punctuated Equilibrium, Celestial Navigation, and APIs

that evolution is not slow and gradual

Page 24: Punctuated Equilibrium, Celestial Navigation, and APIs

but sudden and violent.

Page 25: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 26: Punctuated Equilibrium, Celestial Navigation, and APIs

Applying this view to the observations of finches

Page 27: Punctuated Equilibrium, Celestial Navigation, and APIs

Geospiza

C. Parvulus

C. Pauper

Camarhynchus

C. Psittacula

C. Heliobates

C. Pallidus

G. Fortis G. Fulginosa

G. Magnirostris G. Scandens

G. Conirostris

Certhidea

C. Olivacea

Page 28: Punctuated Equilibrium, Celestial Navigation, and APIs

“Thus, from the war of nature, from famine and death, the most exalted object of which we are capable of conceiving, namely the production of higher animals directly follows.”

Charles DarwinOn Origin of Species

Page 29: Punctuated Equilibrium, Celestial Navigation, and APIs

So while it may look slow and gradual in hindsight

Page 30: Punctuated Equilibrium, Celestial Navigation, and APIs

Evolution is experienced in punctuated bursts.

Page 31: Punctuated Equilibrium, Celestial Navigation, and APIs

If you’re living in a punctuated burst of evolution

it feels like a revolution

Page 32: Punctuated Equilibrium, Celestial Navigation, and APIs

CELESTIALNAVIGATION

Page 33: Punctuated Equilibrium, Celestial Navigation, and APIs

Exploration

Page 34: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 35: Punctuated Equilibrium, Celestial Navigation, and APIs

like evolutionary change

Page 36: Punctuated Equilibrium, Celestial Navigation, and APIs

only looks smooth in hindsight

Page 37: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 38: Punctuated Equilibrium, Celestial Navigation, and APIs

Living through it is usually chaotic

Page 39: Punctuated Equilibrium, Celestial Navigation, and APIs

Karen JamesThe Beagle Project Blog

Page 40: Punctuated Equilibrium, Celestial Navigation, and APIs

To navigate, you need a map and instruments

Page 41: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 42: Punctuated Equilibrium, Celestial Navigation, and APIs

Maps exist for transferring knowledge

Page 43: Punctuated Equilibrium, Celestial Navigation, and APIs

and they too have evolved over time.

Page 44: Punctuated Equilibrium, Celestial Navigation, and APIs

They started as oral traditionand were written down in a form called a periplus

Page 45: Punctuated Equilibrium, Celestial Navigation, and APIs

Periplus of HannoCourtesy of Heidelberg University

Page 46: Punctuated Equilibrium, Celestial Navigation, and APIs

Periplus of HannoCourtesy of Cornell University

Page 47: Punctuated Equilibrium, Celestial Navigation, and APIs

Far less efficient knowledge transfer than a modern map of the same journey

Page 48: Punctuated Equilibrium, Celestial Navigation, and APIs

Map of Hanno’s JourneyCourtesy of Bourrichon/Wikipedia

Page 49: Punctuated Equilibrium, Celestial Navigation, and APIs

Exploration was dramatically held back for want of a map

Page 50: Punctuated Equilibrium, Celestial Navigation, and APIs

In the two thousand years between Hanno’s journey on a Phoenician trireme

Page 51: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 52: Punctuated Equilibrium, Celestial Navigation, and APIs

And the Mediterranean caravel of the 15th century

Page 53: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 54: Punctuated Equilibrium, Celestial Navigation, and APIs

Maps had only evolved to be graphical descriptions of coastlines

Page 55: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 56: Punctuated Equilibrium, Celestial Navigation, and APIs

That was a map published a few years beforeColumbus crossed the Atlantic to find India

Page 57: Punctuated Equilibrium, Celestial Navigation, and APIs

After his crossing, his expedition shared their knowledgein a new map

Page 58: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 59: Punctuated Equilibrium, Celestial Navigation, and APIs

Still far from perfectbut much improved.

Page 60: Punctuated Equilibrium, Celestial Navigation, and APIs

The biggest challenge in this kind of explorationwas determining their location on the Earth

Page 61: Punctuated Equilibrium, Celestial Navigation, and APIs

Instruments for measuring latitude had beenused and improved for centuries

Page 62: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 63: Punctuated Equilibrium, Celestial Navigation, and APIs

Longitude was the hard problem.

Page 64: Punctuated Equilibrium, Celestial Navigation, and APIs

You needed to know not just the angle of the sun and stars

Page 65: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 66: Punctuated Equilibrium, Celestial Navigation, and APIs

you also needed to know the precise time.

Page 67: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 68: Punctuated Equilibrium, Celestial Navigation, and APIs

Regardless of your sailing technologywithout the proper measurementyou were lost

Page 69: Punctuated Equilibrium, Celestial Navigation, and APIs

We are not promising a perfect map of the new world

Page 70: Punctuated Equilibrium, Celestial Navigation, and APIs

But it should be more like this

Page 71: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 72: Punctuated Equilibrium, Celestial Navigation, and APIs

than this

Page 73: Punctuated Equilibrium, Celestial Navigation, and APIs

Periplus of HannoCourtesy of Heidelberg University

Page 74: Punctuated Equilibrium, Celestial Navigation, and APIs

and we will show you what we know how to measure.

Page 75: Punctuated Equilibrium, Celestial Navigation, and APIs

APIS

Page 76: Punctuated Equilibrium, Celestial Navigation, and APIs

There are more niches today than we’ve seen before, so we need to borrow from nature

Page 77: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 78: Punctuated Equilibrium, Celestial Navigation, and APIs

If we start with an API we can explore all the niches around our business

Page 79: Punctuated Equilibrium, Celestial Navigation, and APIs

Visualization by Apigee

Page 80: Punctuated Equilibrium, Celestial Navigation, and APIs

The leaders of today’s Internet

Page 81: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 82: Punctuated Equilibrium, Celestial Navigation, and APIs

clearly understand this mechanism.

Page 83: Punctuated Equilibrium, Celestial Navigation, and APIs

They understand that the distribution model for value has changed in the Internet era.

Page 84: Punctuated Equilibrium, Celestial Navigation, and APIs

ConsumerRetail StoreProducer

Packaged Goods

Internet Services

ConsumerDeveloperProvider App

Page 85: Punctuated Equilibrium, Celestial Navigation, and APIs

Developers took their APIs and explored the niches for them

Page 86: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 87: Punctuated Equilibrium, Celestial Navigation, and APIs

The providers and the developers both benefited from this adaptation

Page 88: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 89: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 90: Punctuated Equilibrium, Celestial Navigation, and APIs

Suddenly this seems obvious to everyone.

Page 91: Punctuated Equilibrium, Celestial Navigation, and APIs

Data from Programmable Web

2005 2006 2007 2008 2009 2010 20110

1000

2000

3000

4000

5000

6000

Open APIs from 2005-2011

Page 92: Punctuated Equilibrium, Celestial Navigation, and APIs

And developers are racing to pack the niches.

Page 93: Punctuated Equilibrium, Celestial Navigation, and APIs

Data from Wikipedia

0

100,000

200,000

300,000

400,000

500,000

600,000

0

2000000000

4000000000

6000000000

8000000000

10000000000

12000000000

App Store Growth 2008-2011

Apps AvailableTotal App Down-loads

Page 94: Punctuated Equilibrium, Celestial Navigation, and APIs

This is a sudden, material shift in competition.

Page 95: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 96: Punctuated Equilibrium, Celestial Navigation, and APIs

It only looks gradual if you’re losing.

Page 97: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 98: Punctuated Equilibrium, Celestial Navigation, and APIs

BUSINESS MODELS

From 1st Party to Partner to Platform

Page 99: Punctuated Equilibrium, Celestial Navigation, and APIs

We’ve seen punctuated equilibrium in business models over the last hundred years

Page 100: Punctuated Equilibrium, Celestial Navigation, and APIs

Direct Sales

Specialty Store

Department Store

Indirect Sales

National Chain

Big Box Retailer

App Developer

Mobile App

Web Catalog

Device App

Web Retail

Page 101: Punctuated Equilibrium, Celestial Navigation, and APIs

What’s the environmental stress driving the current rapid change?

Page 102: Punctuated Equilibrium, Celestial Navigation, and APIs

The first wave of the Internet demonstrated the economic impact of web-based business models.

Previous eras of business showed a normal distribution for revenue, with most firms getting most of the revenue. In the later half of the 20th century, business model innovations focused revenue in the 2nd standard deviation above the mean. The “80:20” rule became conventional wisdom.

The HTML-driven Internet showed new business models that focused revenue in the 3rd standard deviation (examples: Amazon, EBay). Reality reflected a “95:5” rule where 5% of companies dominated the transactions and profits.

The API-driven Internet is demonstrating the next concentration of power and is reflecting a “99:1” distribution (examples: Twitter, Facebook) due to the high switching costs and effective lock-in through software.

80:20

95:5

99:1

The next wave of the Internet is demonstrating the economic impact of API-based business models.

Hardt’s Theorem: The Internet Power Law

Page 103: Punctuated Equilibrium, Celestial Navigation, and APIs

But you need to tackle it in a way that fits your business

Page 104: Punctuated Equilibrium, Celestial Navigation, and APIs

Platform Partner

1st Party

Open

Open Open

Page 105: Punctuated Equilibrium, Celestial Navigation, and APIs

These are complementary and distinct.Open is different for each one.

Page 106: Punctuated Equilibrium, Celestial Navigation, and APIs

1st Party Apps

Partner Apps

Platform Ecosystem

Page 107: Punctuated Equilibrium, Celestial Navigation, and APIs

1st party is about offering direct access to your core business via apps that you make or contract out

1st party

Page 108: Punctuated Equilibrium, Celestial Navigation, and APIs

Here open means all the business is accessible to internal developers and contract specialists

1st party

Page 109: Punctuated Equilibrium, Celestial Navigation, and APIs

Partner is about enabling directed development of apps that extend your business model towards your business partners

partner

Page 110: Punctuated Equilibrium, Celestial Navigation, and APIs

Here open means existing partners have access to your business via APIs and can innovate asynchronously

partner

Page 111: Punctuated Equilibrium, Celestial Navigation, and APIs

Platform is about enabling unknown developers to build brand new apps and businesses that will surprise and inform you

platform

Page 112: Punctuated Equilibrium, Celestial Navigation, and APIs

Here open means enabling business models and allowing developers to support each other at massive scale

platform

Page 113: Punctuated Equilibrium, Celestial Navigation, and APIs

Open is attractive

open

Page 114: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 115: Punctuated Equilibrium, Celestial Navigation, and APIs

Open is Biz Dev 2.0

open

Page 116: Punctuated Equilibrium, Celestial Navigation, and APIs

Platform Partner

1st Party

Open

Open Open

Page 117: Punctuated Equilibrium, Celestial Navigation, and APIs

Open lets you navigate across the possible business models when your first model doesn’t work as planned

open

Page 118: Punctuated Equilibrium, Celestial Navigation, and APIs

Platform Partner

1st Party

Open

Open Open

Page 119: Punctuated Equilibrium, Celestial Navigation, and APIs

To get your API strategy properly grounded

Page 120: Punctuated Equilibrium, Celestial Navigation, and APIs

John MusserProgrammable Web

Page 121: Punctuated Equilibrium, Celestial Navigation, and APIs

But how?

Page 122: Punctuated Equilibrium, Celestial Navigation, and APIs

Let’s break it down

Page 123: Punctuated Equilibrium, Celestial Navigation, and APIs

Establish Target Segments

Engage Developer Channel

Set Industry Goal

Page 124: Punctuated Equilibrium, Celestial Navigation, and APIs

An API should extend your core businessinto a new part of the market

target segments

Page 125: Punctuated Equilibrium, Celestial Navigation, and APIs

Your core business already has key performance indicators

target segments

Page 126: Punctuated Equilibrium, Celestial Navigation, and APIs

So apply your KPIs to the new market segment you’re targeting with your APIs

target segments

Page 127: Punctuated Equilibrium, Celestial Navigation, and APIs

What is the market impact you need to create in order to succeed as a business?

target segments

Page 128: Punctuated Equilibrium, Celestial Navigation, and APIs

What does the target segment need that it is not getting from you today?

target segments

Page 129: Punctuated Equilibrium, Celestial Navigation, and APIs

The answer will be the foundation of your API strategy.

target segments

Page 130: Punctuated Equilibrium, Celestial Navigation, and APIs

In most cases the channel for your API will be developers, but what do they need?

developer channel

Page 131: Punctuated Equilibrium, Celestial Navigation, and APIs

A profit motive.

developer channel

Page 132: Punctuated Equilibrium, Celestial Navigation, and APIs

Here are the leading profit models for developers today

developer channel

Page 133: Punctuated Equilibrium, Celestial Navigation, and APIs

In-app purchases

Affiliate royalty

Your advertising spend

Market awareness of their offering

developer channel

App sales

Page 134: Punctuated Equilibrium, Celestial Navigation, and APIs

If you don’t know where you’re going, you definitely won’t get there

industry goal

Page 135: Punctuated Equilibrium, Celestial Navigation, and APIs

Partnerships and platform businesses are very different things.

industry goal

Page 136: Punctuated Equilibrium, Celestial Navigation, and APIs

Partnerships are formed to serve a known set of entities

industry goal

Page 137: Punctuated Equilibrium, Celestial Navigation, and APIs

A partner API should be traceable to each partner’s relationship

industry goal

Page 138: Punctuated Equilibrium, Celestial Navigation, and APIs

And support end-to-end business processes

industry goal

Page 139: Punctuated Equilibrium, Celestial Navigation, and APIs

A platform exists to create massive and unpredictable opportunities

industry goal

Page 140: Punctuated Equilibrium, Celestial Navigation, and APIs

All your technology, support, and community decisions will be about surviving the scale of adoption

industry goal

Page 141: Punctuated Equilibrium, Celestial Navigation, and APIs

That’s the strategy dimension.

Page 142: Punctuated Equilibrium, Celestial Navigation, and APIs

The execution dimension is what you already know.

Page 143: Punctuated Equilibrium, Celestial Navigation, and APIs

Planning.

Management.

Organization.

Page 144: Punctuated Equilibrium, Celestial Navigation, and APIs

Putting all this in context gives us a map for our API strategy

Page 145: Punctuated Equilibrium, Celestial Navigation, and APIs

Planning Management Organization

Target Segment(s)

Define market segment in detail including size and

user persona; specify API profile needed to satisfy top use cases for each

target segment

Establish KPI targets, traceability and dashboard

Business-led

Segment-oriented workstreams

Engage Channel

Specify business model and marketing driver for

the channel that will reach each target segment

Establish developer adoption targets,

developer marketing and channel actions

(community site, events, and communication)

Channel-led

Community, developer, and business development

workstreams

Industry Goal

Specify roadmap of API deliverables, mechanics, integration, and business

process to meet target segment needs

Implement API roadmap, adjust and report on iteration cycle, and

establish alpha developer team

Engineering-led

API, infrastructure, and developer support

workstreams

Page 146: Punctuated Equilibrium, Celestial Navigation, and APIs

The instruments will be your KPIs and your core API metrics: performance and adoption

Page 147: Punctuated Equilibrium, Celestial Navigation, and APIs

ARCHITECTURE

From Mainframe to Mobile

Page 148: Punctuated Equilibrium, Celestial Navigation, and APIs

Computing

Mainframe

Minicomputer

Integrated

PersonalComputer

Smartphone

Connected Devices

Website

Client/Server

Web App

DCOM

Distributed

CORBA

N-tier

Page 149: Punctuated Equilibrium, Celestial Navigation, and APIs

Chris AndersonWired Magazine

“The Web is Dead. Long Live the Internet.

Page 150: Punctuated Equilibrium, Celestial Navigation, and APIs

The Web is Dead. Long Live APIs!

Page 151: Punctuated Equilibrium, Celestial Navigation, and APIs

Twitter traffic distribution shows what he means

Page 152: Punctuated Equilibrium, Celestial Navigation, and APIs

Twitter Traffic in 2010

Twitter APITwitter.com

Page 153: Punctuated Equilibrium, Celestial Navigation, and APIs

Netflix traffic distribution is nearly the same.

Page 154: Punctuated Equilibrium, Celestial Navigation, and APIs

The majority of Netflix traffic comes from API-driven connected devices.

Page 155: Punctuated Equilibrium, Celestial Navigation, and APIs

Like Columbus, Netflix started with a map of the coastline

Page 156: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 157: Punctuated Equilibrium, Celestial Navigation, and APIs

Build an open API as a platformand let a thousand flowers bloom

Page 158: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 159: Punctuated Equilibrium, Celestial Navigation, and APIs

But they had left the coastline far behind

Page 160: Punctuated Equilibrium, Celestial Navigation, and APIs

And the instruments indicated that there were fewer flowers than expected

Page 161: Punctuated Equilibrium, Celestial Navigation, and APIs

Netflix API Requests by Segment

Netflix Devel-opersOpen API De-velopers

Page 162: Punctuated Equilibrium, Celestial Navigation, and APIs

But partners started building apps for connected devices and the business took off

Page 163: Punctuated Equilibrium, Celestial Navigation, and APIs

XBox

PS3

Wii

LG TVs

Apple TV

iPad

iPhone

Roku

Samsung TVs

Page 164: Punctuated Equilibrium, Celestial Navigation, and APIs

Architecture should reflect the business model

Page 165: Punctuated Equilibrium, Celestial Navigation, and APIs

So Netflix has drawn the following map

Page 166: Punctuated Equilibrium, Celestial Navigation, and APIs

XBox

PS3

Wii

Google TV

Apple TV

iPad

iPhone

Roku

LG TVs Samsung TVs

Page 167: Punctuated Equilibrium, Celestial Navigation, and APIs

Instruments show that API traffic has grown tremendously in a short time

Page 168: Punctuated Equilibrium, Celestial Navigation, and APIs

Growth of Netflix API

Jan-10

Feb-10

Mar-1

0

Apr-10

May-1

0Jun-10

Jul-10

Aug-10

Sep-10

Oct-10

Nov-10

Dec-10

Jan-110

5

10

15

20

25M

onth

ly R

eque

sts

in B

illio

ns

Page 169: Punctuated Equilibrium, Celestial Navigation, and APIs

20,000,000,000 API requests per month.

Is that a cause for celebration?

Or for concern?

Page 170: Punctuated Equilibrium, Celestial Navigation, and APIs

When you’re navigating uncharted waters,speed is not your friend.

Perhaps it’s time to slow down and avoid risking unknown reefs.

Page 171: Punctuated Equilibrium, Celestial Navigation, and APIs

Navigating this growth challenge for Netflix means that the next API revision will focus on reducing overall traffic.

Page 172: Punctuated Equilibrium, Celestial Navigation, and APIs

Part of this redesign is reviewing conventions

Page 173: Punctuated Equilibrium, Celestial Navigation, and APIs

Punctuated Equilibrium: REST

Data sourced fromProgrammableWeb

2005 2006 2007 2008 2009 2010 20110

500

1000

1500

2000

2500

3000

3500

4000

4500

RESTSOAP

Page 174: Punctuated Equilibrium, Celestial Navigation, and APIs

REST seems obvious but assess what makes sense for your business.

Page 175: Punctuated Equilibrium, Celestial Navigation, and APIs

Tiered architecture helps you navigate different problems with agility

Page 176: Punctuated Equilibrium, Celestial Navigation, and APIs

Recommendations

User Info

Similar Movies

Movie Metadata

Ratings

Viewing History

DataNormalization

&Resiliency

User Service

R12n Service

Similar Movie Service

USER API

iPhone Wrapper

Wii Wrapper

Xbox Wrapper

PS3 Wrapper

Roku Wrapper

Apple TV Wrapper

iPad Wrapper

PC / Mac Wrapper

TiVo Wrapper

Source Data Layer

API Repository Layer

API Layer Wrapper Layer

App LayerWeb Service Layer

SHARED

API INTERFACES

Shared Layer

Model Controller View

UN

IFIED

LIST/TITLE API

Page 177: Punctuated Equilibrium, Celestial Navigation, and APIs

Recommendations

User Info

Similar Movies

Movie Metadata

Ratings

Viewing History

DataNormalization

&Resiliency

User Service

R12n Service

Similar Movie Service

USER API

iPhone Wrapper

Wii Wrapper

Xbox Wrapper

PS3 Wrapper

Roku Wrapper

Apple TV Wrapper

iPad Wrapper

PC / Mac Wrapper

TiVo Wrapper

Source Data Layer

API Repository Layer

API Layer Wrapper Layer

App LayerWeb Service Layer

SHARED

API INTERFACES

Shared Layer

Flexible Stable Agile

UN

IFIED

LIST/TITLE API

Page 178: Punctuated Equilibrium, Celestial Navigation, and APIs

Server architecture should support both crests and troughs of the waves of demand

Page 179: Punctuated Equilibrium, Celestial Navigation, and APIs

Instance Architecture Based on Specialization

List CreationDependency

Service

API METADATA CACHING LAYER

METADATA SERVICE

MetaData

Dependency Service

ELASTIC INSTANCE LAYER

Page 180: Punctuated Equilibrium, Celestial Navigation, and APIs

Instance Architecture Based on Specialization

List CreationDependency

Service

API METADATA CACHING LAYER

METADATA SERVICE

MetaData

Dependency Service

ELASTIC INSTANCE LAYER

Handles Request/Response

Caches Dependency Data

Populates and Manages Cache

Page 181: Punctuated Equilibrium, Celestial Navigation, and APIs

Map out your usage patterns and cache your data accordingly

Page 182: Punctuated Equilibrium, Celestial Navigation, and APIs

Vertical Caching

Page 183: Punctuated Equilibrium, Celestial Navigation, and APIs

Vertical Caching: Netflix Full Movie Data

Page 184: Punctuated Equilibrium, Celestial Navigation, and APIs

Horizontal Caching

Page 185: Punctuated Equilibrium, Celestial Navigation, and APIs

Horizontal Caching: Netflix Basic Data

Page 186: Punctuated Equilibrium, Celestial Navigation, and APIs

Combining horizontal and vertical caching may be the best approach when building for multiple geographies

Page 187: Punctuated Equilibrium, Celestial Navigation, and APIs

Two-Dimensional Caching

Page 188: Punctuated Equilibrium, Celestial Navigation, and APIs

Design for where you’re going

Page 189: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 190: Punctuated Equilibrium, Celestial Navigation, and APIs

Not for where you are

Page 191: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 192: Punctuated Equilibrium, Celestial Navigation, and APIs

You may be starting here

Page 193: Punctuated Equilibrium, Celestial Navigation, and APIs

Growth of Netflix API

Jan-10

Feb-10

Mar-1

0

Apr-10

May-1

0Jun-10

Jul-10

Aug-10

Sep-10

Oct-10

Nov-10

Dec-10

Jan-110

5

10

15

20

25M

onth

ly R

eque

sts

in B

illio

ns

Page 194: Punctuated Equilibrium, Celestial Navigation, and APIs

But you must design for here

Page 195: Punctuated Equilibrium, Celestial Navigation, and APIs

Growth of Netflix API

Jan-10

Feb-10

Mar-1

0

Apr-10

May-1

0Jun-10

Jul-10

Aug-10

Sep-10

Oct-10

Nov-10

Dec-10

Jan-110

5

10

15

20

25M

onth

ly R

eque

sts

in B

illio

ns

Page 196: Punctuated Equilibrium, Celestial Navigation, and APIs

You don’t need to implement for massive scale

Page 197: Punctuated Equilibrium, Celestial Navigation, and APIs

But you must design for it or you will follow your successful ocean crossing with a massive shipwreck.

Page 198: Punctuated Equilibrium, Celestial Navigation, and APIs

Navigation also means constantly adjusting your course to ensure you arrive at your final goal

Page 199: Punctuated Equilibrium, Celestial Navigation, and APIs

Sometimes adjusting course on an API means you must change your version

Page 200: Punctuated Equilibrium, Celestial Navigation, and APIs

Versioning means supporting multiple applications, all of which basically do the same thing

Page 201: Punctuated Equilibrium, Celestial Navigation, and APIs

Versioning1.0

1.5

2.0

Today

3.0?

4.0?

5.0?

Page 202: Punctuated Equilibrium, Celestial Navigation, and APIs

If possible, go versionless

Page 203: Punctuated Equilibrium, Celestial Navigation, and APIs

Version-less API1.0

1.5

2.0

versionless

Today

Here there be dragons

Page 204: Punctuated Equilibrium, Celestial Navigation, and APIs

Rules for going versionless in your production APIs

Page 205: Punctuated Equilibrium, Celestial Navigation, and APIs

Extend your API by extending data types

Addition is not version-worthy

Better to be incomplete than inaccurate

Withhold implementation if you are unsure

Page 206: Punctuated Equilibrium, Celestial Navigation, and APIs

With APIs emerging, we need better tools help us navigate

Page 207: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 208: Punctuated Equilibrium, Celestial Navigation, and APIs

The service level agreement is your sextant

Page 209: Punctuated Equilibrium, Celestial Navigation, and APIs

Set reasonable service level agreements

Page 210: Punctuated Equilibrium, Celestial Navigation, and APIs

What is reasonable will vary by API and use casebut you must communicate them to your users.

Page 211: Punctuated Equilibrium, Celestial Navigation, and APIs

Measure average latencies, error rates and types,and respond when SLAs are broken

Page 212: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 213: Punctuated Equilibrium, Celestial Navigation, and APIs

Having visibility into performance means you can tack immediately rather than after your users threaten to mutiny.

Page 214: Punctuated Equilibrium, Celestial Navigation, and APIs

Longer-term navigation requires higher-level metrics

Page 215: Punctuated Equilibrium, Celestial Navigation, and APIs

Request-based metrics such as what endpoints were called and what parameters were passed can show you what aspects of your API are popular.

Response-based metrics such as what was delivered, how quickly, and whether the response was valid can show you what aspects of your API need work.

Page 216: Punctuated Equilibrium, Celestial Navigation, and APIs

System trace metrics that track what underlying systems were called and how they responded can show you where you need to evolve your internal architecture.

Business performance metrics such as how much revenue or how much customer engagement is occurring through the API show you how close you are to delivering on the business plan.

Page 217: Punctuated Equilibrium, Celestial Navigation, and APIs

DATA

From Silos to Social

Page 218: Punctuated Equilibrium, Celestial Navigation, and APIs

Data

Flat file

Mainframe

Silos

Caching DBs

Domain-specificData APIs

RDBMS

Data APIData

Warehousing

Shared

Private Cloud DBs

Page 219: Punctuated Equilibrium, Celestial Navigation, and APIs

Punctuated equilibrium in data sharing

Page 220: Punctuated Equilibrium, Celestial Navigation, and APIs

Mainframe Databases Middleware APIs

App Org Cross-org Cross-business

Page 221: Punctuated Equilibrium, Celestial Navigation, and APIs

So we are evolving to cross-business sharing

Page 222: Punctuated Equilibrium, Celestial Navigation, and APIs

There are a few challenges in making this journey

Page 223: Punctuated Equilibrium, Celestial Navigation, and APIs

Sharing your data via an API entails a different set of considerations than APIs which expose your services

Page 224: Punctuated Equilibrium, Celestial Navigation, and APIs

loss of control

only recourse is legal

enforcement is expensive

Page 225: Punctuated Equilibrium, Celestial Navigation, and APIs

That said, it may be time to get overyour control issues

Page 226: Punctuated Equilibrium, Celestial Navigation, and APIs

Be honest about the value you could get from sharing your data outside your corporation

Page 227: Punctuated Equilibrium, Celestial Navigation, and APIs

instead of just the costs and risks of sharing it.

Page 228: Punctuated Equilibrium, Celestial Navigation, and APIs

In opening up its movie data warehouse

Page 229: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 230: Punctuated Equilibrium, Celestial Navigation, and APIs

Netflix found that the cost was the same as any API,

the risks could be managed through rate limits and access control,

but that now others could build great movie discovery experiences that led to increased Netflix viewing hours.

Page 231: Punctuated Equilibrium, Celestial Navigation, and APIs

Sharing data as a service means making a few course corrections on your API

Page 232: Punctuated Equilibrium, Celestial Navigation, and APIs

enable larger downloads for fewer queries

more liberal retention policies means less API traffic, higher performance, and less cost

push incremental updates

limited access to richer queries

Page 233: Punctuated Equilibrium, Celestial Navigation, and APIs

Looking forward, how are we going to work through this wave of shared data?

Page 234: Punctuated Equilibrium, Celestial Navigation, and APIs

Two different dimensions are apparent

Page 235: Punctuated Equilibrium, Celestial Navigation, and APIs

First, no one wants all of your data, just some of it.

Just the right parts of it for their particular need.

Page 236: Punctuated Equilibrium, Celestial Navigation, and APIs

Where have we seen this before?

Page 237: Punctuated Equilibrium, Celestial Navigation, and APIs

Mainframe Databases Middleware APIs

App Org Cross-org Cross-business

Page 238: Punctuated Equilibrium, Celestial Navigation, and APIs

Last time the right solution was a query language

Perhaps it’s the right solution now

Page 239: Punctuated Equilibrium, Celestial Navigation, and APIs

Instead of a static REST call, we could pose a query like “what are the highest rated movies from the 1980s?”

http://odata.netflix.com/Catalog/Titles?$filter=ReleaseYear le 1989 and ReleaseYear ge 1980 and AverageRating gt 4 &$expand=Awards

Page 240: Punctuated Equilibrium, Celestial Navigation, and APIs

Caveat structor does apply

This is new ground and we haven’t seen anyone do this at massive scale

Page 241: Punctuated Equilibrium, Celestial Navigation, and APIs

Second, people want just the right parts of your data for their particular need

But they need the right parts of other people’s data to have a complete context

Page 242: Punctuated Equilibrium, Celestial Navigation, and APIs

Where have we seen this before?

Page 243: Punctuated Equilibrium, Celestial Navigation, and APIs

Mainframe Databases Middleware APIs

App Org Cross-org Cross-business

Page 244: Punctuated Equilibrium, Celestial Navigation, and APIs

Last time the right solution was middleware for distributed queries

Perhaps it’s the right solution now

Page 245: Punctuated Equilibrium, Celestial Navigation, and APIs

But the rules have changed a bit since the data is laying all over the Internet

Page 246: Punctuated Equilibrium, Celestial Navigation, and APIs

[{ "id": null, "name": null, "type": "/dining/restaurant", "/business/business_location/address": [{ "street_address": [], "citytown": { "id": "/en/toronto" } }], "cuisine": [{ "/dining/cuisine/region_of_origin": [{ "!/film/film/featured_film_locations": [{ "id": "/en/the_italian_job" }] }]

Instead of a single domain query, we could ask for a list of “Toronto restaurants with cuisine from a filming location of ‘The Italian Job’”

Page 247: Punctuated Equilibrium, Celestial Navigation, and APIs

Caveat structor still applies.

This is very new terrain indeed.

Page 248: Punctuated Equilibrium, Celestial Navigation, and APIs

The bigger question than what should you be sharing out

Is what should you be sharing in

Page 249: Punctuated Equilibrium, Celestial Navigation, and APIs

What data APIs should your business be using?

Page 250: Punctuated Equilibrium, Celestial Navigation, and APIs

What could you offer your customers if you knew which of them were friends with each other?

Page 251: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 252: Punctuated Equilibrium, Celestial Navigation, and APIs

What does that logo mean to you today?

Perhaps it’s time to think differently.

Facebook is a massive data API that lets you correlate your customers with their true context

Page 253: Punctuated Equilibrium, Celestial Navigation, and APIs

You could move beyond a flat-earth view where all your customers are their own islands of data

And each of them were connected in ways that makes your business more valuable to them

Page 254: Punctuated Equilibrium, Celestial Navigation, and APIs

What could you offer your customers if you knew where they like to go?

Page 255: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 256: Punctuated Equilibrium, Celestial Navigation, and APIs

The more of your customer’s context that you can understand

The more time you can save them

And that makes your business more valuable to them

Page 257: Punctuated Equilibrium, Celestial Navigation, and APIs

The good news is that there are already data APIs to get this context

Now you need to focus on sharing in

Page 258: Punctuated Equilibrium, Celestial Navigation, and APIs

In

CLOSING

Page 259: Punctuated Equilibrium, Celestial Navigation, and APIs

We are going through a period of rapid change in business models, architecture, and data

Page 260: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 261: Punctuated Equilibrium, Celestial Navigation, and APIs

Navigating based strictly on the stories of others

Page 262: Punctuated Equilibrium, Celestial Navigation, and APIs

Periplus of HannoCourtesy of Heidelberg University

Page 263: Punctuated Equilibrium, Celestial Navigation, and APIs

Will not give you the clear map that you need

Page 264: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 265: Punctuated Equilibrium, Celestial Navigation, and APIs

Develop instruments around your APIthat help you understand where you’re going

Page 266: Punctuated Equilibrium, Celestial Navigation, and APIs
Page 267: Punctuated Equilibrium, Celestial Navigation, and APIs

so that you can correct your course and beat your competition in the race for the future.

Page 268: Punctuated Equilibrium, Celestial Navigation, and APIs

THANK YOUQuestions and ideas to:

@michaelhart@daniel_jacobson@sramji