Distributed Systems Development on the API Powered Web

52
Distributed Systems Development on the API Powered Web Steven Willmott WWW 2014 Developer Track 3scale Inc. @njyx, @3scale

description

Presentation at WWW2014 http://www2014.kr on how APIs are transforming software development.

Transcript of Distributed Systems Development on the API Powered Web

Page 1: Distributed Systems Development on the API Powered Web

Distributed Systems Development on the API Powered Web

Steven Willmott WWW 2014 Developer Track 3scale Inc. @njyx, @3scale

Page 2: Distributed Systems Development on the API Powered Web

3scale is…API

Infrastructure Provider

!Power 350+

APIs !

110,000 Developers writing Apps

!

API Tech Operations API Business Operations Developer Support

(Selection)

3scale.net

Page 3: Distributed Systems Development on the API Powered Web

Also Check Out…

New service for developers

!Track

Transform Analyze

API Traffic !

http://www.apitools.com

Page 4: Distributed Systems Development on the API Powered Web

“We are all Distributed Systems Programmers Now”

John Sheehan, APIDays 2013

Page 5: Distributed Systems Development on the API Powered Web

Topics

Software is Everywhere & it is mostly Web Software

This drives change in Web and App Development

This new Paradigm is more powerful — and complicated

Conclusions

Page 6: Distributed Systems Development on the API Powered Web

“Software is Eating the World”

Marc Andreessen, WSJ, 2011

Page 7: Distributed Systems Development on the API Powered Web

Almost every major industry is becoming Software Driven

Page 8: Distributed Systems Development on the API Powered Web

Examples

Page 9: Distributed Systems Development on the API Powered Web

Twitter Drone Hack

Romain Huet, APIStrat, 2014

Page 10: Distributed Systems Development on the API Powered Web

(Web) APIS are Eating Software

(The Web is Eating Software)

Page 11: Distributed Systems Development on the API Powered Web

Across Many Industries

Page 12: Distributed Systems Development on the API Powered Web

& Company Sizes

Page 13: Distributed Systems Development on the API Powered Web

& Business Models

Page 14: Distributed Systems Development on the API Powered Web

APIs Are Certainly Proliferating

ProgrammableWeb.com (Source)

Directories cannot keep up easily

Many APIs are private / semi private

10x (or maybe many more) are out there

11254 (Public) APIs

10x that many

Private APIs?

Page 15: Distributed Systems Development on the API Powered Web

Numbers: Mobile Apps1 Million IOS Apps (Oct 2013)

1.19 Million Android Apps (Now / AppBrain)

How Many are Calling an API

Backend?

10%? 5%? 20%

Page 16: Distributed Systems Development on the API Powered Web

Example: Evernote Platform

Evernote “feels” like an App

But it is a platform

Many successful Apps are

Page 17: Distributed Systems Development on the API Powered Web

But - What do we mean - Eating Software?

(The Web is Eating Software)

Page 18: Distributed Systems Development on the API Powered Web
Page 19: Distributed Systems Development on the API Powered Web

Inside-Out

Page 20: Distributed Systems Development on the API Powered Web
Page 21: Distributed Systems Development on the API Powered Web
Page 22: Distributed Systems Development on the API Powered Web

Outside-In

Page 23: Distributed Systems Development on the API Powered Web
Page 24: Distributed Systems Development on the API Powered Web
Page 25: Distributed Systems Development on the API Powered Web
Page 26: Distributed Systems Development on the API Powered Web
Page 27: Distributed Systems Development on the API Powered Web
Page 28: Distributed Systems Development on the API Powered Web
Page 29: Distributed Systems Development on the API Powered Web

Mixing the Two

Page 30: Distributed Systems Development on the API Powered Web
Page 31: Distributed Systems Development on the API Powered Web
Page 32: Distributed Systems Development on the API Powered Web

I: A New Path for Software Development

Page 33: Distributed Systems Development on the API Powered Web
Page 34: Distributed Systems Development on the API Powered Web
Page 35: Distributed Systems Development on the API Powered Web
Page 36: Distributed Systems Development on the API Powered Web
Page 37: Distributed Systems Development on the API Powered Web
Page 38: Distributed Systems Development on the API Powered Web
Page 39: Distributed Systems Development on the API Powered Web
Page 40: Distributed Systems Development on the API Powered Web

II: But this is Hard to Do

Page 41: Distributed Systems Development on the API Powered Web
Page 42: Distributed Systems Development on the API Powered Web
Page 43: Distributed Systems Development on the API Powered Web
Page 44: Distributed Systems Development on the API Powered Web
Page 45: Distributed Systems Development on the API Powered Web

Actually…

Page 46: Distributed Systems Development on the API Powered Web
Page 47: Distributed Systems Development on the API Powered Web

Conclusions

Page 48: Distributed Systems Development on the API Powered Web

Exciting Potential & Lots of Challenges

Page 49: Distributed Systems Development on the API Powered Web

• Don’t Assume It’s like local • Robust Client/Server handling • Interface Stability is Key as a provider

and consumer • Assume disconnected mode failure

modes • Emphasis Security, Identity and

Contracts • Test Every Assumption

How to Proceed

• Failure tolerant best practices • Discovery and Trust frameworks will

become critical • Service descriptions must become

machine readable • Shared Semantics become ever

more critical • APICommons or similar initiatives are

essential

Individual APIs & Apps Community

Change Mindset Practice & Standards

Page 50: Distributed Systems Development on the API Powered Web

Most Critical…

A Mindset Change to “Distributed by Default”

Page 51: Distributed Systems Development on the API Powered Web

3scale: http://www.3scale.net APItools: http://www.apitools.com

APICodex: http://apicodex.3scale.net

Page 52: Distributed Systems Development on the API Powered Web

The API Economy is Emerging… Join In!

Contact:

http://www.3scale.net @njyx - [email protected]