As Software eats the World, APIs eat Software

Preview:

Citation preview

Software is Eating the World, APIs are Eating Software

Steven Willmott 3scale networks

@3scale - http://www.3scale.net

On Demand API Infrastructure: http://3scale.net @3scale

Powering 200+ APIsBillions API Calls / Month

“Software is Eating the World”

Marc Andreessen – WSJ / August 2011

Almost every major industry is becoming software driven

MusicRetail Video Telephony

Meaning:

Examples

Lytro: “Software Defined Cameras”

Philips Hue: “Software ControlledLighting”

Amazon: “Software Driven Retail”

Pixar: “Software powered animation”

APIs eat Software

Meaning:

1

2

APIs are the key glue that make this software remotely addressable

APIs provide a myriad of new external building blocks to speed up and enrich software development

3 If you do these things together special things happen

Remotely Addressable = Opening up some network

addressable interface

Examples

London Transport: Open Data

Evernote: “Platformization”

Netflix: “Massive Distribution”

JCI: “Software Controlled Buildings”

ThousandsOf Devices

Adoption is across all sectors

Diversity: Sectors

Games

Blogging

Transport

Dating

Dictionary

Events

Job Search

Payment

Real EstatePIM

News

Security

Telephony

Credit: Sample Categories Programmable Web

Diversity: Sizes of Companies

Credit: API Survey / John Sheehan 2012

Diversity: Business Models

Credit: 3scale 1000 APIs Survey 2012

• Only 24% “API is the product”• The Vast

Majority power non-API Business Models

Software is essentially useless without remotely addressable interfaces

There are downsides too opening APIs too

• Security is key• Scalability needs to be

built in• It requires long term

support• Design can be hard• New type of business

interactionStill: the Upsides are Compelling

• Vendors can Help• In many cases some

of the work is already done

How are APIs Changing Application Development?

APIs are the new Libs

“In computer science, a library is a collection of implementations of behavior, written in terms of a language, that has a well-defined interface by which the behavior is invoked”

Credit: Wikipedia

Speed (Time to Market)

e.g. + Devops Borat

e.g.(Top Mashup on

Progr Web)

Richness / Functionality

e.g.

e.g.

Offboarding

e.g.

e.g.

(Rich Photo EffectsFor Mobile by SDK)

(Monitoring System in the Cloud)

Reliability

e.g.

e.g.

(Email by API)

(Amazon S3)

There are downsides too using external APIs too

• Latency?• Availability?• Security?• SLAs?• Can’t Access Code• Cost• Service Continuity? The Upsides are

Compelling

• In most cases there are no other ways to solve the problem

• Tools are emerging

The Sum of the Two

APIs Will Eat Software

Software Before 1995 Software 1995 – 2010 Software 2010 -

Enables specialization, focus, much wider distribution

Businesses (via their Software and APIs) are acting

as components

Software as Model-View-Controller

VIEW = FORM

MODEL = DATA

CONTROLLER = BUSINESS LOGIC

Model

View Controller

Example “Models”

Model

Data Anywhere in any form

(copyrights / respective owners)

Example: Views

View

Many Delivery Channels

(copyrights / respective owners)

Example: Controllers

Controller

Many Delivery Channels

(copyrights / respective owners)

APIs Enable Separation & Focus

Model View Controller

Data Anywhere in any form

Many Delivery Channels

Third parties operating on data

Distributed Applications

Software + APIs allow Businesses to co-evolve

much faster

Fundamentally Different Model of Programming

(MVC is only one model – the point is: componentization is possible)

Conclusions

APIs Software World

Take Aways

1

2

The World will get Software Enabled

… and hence API Enabled

=> Radical impact on the Software we write and what is possible

=>… The shift is as radical as the emergence of the Web …

Thank you!

steve@3scale.net@njyx, @3scale

We make Awesome API Management Tools:http://www.3scale.net/

Recommended