Transcript
Page 1: The Architecture of an API Platform

The Architecture of an API Platform

@johanneslJohannes Lundberg

Page 2: The Architecture of an API Platform

”Self-taught developer. 46elks co-founder. Strongly believe it's possible to combine

powerful features with ease of use. Enjoys vegetarian food and world travel.”

@johannesl

Page 3: The Architecture of an API Platform

Turning traditional complexity into programatic simplicity.

The essence of an API

Page 4: The Architecture of an API Platform

Two kinds of APIs

DATA!ACCESS

SIDE!EFFECTS

- Cloud storage - Online payment - Infrastructure as a service - Cloud communications

- Open data - Twitter & Facebook - Public transportation - Partner APIs

Page 5: The Architecture of an API Platform

Self contained

DATA!ACCESS

SIDE!EFFECTS

DATA!ACCESS

SIDE!EFFECTS

Vendor dependent

- Open data - Twitter & FB - TV channels

- Cloud storage - Paypal - Printing

- Payments - Travel tickets - Telephony & SMS

- Transportation - Social media - Open data

Page 6: The Architecture of an API Platform

DATA ACCESS - Self contained

Consumer

API

Backend !

Data

Page 7: The Architecture of an API Platform

DATA ACCESS - Self contained

Consumer

API

Backend !

Vendor Data

Page 8: The Architecture of an API Platform

SIDE EFFECTS - Self contained

Consumer

API

Backend ! Machinery

Page 9: The Architecture of an API Platform

SIDE EFFECTS - Vendor dependent

Consumer

API

Backend !

Vendor Services

Page 10: The Architecture of an API Platform

REALITY?

Consumer

API

Backend !

Vendor Services Machinery

Data

Page 11: The Architecture of an API Platform

REALITY??Consumer

API

Backend !!!!!

Vendor Services

Machinery

DataMachinery

MachineryVendor Services

Data

Data

Vendor Data

Page 12: The Architecture of an API Platform

What’s the main features of your API?

Page 13: The Architecture of an API Platform

We all know development costs..

!

Prototype first!

Page 14: The Architecture of an API Platform

Prototype first! Yes, with customers.

Consumer

API

Page 15: The Architecture of an API Platform

1. Your API should work. 2. According to specs. !

3. Maintainability.. 4. Scalability.. 5. Feature creep..

Page 16: The Architecture of an API Platform

When in doubt!Leave it out!

The golden rule of API design

Page 17: The Architecture of an API Platform

XML vs JSON Servers vs IaaS!PUSH vs POLL OAuth vs Basic!

Consistency vs Reliability!RabbitMQ vs ZeroMQ

Page 18: The Architecture of an API Platform

Something like this..Consumer

API

Consumer

LOAD BALANCER

FAILOVER

WORKERS

DATABASES

BILLING

WEB SERVERS

MESSAGE BUS

Vendor Services Machinery

BACKUP!DATA!

CENTER

Page 19: The Architecture of an API Platform

Do versioning. Use JSON. Talk to your API consumers. Select vendors carefully.

Building APIs!should be complex

Page 20: The Architecture of an API Platform

Part 2 - platform engine in-depth

46elks

This document is confidential Unauthorized use prohibited

Voice, SMS and MMS!in one easy API

Page 21: The Architecture of an API Platform

Simple API

Customer applications

platform engine

SMS, MMS Phone calls

Customers, Employees, Event audience, Machines

Page 22: The Architecture of an API Platform

THE INTERNETDeveloper Applications

PHP, C#, node.JS etc

REST API HTTPS, JSON

Basic auth

TELCO NETWORKS

nginx w/ SSL

Conceptual module interaction

HTTP(S) callbacks

HTTP

Endpoint

XYZ

Developer Applications PHP, C#, node.JS etcDeveloper Application PHP, C#, node.JS etc

DB XYZ

Carrier endpoint

Complex protocols

Nice software

!elkserver

main source code !

Python + gevent

DEF

ABC

Internal API

Processing

Something

Module X

ABC 123

46elks

Page 23: The Architecture of an API Platform

The Architecture of an API Platform

@johanneslJohannes Lundberg


Top Related