Download - I Love APIs Europe 2015: Developer Sessions

Transcript
Page 1: I Love APIs Europe 2015: Developer Sessions

Vibrant Ecosystems: Adoption in Private or Partner Developer ProgramsKay Lummitsch, API Technology Evangelist - Swisscom !Steve Rowland, SVP WW Sales & Operations - Apigee !

Page 2: I Love APIs Europe 2015: Developer Sessions

Building predictive apps with �λ & μ-services architecture

Alan Ho !

Page 3: I Love APIs Europe 2015: Developer Sessions

@karlunhoAlan Ho

Page 4: I Love APIs Europe 2015: Developer Sessions

Context is King Apps

4

Page 5: I Love APIs Europe 2015: Developer Sessions

Technology Choices Today

5

Datawarehouse RDBMS J2EE AppServer

Page 6: I Love APIs Europe 2015: Developer Sessions

What is Context ?

6

Historical !Events!

Recent!Events! Now!

Page 7: I Love APIs Europe 2015: Developer Sessions

Lambda Architecture

7

Batch Storage

Near RT Storage

Batch Processing

(MR)

Near RealTime

Processing

Query DB

Batch Layer! Serving Layer!

Speed Layer!

APIs

Direct Mail

Email

Web

Mobile

Outreach

Req / Res Processing

Historical Events

Recent Events

Page 8: I Love APIs Europe 2015: Developer Sessions

Netflix Example

8

Page 9: I Love APIs Europe 2015: Developer Sessions

•  Offline = Batch Layer

•  Nearline = Speed Layer

•  Online = Serving Layer

Page 10: I Love APIs Europe 2015: Developer Sessions

Batch Layer (Offline)

•  Singular Value Decomposition

•  Batch like operations

•  High algorithm complexity

•  Results Flow into Cassandra

Page 11: I Love APIs Europe 2015: Developer Sessions

Speed Layer (Near Line)

11

•  Medium request/response!

•  Medium data!

•  Medium algorithm complexity!

•  Intermediate caching, incremental learning algos!

Page 12: I Love APIs Europe 2015: Developer Sessions

Serving layer (Online)•  Fast request/response,

performance is key – high availability/SLA

•  Fallback mechanism to Nearline/Offline operations

•  Low algorithm complexity

Page 13: I Love APIs Europe 2015: Developer Sessions

Final Thoughts:!!•  Very complete system!

•  Very custom and high performance!

•  Lots of specialized systems for specialized tasks!

•  Not practical for most enterprises!

Page 14: I Love APIs Europe 2015: Developer Sessions

Data Scientists & Developers

14

Direct Mail

Email

Web

Mobile

Outreach

How can they work independently ?

Page 15: I Love APIs Europe 2015: Developer Sessions

App Explosion

15

How can I embed predictive in all apps ?

Page 16: I Love APIs Europe 2015: Developer Sessions

Micro-services

16

Page 17: I Love APIs Europe 2015: Developer Sessions

Micro-services Best Practice

17

Isolation REST API

HTTP://<Resource>/

Page 18: I Love APIs Europe 2015: Developer Sessions

Isolation at all tiers

18

Batch Storage

Near RT Storage

Batch Processing

(MR)

Near RealTime

Processing

Query DB

Serving Layer!

APIs

Direct Mail

Email

Web

Mobile

Outreach

Req / Res Processing

Historical Events

Recent Events

Batch Processing

(MR)

Near RealTime

Processing

Req / Res Processing

Batch Processing

(MR)

Near RealTime

Processing

Req / Res Processing

Batch Processing

(MR)

Near RealTime

Processing

Req / Res Processing

Batch Storage

Near RT Storage

Query DB

Batch Storage

Near RT Storage

Query DB

Page 19: I Love APIs Europe 2015: Developer Sessions

API at all tiers

19

Batch Layer! Serving Layer!

Speed Layer!

Direct Mail

Email

Web

Mobile

Outreach

/Scores!

/Counts!

/Recommendations!

Historical Events

Recent Events

Page 20: I Love APIs Europe 2015: Developer Sessions

Insights Deep Dive

Page 21: I Love APIs Europe 2015: Developer Sessions

Recommendations Example

21

Page 22: I Love APIs Europe 2015: Developer Sessions

Recommendation Architecture

22

Hadoop

In-Memory

Insights (GRASP)

Node.js

Node.js API BaaS

(APIs)

Direct Mail

Email

