Top Banner
@ManfredBo APIs for your Business + Stages of the API Lifecycle Manfred Bortenschlager I work for 3scale.net Out-of-the-box API Management @3scale API Workshop at Startupbootcamp Berlin Berlin, October 17, 2014
47

API Management Workshop (at Startupbootcamp Berlin)

Jul 14, 2015

Download

Technology

3SCALE
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo

APIs for your Business

+

Stages of the API Lifecycle

Manfred Bortenschlager

I work for 3scale.netOut-of-the-box API Management

@3scale

API Workshop at Startupbootcamp BerlinBerlin, October 17, 2014

Page 2: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo2

Outline

1. Four business benefits of APIs

2. The API lifecycle

• Plan/Design

• Build/Integrate

• Operate/Manage

• Share/Engage

3. Wrap-up and take-aways

Page 3: API Management Workshop (at Startupbootcamp Berlin)

APIApplication Programming Interface

Page 4: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo4

What’s an API?

Page 5: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo5

APIs for Developers

Enrich functionality

Increase attractiveness by new combinations

Leverage brand strength

Integrate more easily and quickly

Page 6: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo6

APIs for Companies/Organisations

1. Create/revive revenue sources

2. Deliver wider reach

3. Foster (external) innovation

4. Increase efficiency

Page 7: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo7

Example 1:

Create/revive revenue sources

25% of revenue growth driven by APIs

750,000 fundraising pages created using

JustGiving APIs raising £76m

40% annual user growth

Source: http://www.3scale.net/resources/customer-stories/

Page 8: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo8

Example 2:

Deliver wider reach

700 partners created 50,000 third party apps/services

300m monthly uniques who see the brand on other sites

The API gave reach and brand awareness which would not

have been possible with traditional marketing.

(Dick Brouwer, TripAdvisor Director of Engineering)

Source: http://bit.ly/1uk6Oo7

Page 9: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo9

Example 3:

Foster (external) innovation

Only 1 app developed by Fitbit inhouse

Third party apps in Fitbit’s ecosystem

accumulated are worth $1m of development

cost

Source: http://www.slideshare.net/faberNovel/why-shouldicareaboutap-is4/53

Page 10: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo10

Example 4:

Increase efficiency

Wrap every internal service with an API – or you are

fired

Better re-usability, quicker integration, spot

opportunities, get to market quicker (AWS)

Source: http://apievangelist.com/2012/01/12/the-secret-to-amazons-success-internal-apis/

Page 11: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo11

But what really is the power of APIs ?

Page 12: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo12

APIs enable the creation of platforms.

Platforms enable 2-sided / n-sided business

models.

(aka Asymmetric Business Models)

See also VisionMobile report on Asymmetric Business Models:

http://www.visionmobile.com/product/asymmetric-business-models/

Page 13: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo13

Asymmetric Business Models

Side 1

Gets most of the

services

“Home” market

Side 2..n

Pays

“Victimized” market(s)

Page 14: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo14

APIs enable the creation of platforms.

A Platform…

…can serve n victimized markets !

Page 15: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo15

The API Lifecycle.

And Tools…

Page 16: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo16

The API

Lifecycle.

Page 17: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo17

Page 18: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo18

Plan / Design

Why API?

Alignment with overall business strategy

What do we want to achieve?

Page 19: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo19

Plan / Design

• Resource modelling: Fine- vs coarse grained

• Nouns and verbs (resources/HTTP)

• http://www.thoughtworks.com/insights/blog/rest-api-design-

resource-modeling

• Decouple DB API

• “How to design APIs that last”

• http://apiux.com/2014/09/05/api-design-sustainability/

• API-first design

• https://pop.co/blog/why-we-chose-api-first-development/

Page 20: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo20

Plan / Design

Tools

• API Blueprint

• RAML

• Swagger

See also “Where APIs and Tooling Unite”

http://www.futureinsights.com/home/where-apis-and-tooling-

unite.html

Page 21: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo21

API Blueprint

Page 22: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo22

Page 23: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo23

• Ruby• Grape http://www.confreaks.com/videos/475-rubyconf2010-the-grapes-of-rapid

• Sinatra http://www.sinatrarb.com/

• PHP• Slim http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and-the-

slim-framework/

• Node.js: • Express.js, Fortune.js

• Restify http://mcavage.me/node-restify/

