SlideShare ist ein Scribd-Unternehmen logo
The Architecture of 
an API Platform 
Johannes Lundberg 
@johannesl
”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
The essence of an API 
Turning traditional complexity 
into programatic simplicity.
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
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
DATA ACCESS - Self contained 
Consumer 
API 
Backend 
! 
Data
DATA ACCESS - Self contained 
Consumer 
API 
Backend 
! 
Vendor 
Data
SIDE EFFECTS - Self contained 
Consumer 
API 
Backend 
! Machinery
SIDE EFFECTS - Vendor dependent 
Consumer 
API 
Backend 
! 
Vendor 
Services
REALITY? 
Consumer 
API 
Backend 
! 
Vendor 
Services 
Machinery 
Data
REALITY?? 
Consumer 
API 
Backend 
! 
! 
! 
! 
! 
Vendor 
Data 
Vendor 
Services 
Machinery 
Data 
Machinery 
Data 
Data 
Vendor Machinery 
Services
What’s the main 
features of your API?
We all know 
development costs.. 
! 
Prototype first!
Prototype first! Yes, with customers. 
Consumer 
API
1. Your API should work. 
2. According to specs. 
! 
3. Maintainability.. 
4. Scalability.. 
5. Feature creep..
The golden rule of API design 
When in doubt! 
Leave it out!
XML vs JSON 
Servers vs IaaS! 
PUSH vs POLL 
OAuth vs Basic! 
Consistency vs Reliability! 
RabbitMQ vs ZeroMQ
Something like this.. 
Consumer 
Consumer 
API 
FAILOVER 
LOAD BALANCER 
WEB SERVERS 
MESSAGE BUS 
WORKERS 
DATABASES 
BILLING 
Vendor 
Services 
Machinery 
BACKUP! 
DATA! 
CENTER
Do versioning. 
Use JSON. 
Talk to your API consumers. 
Select vendors carefully. 
Building APIs! 
should be complex
46elks 
Part 2 - platform engine in-depth 
Voice, SMS and MMS! 
in one This document is confidential 
Unauthorized easy use prohibited 
API
Customer 
applications 
Simple API 
Customers, Employees, 
Event audience, Machines 
SMS, MMS 
Phone calls 
platform engine
THE INTERNET 
Developer Applications 
PHP, C#, node.JS etc 
REST API 
HTTPS, JSON 
Basic auth 
TELCO NETWORKS 
nginx w/ SSL 
HTTP(S) 
callbacks 
ABC 
Conceptual module interaction 
HTTP 
Endpoint 
XYZ 
Developer Applications 
PHP, C#, node.JS etc 
Developer Application 
PHP, C#, node.JS etc 
DB XYZ 
Carrier endpoint 
Complex 
protocols 
Nice software 
! 
elkserver 
main source code 
! 
Python + gevent 
DEF 
Internal API 
Processing 
Something 
Module X 
ABC 
123 
46elks
The Architecture of 
an API Platform 
Johannes Lundberg 
@johannesl

Weitere ähnliche Inhalte

Was ist angesagt?

API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
Nadeesha Gamage
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
Bishoy Demian
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
Kasun Indrasiri
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
SlideTeam
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes Istio
Araf Karsh Hamid
 
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
apidays
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
Apigee | Google Cloud
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
Doug Gregory
 
API Integration For Building Software Applications Powerpoint Presentation Sl...
API Integration For Building Software Applications Powerpoint Presentation Sl...API Integration For Building Software Applications Powerpoint Presentation Sl...
API Integration For Building Software Applications Powerpoint Presentation Sl...
SlideTeam
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
Araf Karsh Hamid
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
Amazon Web Services
 
API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)
Apigee | Google Cloud
 
API Governance in the Enterprise
API Governance in the EnterpriseAPI Governance in the Enterprise
API Governance in the Enterprise
Apigee | Google Cloud
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
Guido Schmutz
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | Edureka
Edureka!
 
API Strategy Presentation
API Strategy PresentationAPI Strategy Presentation
API Strategy Presentation
Lawrence Coburn
 
Microservices
MicroservicesMicroservices
Microservices
SmartBear
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
Araf Karsh Hamid
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
Araf Karsh Hamid
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
The Software House
 