Web

Mobile

Outreach

(Batch Scores)

(Counters)

(Query)

Historical Events

Realtime Events

(Context)

Backend

(Mashup)

3 4

5

1

2 6

Node.js

Page 23: I Love APIs Europe 2015: Developer Sessions

Batch Layer

•  Uses R for building predictive models

•  Algorithms based on Event Sequences

•  Lots and lots of tooling

23

HadoopInsights(GRASP)

API BaaS

(Batch Scores)1

Apigee UI

Page 24: I Love APIs Europe 2015: Developer Sessions

24

R Code!

Page 25: I Love APIs Europe 2015: Developer Sessions

25

Scored Export to Serving Layer!

Page 26: I Love APIs Europe 2015: Developer Sessions

Speed Layer

•  Easy to program via node.js

•  Low algorithm complexity – Storm is overkill for most Apigee customers

•  Simple aggregates via C* counters good enough

•  Good for capturing locations, activity stream, etc.

26

Node.js

API BaaS

Apigee UI

Page 27: I Love APIs Europe 2015: Developer Sessions

BaaS Node.js Counter Example

var event = new Usergrid.Counter(event_options, function (error, result) { … });

// Then we POST the event to increment the countervar counter_options = { name: productName + ’.add_to_cart', value: 1 }event.increment (counter_options, function (error, result)

27

curl -X GET https://api.usergrid.com/my-org/my-app/counters?counter=appleIpad3.add_to_cart

Input code:

Output code:!

Page 28: I Love APIs Europe 2015: Developer Sessions

Microservices Layer

•  API Layer (Swagger)

•  Context Injection

•  Service Orchestration

•  Fallback logic

28

Node.js Node.js API BaaS

Direct Mail

Email

Web

Mobile

Outreach

(Context)

Backend

Page 29: I Love APIs Europe 2015: Developer Sessions

Swagger Based API Design

29

Page 30: I Love APIs Europe 2015: Developer Sessions

Node.js Code

30

Page 31: I Love APIs Europe 2015: Developer Sessions

APIs are Everywhere

31

Hadoop

In-Memory

Insights

Node.js Node.jsAPI BaaS

Direct Mail

Email

Web

Mobile

Outreach

HistoricalEvents

RealtimeEvents

Backend

Hive

RHadoop

Node.js

Storm

Spark

Page 32: I Love APIs Europe 2015: Developer Sessions

Thank you

32

Page 33: I Love APIs Europe 2015: Developer Sessions

LUNCH��

General Hall / Main Concourse�(Sessions resume at 14:00)

Page 34: I Love APIs Europe 2015: Developer Sessions

Model-Driven APIs with 127Greg Brail !

Page 35: I Love APIs Europe 2015: Developer Sessions

Overview•  A bit about API design •  Some ways to turn APIs into code •  A different approach •  Introducing Apigee 127

35

Page 36: I Love APIs Europe 2015: Developer Sessions

API Design

36

Page 37: I Love APIs Europe 2015: Developer Sessions

REST

37

Page 38: I Love APIs Europe 2015: Developer Sessions

API Design is Important•  We have been talking API

design for a long time•  We have an approach that we

like and often recommend•  We believe that it is important to

design APIs carefully, up front

Page 39: I Love APIs Europe 2015: Developer Sessions

My Perspective on API Design•  URIs are important•  Verbs should be used in a consistent way•  Follow common usage•  Links can be helpful

39

Page 40: I Love APIs Europe 2015: Developer Sessions

40

Page 41: I Love APIs Europe 2015: Developer Sessions

Turning Designs into APIs

41

Page 42: I Love APIs Europe 2015: Developer Sessions

An API Design Story•  I designed a lovely, consistent API

–  In a Google Doc •  The team implemented it

–  In Java •  I verified that the implementation matched the doc

–  Using my eyeballs •  We wrote docs

–  Using information from both places

Page 43: I Love APIs Europe 2015: Developer Sessions

There must be a better way…

43

Page 44: I Love APIs Europe 2015: Developer Sessions

Modern Web / API Frameworks•  Write code •  Get an API up quickly •  API design and code are the same

•  Examples: –  Express for Node.js –  Ruby on Rails –  Lots of others

44

Page 45: I Love APIs Europe 2015: Developer Sessions

Another approach: Code First

45

