APIs for your Business
 +
 Stages of the API Lifecycle

Nicolas Grenié !

Hacker in Residence at 3scale.net Out-of-the-box API Management @3scale

API Workshop at TheFamily Paris, December 5, 2014

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 The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

API !

Application Programming Interface

What’s an API?

" The Family - Paris - Nov. 2014

# Nicolas Grenié - !picsoung

APIs for Developers ✴Enrich functionality ✴Increase attractiveness by new combinations ✴Leverage brand strength ✴Integrate more easily and quickly The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

APIs for Companies/ Organisations ✴Create/revive revenue sources ✴Deliver wider reach ✴Foster (external) innovation ✴Increase efficiency The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

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/

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

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

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Example 3: 
 Foster (external) innovation

✴Only 1 app developed by Fitbit in-house ✴Third party apps in Fitbit’s ecosystem accumulated are worth $1m of development cost Source: http://www.slideshare.net/faberNovel/why-shouldicareaboutap-is4/53

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

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/

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

But what really is the power of APIs ?

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

!



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/

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Asymmetric Business Models Side 1

Side 2..n

Get most of the services

Pays

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

APIs enable the creation of platforms. …can serve n victimized markets !

$ A platform The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

The API lifecycle and tools

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung


/

/
 an Pl ign s

De

e r a e h g S ga n E

!

Ma

/
 e at er ge na

Op

The API Lifecycle.

ld i u


/

B g e t In

e t ra


/

/
 an Pl ign s

De

e r a e h g S ga n E

!

Ma

/
 e at er ge na

Op

The API Lifecycle.

ld i u


/

B g e t In

e t ra

Plan / Design Why API? !

Alignment with overall business strategy What do we want to achieve?

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Plan / Design • Resource

modeling: Fine- vs coarse grained • Nouns and verbs (resources/HTTP) • http://www.thoughtworks.com/insights/blog/rest-apidesign-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-firstdevelopment/ The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Plan / Design • Tools

✴API Blueprint ✴RAML ✴Swagger !

• See

also “Where APIs and Tooling Unite” • http://www.futureinsights.com/home/whereapis-and-tooling-unite.html

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

API Blueprint

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung


/

/
 an Pl ign s

De

e r a e h g S ga n E

!

Ma

/
 e at er ge na

Op

The API Lifecycle.

ld i u


/

B g e t In

e t ra

Coding toools Ruby

• • •

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

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:

• •

hype

App



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

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

!

:

Now

var express = require('express'); //Create new instance of Express object! var 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 server! app.listen(3000);!

!

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