Was ist angesagt? (20)

API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
 
API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)API as-a-Product with Azure API Management (APIM)
API as-a-Product with Azure API Management (APIM)
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
API Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation SlidesAPI Management Solution Powerpoint Presentation Slides
API Management Solution Powerpoint Presentation Slides
 
Containers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes IstioContainers Docker Kind Kubernetes Istio
Containers Docker Kind Kubernetes Istio
 
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
APIsecure 2023 - Approaching Multicloud API Security USing Metacloud, David L...
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
 
API Strategy Introduction
API Strategy IntroductionAPI Strategy Introduction
API Strategy Introduction
 
API Integration For Building Software Applications Powerpoint Presentation Sl...
API Integration For Building Software Applications Powerpoint Presentation Sl...API Integration For Building Software Applications Powerpoint Presentation Sl...
API Integration For Building Software Applications Powerpoint Presentation Sl...
 
Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018Microservices Architecture - Bangkok 2018
Microservices Architecture - Bangkok 2018
 
Introduction to Microservices
Introduction to MicroservicesIntroduction to Microservices
Introduction to Microservices
 
API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)API Maturity Model (Webcast with Accenture)
API Maturity Model (Webcast with Accenture)
 
API Governance in the Enterprise
API Governance in the EnterpriseAPI Governance in the Enterprise
API Governance in the Enterprise
 
Building Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache KafkaBuilding Event Driven (Micro)services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
 
Microservices Design Patterns | Edureka
Microservices Design Patterns | EdurekaMicroservices Design Patterns | Edureka
Microservices Design Patterns | Edureka
 
API Strategy Presentation
API Strategy PresentationAPI Strategy Presentation
API Strategy Presentation
 
Microservices
MicroservicesMicroservices
Microservices
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
 
Micro services Architecture
Micro services ArchitectureMicro services Architecture
Micro services Architecture
 
Design patterns for microservice architecture
Design patterns for microservice architectureDesign patterns for microservice architecture
Design patterns for microservice architecture
 

Andere mochten auch

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
Nikolay Vasilev
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
CA API Management
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
LaunchAny
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
matthidinger
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
BoldRadius Solutions
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
LaunchAny
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
CA API Management
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
wajrcs
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
Phill Sparks
 

Andere mochten auch (9)

Domain Driven Design
Domain Driven DesignDomain Driven Design
Domain Driven Design
 
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
API Design Methodology - Mike Amundsen, Director of API Architecture, API Aca...
 
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices  - Austin API MeetupApplying Domain-Driven Design to APIs and Microservices  - Austin API Meetup
Applying Domain-Driven Design to APIs and Microservices - Austin API Meetup
 
Onion Architecture
Onion ArchitectureOnion Architecture
Onion Architecture
 
Domain Driven Design Through Onion Architecture
Domain Driven Design Through Onion ArchitectureDomain Driven Design Through Onion Architecture
Domain Driven Design Through Onion Architecture
 
Designing APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven DesignDesigning APIs and Microservices Using Domain-Driven Design
Designing APIs and Microservices Using Domain-Driven Design
 
Api architectures for the modern enterprise
Api architectures for the modern enterpriseApi architectures for the modern enterprise
Api architectures for the modern enterprise
 
Domain Driven Design using Laravel
Domain Driven Design using LaravelDomain Driven Design using Laravel
Domain Driven Design using Laravel
 
Software Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill SparksSoftware Design Patterns in Laravel by Phill Sparks
Software Design Patterns in Laravel by Phill Sparks
 

Ähnlich wie The Architecture of an API Platform

RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
OCTO Technology
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
ConSanFrancisco123
 
RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By Design
Uri Sarid
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Mindtrek
 
An Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up ChallengeAn Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up Challenge
simonredfern
 
APC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshopAPC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshop
simonredfern
 
Is There An API In That (IoT)?
Is There An API In That (IoT)?Is There An API In That (IoT)?
Is There An API In That (IoT)?
ProgrammableWeb
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
Blockchainizator
 