@Path("/my-resource") @Api(value="/my-resource”, description="Rest api for do operations on admin", produces=MediaType.APPLICATION_JSON) @Produces({ MediaType.APPLICATION_JSON }) class MyResource{ @ApiOperation(value = "Get specific element", httpMethod = "GET", notes = "Fetch the selement of the collection", response = Response.class) @ApiResponses(value = { @ApiResponse(code = 200, message = ”Element found"), @ApiResponse(code = 404, message = “Element not found"),

@ApiResponse(code = 500, message = “Server error due to encoding"), @ApiResponse(code = 400, message = "Bad request: decoding error"), @ApiResponse(code = 412, message = ”Prereq: Required data not found")

}) public Response get(

@ApiParam(value = "UUID of the element", required = true) @PathParam("uuid") String uuid) {

Generate

Page 46: I Love APIs Europe 2015: Developer Sessions

A New Approach

46

Page 47: I Love APIs Europe 2015: Developer Sessions

Why Can’t We Do This?1.  Design the API2.  Annotate it with policies3.  Wire it to some back end4.  Run it

Page 48: I Love APIs Europe 2015: Developer Sessions

Swagger 2.0•  Swagger 2.0•  Describes the shape of the API

–  URIs–  Verbs–  Query parameters–  Headers–  Request and response formats

48

Page 49: I Love APIs Europe 2015: Developer Sessions

Building a Model in Swagger 2.0•  Specify API design using YAML

–  URI Paths–  Verbs–  Parameters–  Request format (optional)–  Response format (optional)–  Error responses (optional)

49

Page 50: I Love APIs Europe 2015: Developer Sessions

Plugging in Code•  Point each API operation to some code

–  In our project it is a Node.js module

50

Page 51: I Love APIs Europe 2015: Developer Sessions

Annotating the Model•  The API definition can have “policies”

–  OAuth–  Quota–  Spike arresting–  Caching

•  Each operation can have parameters–  Quota–  OAuth scope–  Etc.

51

Page 52: I Love APIs Europe 2015: Developer Sessions

Introducing Apigee 127

52

Page 53: I Love APIs Europe 2015: Developer Sessions

Introduction to 127

$ npm install -g apigee-127

http://github.com/apigee-127

Page 54: I Love APIs Europe 2015: Developer Sessions

Enterprise APIs, FastWe Handle These:•  Swagger Tools

–  Message validation & routing–  Authorization (OAuth 2.0)

•  Volos.js–  Caching (Apigee Swagger 2.0 Extension)–  Quota (Apigee Swagger 2.0 Extension)–  Analytics (Apigee Swagger 2.0 Extension)

Developers Handle This:•  Business logic

54

ControllerController.js

Page 55: I Love APIs Europe 2015: Developer Sessions

Design-First Approach

55

Add Annotations

Implement Controllers

Add Annotations•  Business Logic•  Policies:

•  Authorization (OAuth)•  Caching•  Quota•  Spike Arrest•  Analytics

Implement Controllers•  Controllers in JavaScript via Node.js•  Future ideas:

•  Declarative pipelines•  Other languages

Page 56: I Love APIs Europe 2015: Developer Sessions

How it Works

56

•  No code generation•  Model is built at start-up time•  A127 middleware applied as defined in Swagger:

–  Caching, Quota, OAuth, Spike Arrest, Analytics, etc.

•  Paths and parameters•  Model Definitions•  Vendor Extensions

(middleware)

Interprets Swagger

Page 57: I Love APIs Europe 2015: Developer Sessions

Execution Options

57

Anywhere / PaaS

127 On-Premises 127 On Edge

127

Anywhere / PaaS

127 On-Premises + Edge

127 127

Page 58: I Love APIs Europe 2015: Developer Sessions

Thank you

Page 59: I Love APIs Europe 2015: Developer Sessions

APIs and Internet of ThingsEd Anuff

VP Product StrategyApigee

John Calagaz,

Chief Technology OfficerCentralite

Page 60: I Love APIs Europe 2015: Developer Sessions

IoT is more than sensors, beacons, Arduinos, and

Raspberry Pi’s…

60

Page 61: I Love APIs Europe 2015: Developer Sessions

App to Device Connection - Smartphone & Tire Sensor

Page 62: I Love APIs Europe 2015: Developer Sessions

Device To Device Connection - Tire Sensor & Air Compressor

62

AIR$1

Page 63: I Love APIs Europe 2015: Developer Sessions

The “I” in IoT is for Internet

63

AIR$1

Page 64: I Love APIs Europe 2015: Developer Sessions

Why does this matter?

64

Page 65: I Love APIs Europe 2015: Developer Sessions

IoT Seeks Network Value

Metcalfe’s LawValue  =  O(n2)  

Page 66: I Love APIs Europe 2015: Developer Sessions

Why is this hard?

66

Page 67: I Love APIs Europe 2015: Developer Sessions

Building The Network Via The Ecosystem

67

Page 68: I Love APIs Europe 2015: Developer Sessions

The number of connected devices is set to dramatically increase

68

Page 69: I Love APIs Europe 2015: Developer Sessions

Too Many Devices, Too Few Developers•  Connected Devices •  Software Developers

• 2013: 6 Billion• 2018: 20 Billion• 333% Increase

Source: Business Insider Intelligence - The Internet Of Everything: 2014

• 2013: 18 Million• 2019: 26 Million• 45% Increase

Source: Evans Data Corporation - Global Developer Population and Demographic Study 2013

Page 70: I Love APIs Europe 2015: Developer Sessions

MISSING:�34 Million Software Developers

70

Page 71: I Love APIs Europe 2015: Developer Sessions

This is a scale problem

71

Page 72: I Love APIs Europe 2015: Developer Sessions

IoT systems are a complex combination of web, app and embedded systems.�

Page 73: I Love APIs Europe 2015: Developer Sessions

73

Things Language

Internet Languages

Page 74: I Love APIs Europe 2015: Developer Sessions

What happens when development is so

fragmented?

74

Page 75: I Love APIs Europe 2015: Developer Sessions

The Promise: Everything is Connected

Page 76: I Love APIs Europe 2015: Developer Sessions

Experiences become fragmented…

76

Page 77: I Love APIs Europe 2015: Developer Sessions

The Reality: Unnerving

Page 78: I Love APIs Europe 2015: Developer Sessions

Today:

78

• Multiple Experiences• Multiple Apps• Multiple Developers• Multiple Ecosystems & Platforms

• Multiple Devices

Page 79: I Love APIs Europe 2015: Developer Sessions

This is a scale problem

79

Page 80: I Love APIs Europe 2015: Developer Sessions

Things Go from Bad

app app app app

Page 81: I Love APIs Europe 2015: Developer Sessions

To Worse

app app app appapp app app

727272

app

cloud

Page 82: I Love APIs Europe 2015: Developer Sessions

How are we going to fix this?

82

Page 83: I Love APIs Europe 2015: Developer Sessions

A common platform?

83

Page 84: I Love APIs Europe 2015: Developer Sessions

The usual suspects…(And countless others, I just got lazy building this slide…)

Page 85: I Love APIs Europe 2015: Developer Sessions

NO!

85

Page 86: I Love APIs Europe 2015: Developer Sessions

The platforms can’t save us…

(Again, but your own favorite IoT, OS, or mobile platform here, still wont save you…)

Page 87: I Love APIs Europe 2015: Developer Sessions

If only there were something like the web, but for apps

and devices…

87

Page 88: I Love APIs Europe 2015: Developer Sessions

…so that developers could work together to make

apps, devices, and systems interoperate…

88

Page 89: I Love APIs Europe 2015: Developer Sessions

Partner Integration

Web site

Wearable Electronics

Gaming Consoles

Smart Appliances

Smart Sensors

Smart phones

Connected Cars

Tablets

KiosksAPI

API

Your Digital Assets

API

API

APIs to the rescue!

Page 90: I Love APIs Europe 2015: Developer Sessions

Opportunity: Internet of Things ecosystems

90

app app app app app app app

Powered by APIs

Digital Experiences

Business Ecosystems

Page 91: I Love APIs Europe 2015: Developer Sessions

A Day in the Life�of an Embedded IoT Architect

Page 92: I Love APIs Europe 2015: Developer Sessions

Centralite: Who are we?

92

Page 93: I Love APIs Europe 2015: Developer Sessions

The Problem

Page 94: I Love APIs Europe 2015: Developer Sessions
Page 95: I Love APIs Europe 2015: Developer Sessions
Page 96: I Love APIs Europe 2015: Developer Sessions
Page 97: I Love APIs Europe 2015: Developer Sessions
Page 98: I Love APIs Europe 2015: Developer Sessions
Page 99: I Love APIs Europe 2015: Developer Sessions
Page 100: I Love APIs Europe 2015: Developer Sessions
Page 101: I Love APIs Europe 2015: Developer Sessions
Page 102: I Love APIs Europe 2015: Developer Sessions

5-24 months

Page 103: I Love APIs Europe 2015: Developer Sessions

5-24 months

As fast as I can!

Page 104: I Love APIs Europe 2015: Developer Sessions
Page 105: I Love APIs Europe 2015: Developer Sessions

Q & A

Page 106: I Love APIs Europe 2015: Developer Sessions

Thank you

Page 107: I Love APIs Europe 2015: Developer Sessions

Afternoon Break��

General Hall / Main Concourse�(Sessions resume at 16:00)

Page 108: I Love APIs Europe 2015: Developer Sessions

Management API’sMichel BurgerApigee

Herve PouponOrange

Peter DunmoreTMF

Page 109: I Love APIs Europe 2015: Developer Sessions

1.  From Best Effort to Operation Excellence

109 2015 Apigee Confidential

2.  How to quickly build or easily participate to a Digital Service Ecosystem

Page 110: I Love APIs Europe 2015: Developer Sessions

So you having fun developing solutions using many API’s

110 2015 Apigee Confidential

Page 111: I Love APIs Europe 2015: Developer Sessions

And this happens….

111 2015 Apigee Confidential

Page 112: I Love APIs Europe 2015: Developer Sessions

Or this….

112 2015 Apigee Confidential

Page 113: I Love APIs Europe 2015: Developer Sessions

Or this….

113 2015 Apigee Confidential

Page 114: I Love APIs Europe 2015: Developer Sessions

And your solution starts to behave badly…

114 2015 Apigee Confidential

Page 115: I Love APIs Europe 2015: Developer Sessions

Will it be nice to be informed that something is going wrong your the solution before using it?

115 2015 Apigee Confidential

Page 116: I Love APIs Europe 2015: Developer Sessions

No need to reinvent the wheel

116 2015 Apigee Confidential

•  Fault•  Configuration•  Accounting•  Performance•  Security

•  Simple Management•  Service Level Agreement•  Performance Management

Page 117: I Love APIs Europe 2015: Developer Sessions

Going from �Best Effort �

to �Operational Excellence

117 2015 Apigee Confidential

Page 118: I Love APIs Europe 2015: Developer Sessions

Many service providers are building digital service ecosystems leveraging their core assets

118 2015 Apigee Confidential

Identity

Powered by

Page 119: I Love APIs Europe 2015: Developer Sessions

Your journey in an Digital Service Ecosystem

119 2015 Apigee Confidential

Product Definition

Product Offering

Product Ordering/Activation

Product Usage and Mediation

Billing Invoicing

Page 120: I Love APIs Europe 2015: Developer Sessions

•  Trouble ticketing•  Catalog Management •  Product Ordering•  DSRA

No need to reinvent the wheel

120 2015 Apigee Confidential

•  Common Service API’s

•  Based on Open Standards

Unifie

d Pr

ofile

Mgm

t

Unifie

d Id

entity

Mgm

t

Cons

isten

t Ope

ratio

n M

gmt

Even

tuall

y Co

nsist

ent

Ope

ratio

n M

gmt

Analy

tics

Com

mer

ce

API Services

Page 121: I Love APIs Europe 2015: Developer Sessions

Creating Digital Service Ecosystem �by quickly on-boarding�independent services

121 2015 Apigee Confidential

Page 122: I Love APIs Europe 2015: Developer Sessions

Management infrastructure needs to be simple and easy to use

122 2015 Apigee Confidential

Focusing on API

Page 123: I Love APIs Europe 2015: Developer Sessions

Management API’s: are they ..

123 2015 Apigee Confidential

Pain killers

Vitamins

vs

Page 124: I Love APIs Europe 2015: Developer Sessions

Q & A

Page 125: I Love APIs Europe 2015: Developer Sessions

Thank you

Page 126: I Love APIs Europe 2015: Developer Sessions

All about that BaaSTo build enterprise apps !!

Page 127: I Love APIs Europe 2015: Developer Sessions

@karlunhoAlan Ho

Page 128: I Love APIs Europe 2015: Developer Sessions

Evolving Digital Architecture

128

ERP Product CatalogsCRM Data LakeData

Warehouse

Systems of Engagement

Partner �Apps

Employee �Apps

Consumer �Apps Insights

Systems of Record

Page 129: I Love APIs Europe 2015: Developer Sessions

Trend 1 : Application Explosion

129

Page 130: I Love APIs Europe 2015: Developer Sessions

Data De-normalization per interaction

130

ERP Product CatalogsCRM Data LakeData

Warehouse

Page 131: I Love APIs Europe 2015: Developer Sessions

Trend 2 : Micro-services & Decentralization

131

Page 132: I Love APIs Europe 2015: Developer Sessions

Micro-services Types

132

Business Logic Services

Data Services

Page 133: I Love APIs Europe 2015: Developer Sessions

Microservices Best Practice

133

Isolation REST API

HTTP://<Resource>/

Page 134: I Love APIs Europe 2015: Developer Sessions

Building Business Logic Services

134

Virtualization Light-weight Scripting

+

Page 135: I Love APIs Europe 2015: Developer Sessions

Building Data Services Approach

135

Virtualization Light-weight Scripting

+ +

NoSQL

Page 136: I Love APIs Europe 2015: Developer Sessions

Scaling becomes very hard

136

X X

Page 137: I Love APIs Europe 2015: Developer Sessions

BaaS : Rethinking of Multi-tenancy

137

Sh

are

d

Sch

em

a

Shared Keyspace S

ep

ara

te

Sch

em

a

Separate Keyspace

+ Isolation

- Scalability

- Scalability

+ Isolation

- Management

+ Isolation

+ Management

+ Scalability

+ Isolation

- Management

+ Scalability

+ Management

Page 138: I Love APIs Europe 2015: Developer Sessions

API BaaS Walkthrough

138

Page 139: I Love APIs Europe 2015: Developer Sessions

139

http://usergrid.incubator.apache.org

Powered by

Page 140: I Love APIs Europe 2015: Developer Sessions

Datastore

Performance Mgmt

Push Notifications

Connections /Social

Location

Users

Page 141: I Love APIs Europe 2015: Developer Sessions

Scalable Persistence

141

SQL JOINS

“These are not the indexes you are looking for…”-Obi-Wan K.

Page 142: I Love APIs Europe 2015: Developer Sessions

Full-text Indexing

142

Page 143: I Love APIs Europe 2015: Developer Sessions

Graph Data Persistence: Entities & Connections

143

User A

Product A

User B

User C

Likes>>

<<Liking

Page 144: I Love APIs Europe 2015: Developer Sessions

API-Driven : REST Semantics

GET PUT POST DELETE

144

Page 145: I Love APIs Europe 2015: Developer Sessions

Filters / Limits / Cursors

GET http://api.usergrid.com/MyOrg/MyApp/users?ql=select * where name = ’John*'&limit=50&cursor=LTIxNDg0NDUxNDpnR2tBQVFFQWdITUFDWFJ2YlM1emJXbDBhQUNBZFFBUUQyMVZneExfRWVLRlV3TG9Hc1doZXdDQWRRQVFIYVdjb0JwREVlS1VCd0xvR3NWT0JRQQ ’

145

Page 146: I Love APIs Europe 2015: Developer Sessions

Datastore

Performance Mgmt

Push Notifications

Connections /Social

Location

Users

Page 147: I Love APIs Europe 2015: Developer Sessions

API BaaS – Users, Roles & Security

147

Page 148: I Love APIs Europe 2015: Developer Sessions

Datastore

Performance Mgmt

Push Notifications

Connections /Social

Location

Users

Page 149: I Love APIs Europe 2015: Developer Sessions

Location Queries

GET /stores?ql=location within 500 of 40.042016, -86.900749

Page 150: I Love APIs Europe 2015: Developer Sessions

Datastore

Performance Mgmt

Push Notifications

Connections /Social

Location

Users

Page 151: I Love APIs Europe 2015: Developer Sessions

Push Notifications

Page 152: I Love APIs Europe 2015: Developer Sessions

Datastore

Performance Mgmt

Push Notifications

Connections /Social

Location

Users

Page 153: I Love APIs Europe 2015: Developer Sessions

Integrated Application Performance Management

153

Errors & Crashes

API Performance

Page 154: I Love APIs Europe 2015: Developer Sessions

Remote Application Configuration

154

Monitoring Config

App Config

A/B Testing

Page 155: I Love APIs Europe 2015: Developer Sessions

Demo

155

Page 156: I Love APIs Europe 2015: Developer Sessions

Thank you

156

Page 157: I Love APIs Europe 2015: Developer Sessions

Closing Keynote�Great Hall