• ASP.net

• Python:• Flask Web framework for Python: http://flask.pocoo.org/

• Django for Python: http://www.django-rest-framework.org/

• Java: • JAX-RS

• REST.li http://rest.li/index.html

Page 24: API Management Workshop (at Startupbootcamp Berlin)

var express = require('express');//Create new instance of Express objectvar app = express();

app.get('/api', function(request, response) {//Do something to read a resource

});

app.post('/api', function(request, response) {//Do something to create a resource

});

app.put('/api', function(request, response) {//Do something to update a resource

});

app.delete('/api', function(request, response) {//Do something to delete a resource

});

//Start the serverapp.listen(3000);

Node.js,

Express.js

Page 25: API Management Workshop (at Startupbootcamp Berlin)

app.get('/api/account', function(request, response) {//Set content-typeresponse.type('application/json');//Send text responseresponse.status(200).send(

{ message: 'Your balance is: '+ balance }); //...

});

app.put('/api/account', function(request, response) {//Get the change in balancebalance = parseInt(request.body.updatebalance);//Update the balance...

//Notify clientresponse.status(200).send(

{ message: 'Your new balance is: ' + balance });//...

});

//...

Node.js,

Express.js

Page 26: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo26

A demo: ‘Health’API

https://github.com/3scale/workshop-apistrat2014

Deployed on Heroku:

http://manfredhealthapp.herokuapp.com/ (UNSECURED!!)

Page 27: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo27

A demo: ‘Health’API

Test with Postman

http://www.getpostman.com

(test live APIs quickly)

Page 28: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo28

Unsecured API – What’s the problem?

No knowledge about:

• Who accesses the API?

• What are they doing with the API?

• How to block someone?

• What traffic occurs when by whom?

Page 29: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo29

Page 30: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo30

Operate / Manage

App /

WebsiteBackendA

PI

Page 31: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo31

Operate / Manage

App /

WebsiteAPI

ManagementBackendA

PI

http://api.2445581123523.proxy.3scale.net:80

http://manfredhealthapp.herokuapp.com

Page 32: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo32

Demo 1: Securing the API via API Management

Page 33: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo33

Demo 2: API Analyticsvia API Management

Page 34: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo34

What’s left to do ?

Your own deployment of the traffic agent.

Page 35: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo35

Deployment

Page 36: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo36

Minimum API Operations

Access Control: authentication and authorization to identify the

originator of incoming traffic and ensure only

permitted access.

Rate Limits and Usage Policies: usage quotas and restrictions

on incoming traffic to keep loads predictable.

Analytics: data capture and analysis of traffic patterns to

learn how the API is being used.

Page 37: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo37

Page 38: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo38

Share / Engage

Image source:

http://dx.jeremiahlee.com/

Page 39: API Management Workshop (at Startupbootcamp Berlin)

Developer Portal

Acceleration

Pilots / Case Studies

Community Building

Measure

Com

ms

Socia

l M

edia

Events

Evangelis

t

Page 40: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo40

New ebook

“Building Effective API Programs”

Page 41: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo41

Demo 3: API Documentationvia API Management

Page 42: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo42

Out-of-the-Box API Management

API Management

For Developers

www.apitools.com

Out-of-the-box

API Management

For API Providers

3scale.net

apistrategyconference.com

apicodex.3scale.net

Market Education &

Evolution

APIs.io

Page 43: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo43

Take-aways

There can be an enormous benefit in APIs -- shown by many

successful examples.

It needs to be crystal clear what you want to achieve. The API needs

to be aligned with the business strategy.

APIs enable Asymmetric Business Models to tackle many markets.

Carefully consider all four stages in the API lifecycle.

Exposing data or services via APIs alone is not enough. Make sure

you secure, monitor and manage APIs.

Page 44: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo

Q&AManfred Bortenschlager

I work at 3scale.netOut-of-the-box API Management

@3scale

APIs for your Business

+

Stages of the API Lifecycle

Page 45: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo45

www.apitools.com

Page 46: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo46

APItools.com

1. Managing & Monitoring APIs

2. Modifying API calls

Page 47: API Management Workshop (at Startupbootcamp Berlin)

@ManfredBo47

How does it work ?

My app APItools

★ Manage APIs

★ Test & Debug

★ Modify API traffic

★ Analytics

requests

responses

Web APIs

Others…