Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Architecture of an API Platform

4,392 views

Published on

My presentation from Nordic APIs 2014 in Stockholm, Sweden.

How can the architecture of one API platform look like? How can you break down things to make this challenge easier?

Published in: Internet

The Architecture of an API Platform

  1. 1. The Architecture of an API Platform Johannes Lundberg @johannesl
  2. 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. 3. The essence of an API Turning traditional complexity into programatic simplicity.
  4. 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. 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. 6. DATA ACCESS - Self contained Consumer API Backend ! Data
  7. 7. DATA ACCESS - Self contained Consumer API Backend ! Vendor Data
  8. 8. SIDE EFFECTS - Self contained Consumer API Backend ! Machinery
  9. 9. SIDE EFFECTS - Vendor dependent Consumer API Backend ! Vendor Services
  10. 10. REALITY? Consumer API Backend ! Vendor Services Machinery Data
  11. 11. REALITY?? Consumer API Backend ! ! ! ! ! Vendor Data Vendor Services Machinery Data Machinery Data Data Vendor Machinery Services
  12. 12. What’s the main features of your API?
  13. 13. We all know development costs.. ! Prototype first!
  14. 14. Prototype first! Yes, with customers. Consumer API
  15. 15. 1. Your API should work. 2. According to specs. ! 3. Maintainability.. 4. Scalability.. 5. Feature creep..
  16. 16. The golden rule of API design When in doubt! Leave it out!
  17. 17. XML vs JSON Servers vs IaaS! PUSH vs POLL OAuth vs Basic! Consistency vs Reliability! RabbitMQ vs ZeroMQ
  18. 18. Something like this.. Consumer Consumer API FAILOVER LOAD BALANCER WEB SERVERS MESSAGE BUS WORKERS DATABASES BILLING Vendor Services Machinery BACKUP! DATA! CENTER
  19. 19. Do versioning. Use JSON. Talk to your API consumers. Select vendors carefully. Building APIs! should be complex
  20. 20. 46elks Part 2 - platform engine in-depth Voice, SMS and MMS! in one This document is confidential Unauthorized easy use prohibited API
  21. 21. Customer applications Simple API Customers, Employees, Event audience, Machines SMS, MMS Phone calls platform engine
  22. 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. 23. The Architecture of an API Platform Johannes Lundberg @johannesl

×