Speaking APIsh makes your business more agile
Speaking APIsh makes your business more agileSpeaking APIsh makes your business more agile
Speaking APIsh makes your business more agile
Marjukka Niinioja
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
Bui Kiet
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
Apigee | Google Cloud
 
Mulesoft Raml APIs
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIs
akshay yeluru
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
apidays
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
Clickslide
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
Twilio Inc
 
A_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdfA_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdf
PamRobert
 
APIs for... Your Mom
APIs for... Your MomAPIs for... Your Mom
APIs for... Your Mom
Carlo Longino
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...
Marjukka Niinioja
 
Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0
Diego Alberto Tamayo
 

Ähnlich wie The Architecture of an API Platform (20)

RefCard API Architecture Strategy
RefCard API Architecture StrategyRefCard API Architecture Strategy
RefCard API Architecture Strategy
 
Open Ap Is State Of The Market
Open Ap Is State Of The MarketOpen Ap Is State Of The Market
Open Ap Is State Of The Market
 
RAML - APIs By Design
RAML - APIs By DesignRAML - APIs By Design
RAML - APIs By Design
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
 
An Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up ChallengeAn Open Bank Project / Sofit deck for the Open Up Challenge
An Open Bank Project / Sofit deck for the Open Up Challenge
 
APC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshopAPC Hackathon 2017 Open Bank Project workshop
APC Hackathon 2017 Open Bank Project workshop
 
Is There An API In That (IoT)?
Is There An API In That (IoT)?Is There An API In That (IoT)?
Is There An API In That (IoT)?
 
WSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric EnterpriseWSO2Con Asia 2014 - Building the API-Centric Enterprise
WSO2Con Asia 2014 - Building the API-Centric Enterprise
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 
Speaking APIsh makes your business more agile
Speaking APIsh makes your business more agileSpeaking APIsh makes your business more agile
Speaking APIsh makes your business more agile
 
Application Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoftApplication Architecture: The Next Wave | MuleSoft
Application Architecture: The Next Wave | MuleSoft
 
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...O'Reilly author webinar "APIs: A Strategy guide":  Transforming Your Business...
O'Reilly author webinar "APIs: A Strategy guide": Transforming Your Business...
 
Mulesoft Raml APIs
Mulesoft Raml APIsMulesoft Raml APIs
Mulesoft Raml APIs
 
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good APIAPIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
APIdays Paris 2018 - Autonomous APIs, Zdenek Nemec, Founder, Good API
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010Building A Great API - Evan Cooke, Cloudstock, December 2010
Building A Great API - Evan Cooke, Cloudstock, December 2010
 
A_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdfA_Complete_Guide_to_API_Development.pdf
A_Complete_Guide_to_API_Development.pdf
 
APIs for... Your Mom
APIs for... Your MomAPIs for... Your Mom
APIs for... Your Mom
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...
 
Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0Ibm white paper_harnessing_ap_is_and_platforms_0
Ibm white paper_harnessing_ap_is_and_platforms_0
 

Mehr von Johannes Ridderstedt

A proper introduction to Elm
A proper introduction to ElmA proper introduction to Elm
A proper introduction to Elm
Johannes Ridderstedt
 
What is a game?
What is a game?What is a game?
What is a game?
Johannes Ridderstedt
 
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Johannes Ridderstedt
 
Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016
Johannes Ridderstedt
 
OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10
Johannes Ridderstedt
 
Why I love Python!
Why I love Python!Why I love Python!
Why I love Python!
Johannes Ridderstedt
 
Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014
Johannes Ridderstedt
 
Can an API be too simple?
Can an API be too simple?Can an API be too simple?
Can an API be too simple?
Johannes Ridderstedt
 

Mehr von Johannes Ridderstedt (8)

A proper introduction to Elm
A proper introduction to ElmA proper introduction to Elm
A proper introduction to Elm
 
What is a game?
What is a game?What is a game?
What is a game?
 
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
Voice Hackathons ifrån Vinnova Forum Öppna Data 2016-05-20
 
Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016Lightning Talk @ PyCon Stockholm 2016
Lightning Talk @ PyCon Stockholm 2016
 
OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10OpenTTD at trafiklab 2015 06-10
OpenTTD at trafiklab 2015 06-10
 