! app.get('/api/account', function(request, response) { ! //Set content-type ! response.type('application/json'); ! //Send text response ! response.status(200).send( ! ! { message: 'Your balance is: '+ balance }); ! ! //...! });

! ! app.put('/api/account', function(request, response) { //Get the change in balance! ! balance = parseInt(request.body.updatebalance); ! //Update the balance... ! ! ! //Notify client ! response.status(200).send( ! ! { message: 'Your new balance is: ' + balance }); ! //... });!

! //...

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

A demo: ‘Health’API ! ! ! •

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



Deployed on Heroku:



https://nicolashealthapi.herokuapp.com (UNSECURED!!)

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

A demo: ‘Health’API •

Test with Postman



http://www.getpostman.com



(test live APIs quickly)

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

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?

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung


/

/
 an Pl ign s

De

e r a e h g S ga n E

!

Ma

/
 e at er ge na

Op

The API Lifecycle.

ld i u


/

B g e t In

e t ra

App / Website

The Family - Paris - Nov. 2014

API

Operate / Manage

Nicolas Grenié - !picsoung

Backend

Operate / Manage App / Website

API Management

API

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

Backend

http://manfredhealthapp.herokuapp.com

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Demo 1: Securing the API 
 via API Management

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Demo 2: API Analytics
 via API Management

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

What’s left to do ?

Your own deployment of the traffic agent.

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Deployment

#

Proxy

infrastructure

OR

App / Website The Family - Paris - Nov. 2014

API Management

API

Plugin

Nicolas Grenié - !picsoung

Backend

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. The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung


/

/
 an Pl ign s

De

e r a e h g S ga n E

!

Ma

/
 e at er ge na

Op

The API Lifecycle.

ld i u


/

B g e t In

e t ra

Share / Engage

Image source: http://dx.jeremiahlee.com/

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Acceleration

Community 
 Building Pilots / 
 Case Studies Comms Social Media

Events

Evangelist

Developer Portal

Measure

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Demo 3: API Documentation
 via API Management

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Out-of-the-box API Management

For API Providers

API Management

For Developers

Market Education & Evolution

apistrategyconference.com 3scale.net

www.apitools.com apicodex.3scale.net

APIs.io

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

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.

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

APIs for your Business
 +
 Stages of the API Lifecycle

Q&A

• ! •

Manfred Bortenschlager



[email protected]

! •

I work at 3scale.net



Out-of-the-box API Management



@3scale

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

APIs for your Business
 +
 Stages of the API Lifecycle

Nicolas Grenié !

Hacker in Residence at 3scale.net Out-of-the-box API Management @3scale

API Workshop at TheFamily Paris, December 5, 2014

• www.apitools.com

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

APItools.com •

1. Managing & Monitoring APIs



2. Modifying API calls

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

How does it work ? Web APIs

reque sts

APItools respo

My app ★ ★ ★ ★

Manage APIs nses

Test & Debug Modify API traffic Analytics

Others…

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

Tools for Developers •

APItools •

https://www.apitools.com/

!



Postman •

http://www.getpostman.com/

The Family - Paris - Nov. 2014

Nicolas Grenié - !picsoung

API - GitHub

Dec 5, 2014 - •http://www.thoughtworks.com/insights/blog/rest-api- ... Slim http://coenraets.org/blog/2011/12/restful-services-with-jquery-php-and- ... Page 24 ...

4MB Sizes 5 Downloads 547 Views

Recommend Documents

StackMap API Specification - GitHub
domain is the specific StackMap installation for your library. POST Data. The POST ... A node with the name of the library to search for the holding. ▫ Attributes.

BamTools API Tutorial - GitHub
Mar 23, 2011 - https://github.com/pezmaster31/bamtools/wiki/BamTools-1x_PortingGuide.pdf ... adjust how your app locates the shared library at runtime.

Commands for EV3-API - GitHub
char. Color of text. 1: black text. 0: wihteteext with black background. .... LED color cannot be changed while warning is set. ... (1: true, 0: false).

Sliceable Network Management API - GitHub
virtualizing all layer 2 functions the API distributes resource management such ... can be categorized as Infrastructure as a Service (IaaS) in the cloud computing.

StackMap JSON API Specification - GitHub
o The text of the call number of the holding. ▫ “library” o The text ... o An decimal, the x position of the center of the range on the map, in pixels. ▫ “y” o An decimal ...

Chatter REST API Developer Overview - GitHub
Building an application outside the Salesforce platform. • Pull feed and social graph out into another application. • Push notifications and activity into the feed.

dns1 dns2 time api iscsi 監視 - GitHub
Jul 7, 2014 - SoftLayer. Private. Gateway. SoftLayer dns1. SoftLayer dns2. SoftLayer time. SoftLayer api. SoftLayer iscsi. VS iscsi01. (dns). BMI db01. BMI.

Building Single Page Applications using Web API and ... - GitHub
This book is the pdf version of the online post in chsakell's Blog and ..... For our application there will be only the Admin role (employees) but we will discuss later the scalability options we have in ...... not only to be authenticated but also b

De Novo Variant Caller using Google Genomics API - GitHub
Sep 5, 2014 - fetch mapped reads for these candidate position and makes a finer call using a bayesian inference algorithm. Validation experiments against ...

A Simple API for Grid Applications (SAGA) - GitHub
Jan 25, 2011 - implementations MUST make a best-effort attempt to free associated re- sources ...... saga::task t1 = f.read (100, buf1);. 26 saga::task t2 ...... Extended I/O GridFTP (which was designed for a similar target domain) introduced an ...

Roads API
Cost savings could include more accurate expenses reimbursements. Also if you want con- sistent distance reporting for the same route (e.g. a cycling app to.

Directions API
Takes traffic congestion and flow into account to determine the optimal route. ... Improve customer service ... CUSTOMERS WHO USE DIRECTIONS API ... or to learn more about how customizing Google Maps can impact your business,.

Places API
The Google Places API for Android can provide a great Autocomplete experience for address entry in your mobile application. Places API. Improved customer ...

Expandable Ads API
Jan 12, 2009 - 2 How to Test a GCN Expandable Ad. How to Create a GCN ... Create a new HTML file, called creative1.html, with the following contents: 2.

Google Maps API
Whether searching for the perfect restaurant, checking out the best hotels or finding the nearest ... The social element of the map means users can share their running routes or ... on the map, pledge deeds to help the campaign and invite friends to

Google Maps API
Intoscana is Tuscany's official web site and was created to expose the beautiful. Tuscany region ... to online travel frustrations by providing its users with the ... new free tools. ... web. Dave Troy, the creator of Twittervision, explains a little

Distance Matrix API
Store locators, rideshare/taxi applications, and logistics companies are common applications that benefit from using the Distance Matrix service. In these use ...

A REST API for the groupware Kolab with support for different ... - GitHub
Für die Opensource-Groupware Kolab1 gibt es bisher ein PHP-basiertes Web-Frontend. Als Alternative dazu soll eine .... 5.4 VCard's (social) network properties . ..... truthfully points out[Ope11, Social API Server, sec 2,Services]:. “OpenSocial ..

api 2530 pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. api 2530 pdf.

api 8b pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. api 8b pdf.

pdf js api
Loading… Page 1. Whoops! There was a problem loading more pages. pdf js api. pdf js api. Open. Extract. Open with. Sign In. Main menu. Displaying pdf js api.