Why I love Python!
Why I love Python!Why I love Python!
Why I love Python!
 
Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014Why an api? - Exec I/O Mobile 2014
Why an api? - Exec I/O Mobile 2014
 
Can an API be too simple?
Can an API be too simple?Can an API be too simple?
Can an API be too simple?
 

Kürzlich hochgeladen

Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
APNIC
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
3a0sd7z3
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
thezot
 
How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
Infosec train
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
Tarandeep Singh
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
APNIC
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
rtunex8r
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
Donato Onofri
 
cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
GNAMBIKARAO
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
dtagbe
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
3a0sd7z3
 

Kürzlich hochgeladen (11)

Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...Securing BGP: Operational Strategies and Best Practices for Network Defenders...
Securing BGP: Operational Strategies and Best Practices for Network Defenders...
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
 
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
一比一原版新西兰林肯大学毕业证(Lincoln毕业证书)学历如何办理
 
How to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdfHow to make a complaint to the police for Social Media Fraud.pdf
How to make a complaint to the police for Social Media Fraud.pdf
 
Bengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal BrandingBengaluru Dreamin' 24 - Personal Branding
Bengaluru Dreamin' 24 - Personal Branding
 
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
Honeypots Unveiled: Proactive Defense Tactics for Cyber Security, Phoenix Sum...
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
 
cyber crime.pptx..........................
cyber crime.pptx..........................cyber crime.pptx..........................
cyber crime.pptx..........................
 
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
一比一原版(uc毕业证书)加拿大卡尔加里大学毕业证如何办理
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
 

The Architecture of an API Platform

  • 1. The Architecture of an API Platform Johannes Lundberg @johannesl
  • 2. ”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
  • 3. The essence of an API Turning traditional complexity into programatic simplicity.
  • 4. 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
  • 5. 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
  • 6. DATA ACCESS - Self contained Consumer API Backend ! Data
  • 7. DATA ACCESS - Self contained Consumer API Backend ! Vendor Data
  • 8. SIDE EFFECTS - Self contained Consumer API Backend ! Machinery
  • 9. SIDE EFFECTS - Vendor dependent Consumer API Backend ! Vendor Services
  • 10. REALITY? Consumer API Backend ! Vendor Services Machinery Data
  • 11. REALITY?? Consumer API Backend ! ! ! ! ! Vendor Data Vendor Services Machinery Data Machinery Data Data Vendor Machinery Services
  • 12. What’s the main features of your API?
  • 13. We all know development costs.. ! Prototype first!
  • 14. Prototype first! Yes, with customers. Consumer API
  • 15. 1. Your API should work. 2. According to specs. ! 3. Maintainability.. 4. Scalability.. 5. Feature creep..
  • 16. The golden rule of API design When in doubt! Leave it out!
  • 17. XML vs JSON Servers vs IaaS! PUSH vs POLL OAuth vs Basic! Consistency vs Reliability! RabbitMQ vs ZeroMQ
  • 18. Something like this.. Consumer Consumer API FAILOVER LOAD BALANCER WEB SERVERS MESSAGE BUS WORKERS DATABASES BILLING Vendor Services Machinery BACKUP! DATA! CENTER
  • 19. Do versioning. Use JSON. Talk to your API consumers. Select vendors carefully. Building APIs! should be complex
  • 20. 46elks Part 2 - platform engine in-depth Voice, SMS and MMS! in one This document is confidential Unauthorized easy use prohibited API
  • 21. Customer applications Simple API Customers, Employees, Event audience, Machines SMS, MMS Phone calls platform engine
  • 22. THE INTERNET Developer Applications PHP, C#, node.JS etc REST API HTTPS, JSON Basic auth TELCO NETWORKS nginx w/ SSL HTTP(S) callbacks ABC Conceptual module interaction HTTP Endpoint XYZ Developer Applications PHP, C#, node.JS etc Developer Application PHP, C#, node.JS etc DB XYZ Carrier endpoint Complex protocols Nice software ! elkserver main source code ! Python + gevent DEF Internal API Processing Something Module X ABC 123 46elks
  • 23. The Architecture of an API Platform Johannes Lundberg @johannesl