Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
What’s Your Type?
Understanding API Types and Choosing
the Right One
Iddo Gino, Founder & CEO, RapidAPI
About RapidAPI
● World’s Largest API Marketplace
○ 1 Million Developers
○ >10,000 APIs
○ Billions of API Calls
● Founded i...
Agenda
Proliferation of APIs1
2 APIs in the Enterprise
5 Questions (and Answers)
4 Next-generation Platform for All APIs
3...
Proliferation of APIs
● Developers are increasingly utilizing APIs to develop new applications and software
● API Economy ...
Proliferation of APIs – Grows as Company Scales
16
29
52
82
92
160
307
Less than 10 10-50 51-100 101-500 501-1,000 1,001-5...
3.2%
5.6%
8.8% 8.8%
10.4%
8.0%
10.8%
12.4%
8.0% 8.0%
7.2%
8.8%
How many APIs in your organization?
Imperva API Survey, 201...
APIs used in the Enterprise
Continuous Process
• Powering integrations with
select partners & customers
• Exposed on a per...
API Types Explained
APIs - Many Shapes and Forms
● Technology and standards landscape in
APIs is shifting
● API standards are diverging – more...
Older Mature Cutting Edge
RPC
SOAP
Webhooks
REST
Pub/Sub
GraphQL
Protobuffs
gRPC
Kafka
API Types Maturity Scale
1960s
1990...
API Diversity
APIs / microservices play varied roles in applications
● Data retrieval
● CRUD
● Job executions (encoding, s...
● REST APIs are used to call resources and
allow software to communicate based on
standardized principles, properties, and...
● REST operates on a simple
request/response system
● Response returns relevant data, which
can be formatted as JSON, XML,...
● Relies on XML to make requests and
receive responses
● Ideal for transactions that involve multiple
calls or application...
When to use REST vs. SOAP
Familiarity – Dev team has used, short learning curve
Interoperability – Most platforms/framewor...
● Query language developed by Facebook
that lets the client define the structure of
the data required
○ Request data from ...
● Pre-defined schema is what allows the
client to specify the exact shape of
data returned
● Ability to define exact reque...
Easy of Use – Aggregates data from multiple
sources into one convenient API
When to Use GraphQL
REST
Kafka Webhooks PUB/SU...
● Stream-processing software platform
developed by LinkedIn
● Popular with large enterprise due to the
unique ability to h...
How Queue Based APIs Work
Queue
Web Client
Encoding
Service
Encode
Request
Encode
Request
Confirmation
Encode
Request
Async Processing– Processes / flows don’t
happen in real-time
High Performance – Due to low latency, Kafka
can handle more...
● Webhook – Method for server-side app to notify
client-side app that an event has occurred
Other API Types – Webhooks and...
Other API Types – RPC, gRPC, and Protobufs
Open sourced version of RPC
introduced by Google (uses
HTTP/2)
Use case: Used f...
A Heterogeneous Environment
Transactions
Service
RPC
Account
Balances
SOAP
User IDs
REST
International
Wires
Kafka
Product...
A Homogenous Environment
Transactions
Service
RPC
Account
Balances
SOAP
User IDs
REST
International
Wires
Kafka
Product
In...
Next-generation API Platform
Microservices: 68% are Using or Investigating
● Internal APIs = microservices & internal systems
● Hundreds of internal AP...
APIs – Start Inside Out
Internal APIs.
Used by: internal developers.
Used for: creating new products and integrations.
Par...
Internal APIs – Unlocking Innovation
● To innovate, developers need access to data and
functionality
● That data and funct...
Enterprise API Hub
Enterprise
API Hub
API Creators
Publish APIs
Internal Developers
Discover & Connect
to APIs
External De...
API Platform
Publish API Documentation
CI/CD & Gateway Integration
Access & Visibility Control
Support for All API Types
M...
API Platform
API Search
Tagging and Filtering
Interactive API Testing
Code Snippets for Integration
Monitoring & Analytics
API Platform Control API Visibility
Define API Readiness Requirements
Ensure Compliance
Track API Usage
RapidAPI
RapidAPI – Powering the API Economy
Discover APIs
Developers use RapidAPI to search for APIs, test APIs and compare them b...
RapidAPI – API Discovery
● Search through a catalog of over
10,000 APIs.
● Instantly see API metrics, including
uptime, la...
RapidAPI – API Connection
● See all API endpoints &
their parameters.
● Test any API directly from
the website.
● Copy cod...
RapidAPI – API Consumption Analytics
● View analytics on API
call volume, latency and
error rate.
● Identify issues by dig...
RapidAPI – API Monetization
● Create billing plans
● Automatically invoice users
● Bill per object
● Rate limiting by plan...
Built for Every API
REST / SOAP
GraphQL
Kafka
Conclusion
● Determine how the API works, when to use it, and if it is at a
point in maturity that makes sense for your ap...
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing the Right One by Iddo Gino
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing the Right One by Iddo Gino
Nächste SlideShare
Wird geladen in …5
×

INTERFACE by apidays_What's your Type? Understanding API Types and Choosing the Right One by Iddo Gino

274 Aufrufe

Veröffentlicht am

INTERFACE by apidays
What's your Type? Understanding API Types and Choosing the Right One
Iddo Gino, Rapid API CEO

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

INTERFACE by apidays_What's your Type? Understanding API Types and Choosing the Right One by Iddo Gino

  1. 1. What’s Your Type? Understanding API Types and Choosing the Right One Iddo Gino, Founder & CEO, RapidAPI
  2. 2. About RapidAPI ● World’s Largest API Marketplace ○ 1 Million Developers ○ >10,000 APIs ○ Billions of API Calls ● Founded in 2015 ● Based in San Francisco & Tel Aviv ● Backed by:
  3. 3. Agenda Proliferation of APIs1 2 APIs in the Enterprise 5 Questions (and Answers) 4 Next-generation Platform for All APIs 3 API Types – From REST to Kafka
  4. 4. Proliferation of APIs ● Developers are increasingly utilizing APIs to develop new applications and software ● API Economy is predicted to grow to $2.2 Trillion dollars ● Already yielded multiple unicorns: Ovum, “Realizing the Business Value of APIs,” October 2014 Google Searches for “Rest API”, 2004-2019 Acquired - $3B Public - $15B Private - $35B Acquired - $800M Public - $18B Private - $1.1B
  5. 5. Proliferation of APIs – Grows as Company Scales 16 29 52 82 92 160 307 Less than 10 10-50 51-100 101-500 501-1,000 1,001-5,000 5,001-10,000 Organization Size How many APIs in your organization? RapidAPI API Survey, 2019
  6. 6. 3.2% 5.6% 8.8% 8.8% 10.4% 8.0% 10.8% 12.4% 8.0% 8.0% 7.2% 8.8% How many APIs in your organization? Imperva API Survey, 2018 APIs in the Enterprise ● Developers are increasingly utilizing APIs to develop new applications and software ● 50% of organizations have more than 300 APIs ● Many have thousands of APIs ● Many organizations are enabling customers and partners to leverage their APIs
  7. 7. APIs used in the Enterprise Continuous Process • Powering integrations with select partners & customers • Exposed on a per-need basis • Requires direct business agreement / relationship Partner APIs • Internal services created by development team • Used to build applications and services • Not exposed externally Internal APIs • Used by developers to speed up development • May be integrated on an ad- hoc basis by developers • Used for basic infrastructure and functionality Public APIs
  8. 8. API Types Explained
  9. 9. APIs - Many Shapes and Forms ● Technology and standards landscape in APIs is shifting ● API standards are diverging – more specialized standards are introduced ● Starting to adopt event driven architecture ● Makes API discovery & integration more difficult 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% REST SOAP Webhooks Severless & FaaS GraphQL gRPC API Technology Adoption Using in Production In POC Investigating Aware But Not Using Unfamiliar RapidAPI API Survey, 2019
  10. 10. Older Mature Cutting Edge RPC SOAP Webhooks REST Pub/Sub GraphQL Protobuffs gRPC Kafka API Types Maturity Scale 1960s 1990s 2000s 2010s
  11. 11. API Diversity APIs / microservices play varied roles in applications ● Data retrieval ● CRUD ● Job executions (encoding, sending, etc) ● Conversion Thus the technical requirements vary ● Data exploration ● Low latency / low overhead ● Load management / async behavior There isn’t a one size fit all…
  12. 12. ● REST APIs are used to call resources and allow software to communicate based on standardized principles, properties, and constraints ● Uses HTTP requests to GET, PUT, POST and DELETE data Who uses it REST (Representative State Transfer) GraphQL Kafka Webhooks PUB/SUB RPC gRPC Protobufs SOAPSOAPREST
  13. 13. ● REST operates on a simple request/response system ● Response returns relevant data, which can be formatted as JSON, XML, plain text, images etc. ● RESTful APIs can be designed with different endpoints that return different data ● Accessing multiple endpoints requires multiple calls How REST Works REST REST RESTClient Database
  14. 14. ● Relies on XML to make requests and receive responses ● Ideal for transactions that involve multiple calls or applications where security is the main consideration ● Less complex – requires less coding in the app layer for transactions, security and other functions Who uses it SOAP (Simple Object Protocol) REST GraphQL Kafka Webhooks PUB/SUB RPC gRPC Protobufs REST SOAP
  15. 15. When to use REST vs. SOAP Familiarity – Dev team has used, short learning curve Interoperability – Most platforms/frameworks interface with REST Flexibility – REST APIs can handle multiple types of calls and return different data formats. Performance – Recommend for higher loads and processes. Development efficiencies – Rest APIs are reusable; can build independent microservices that work independently of one another REST Legacy – many older platforms will come with SOAP based APIs Extensibility – Allows for extensions that introduce powerful features (Windows Server) Neutrality – Operates over a wide range of protocols Transactional reliability – Reliable for financial transactions Independence – Compatible with nearly any programming language Standardization – Designed rules and specs SOAP
  16. 16. ● Query language developed by Facebook that lets the client define the structure of the data required ○ Request data from multiple sources in a single request ○ Control exactly what information your application receives in the response Who uses it GraphQL REST Kafka Webhooks PUB/SUB RPC gRPC Protobufs SOAPSOAP GraphQL
  17. 17. ● Pre-defined schema is what allows the client to specify the exact shape of data returned ● Ability to define exact request and response structure cuts down on the resources and bandwidth required ● Returns only the desired data in the response How GraphQL Works REST
  18. 18. Easy of Use – Aggregates data from multiple sources into one convenient API When to Use GraphQL REST Kafka Webhooks PUB/SUB RPC gRPC Protobufs SOAPSOAP GraphQL Performance – combine queries & omit unnecessary data Development efficiencies – decouples front end and backend development Ease of onboarding – self documenting APIs
  19. 19. ● Stream-processing software platform developed by LinkedIn ● Popular with large enterprise due to the unique ability to handle and process data streams and ingest/move large amounts of data quickly ● 5 core Kafka-based APIs: Producer, Consumer, Streams, Connector, Admin Who uses it Kafka (async / queue based APIs) GraphQL Webhooks PUB/SUB RPC gRPC Protobufs SOAPSOAPREST Kafka
  20. 20. How Queue Based APIs Work Queue Web Client Encoding Service Encode Request Encode Request Confirmation Encode Request
  21. 21. Async Processing– Processes / flows don’t happen in real-time High Performance – Due to low latency, Kafka can handle more messages of high volume/velocity Scalable – Distributed system that can be scaled independently Reliable – Record processes and handle failures gracefully When to Use Kafka REST Webhooks PUB/SUB RPC gRPC Protobufs SOAPSOAP GraphQL Kafka
  22. 22. ● Webhook – Method for server-side app to notify client-side app that an event has occurred Other API Types – Webhooks and Pub/Sub Webhooks Pub/Sub ● Pub/Sub – Asynchronous communication method where messages are exchanged between applications without knowing the sender or recipient When to Use: Real-time events that require you to send data from one application to another When to use: For event-driven architectures, balancing workloads or data streaming
  23. 23. Other API Types – RPC, gRPC, and Protobufs Open sourced version of RPC introduced by Google (uses HTTP/2) Use case: Used for low latency, scalable, distributed systems (i.e. mobile application development) Uses a client-server model to enable one program to request a service from another program over a network Use case: RPC is used to call other processes on a remote system with the same Google’s language-neutral, platform-neutral, extensible mechanism for serializing structured data Use case: Smaller and faster than XML, used for RPC systems and storage of data. RPC gRPC Protobufs
  24. 24. A Heterogeneous Environment Transactions Service RPC Account Balances SOAP User IDs REST International Wires Kafka Product Information GraphQL Loan Approvals REST Credit Score Checks REST Facebook Login GraphQL Credit Card Network REST OCR Service REST On-premise Private Cloud 3rd Party
  25. 25. A Homogenous Environment Transactions Service RPC Account Balances SOAP User IDs REST International Wires Kafka Product Information GraphQL Loan Approvals REST Credit Score Checks REST Facebook Login GraphQL Credit Card Network RE OCR Service REST API Hub
  26. 26. Next-generation API Platform
  27. 27. Microservices: 68% are Using or Investigating ● Internal APIs = microservices & internal systems ● Hundreds of internal APIs VS tens of external APIs ● Most APIs start as internal and graduate to be public facing 29% 15% 24% 30% Using microservices in production Using microservices in development Investigating microservices Other (2%) Not using microservices Ngnix Survey, 2015
  28. 28. APIs – Start Inside Out Internal APIs. Used by: internal developers. Used for: creating new products and integrations. Partner APIs. Used by: existing customers & partners. Used for: deep integrations, dashboarding, reports. Public APIs. Used by: any 3rd party developer (self-service). Used for: new applications & services.
  29. 29. Internal APIs – Unlocking Innovation ● To innovate, developers need access to data and functionality ● That data and functionality is siloed behind APIs ● Organizing internal APIs ○ Makes data and functionality more accessible ○ Enables developers to innovate ○ Speeds up time to market New Digital Experience API API API API
  30. 30. Enterprise API Hub Enterprise API Hub API Creators Publish APIs Internal Developers Discover & Connect to APIs External Developers Governance Team Manage APIs
  31. 31. API Platform Publish API Documentation CI/CD & Gateway Integration Access & Visibility Control Support for All API Types Monetization
  32. 32. API Platform API Search Tagging and Filtering Interactive API Testing Code Snippets for Integration Monitoring & Analytics
  33. 33. API Platform Control API Visibility Define API Readiness Requirements Ensure Compliance Track API Usage
  34. 34. RapidAPI
  35. 35. RapidAPI – Powering the API Economy Discover APIs Developers use RapidAPI to search for APIs, test APIs and compare them based on latency, uptime and popularity. Connect to APIs RapidAPI gives developers a single SDK and access point to connect to any API. Developers pay for APIs via RapidAPI. Monitor & Analyze APIs Developers use RapidAPI dashboard to monitor API performance and switch APIs seamlessly.
  36. 36. RapidAPI – API Discovery ● Search through a catalog of over 10,000 APIs. ● Instantly see API metrics, including uptime, latency and popularity. ● Powerful API search including API tags and metadata.
  37. 37. RapidAPI – API Connection ● See all API endpoints & their parameters. ● Test any API directly from the website. ● Copy code snippets to embed API connection into your application.
  38. 38. RapidAPI – API Consumption Analytics ● View analytics on API call volume, latency and error rate. ● Identify issues by digging into log level information on API calls.
  39. 39. RapidAPI – API Monetization ● Create billing plans ● Automatically invoice users ● Bill per object ● Rate limiting by plan ● Limit endpoint by plan ● Require DocuSign Signature ● Built-in credit card, ACH support
  40. 40. Built for Every API
  41. 41. REST / SOAP
  42. 42. GraphQL
  43. 43. Kafka
  44. 44. Conclusion ● Determine how the API works, when to use it, and if it is at a point in maturity that makes sense for your application ● Try out new API Types and narrow down the right one that works for your project. ● With the proliferation of APIs, companies needs a centralized API Platform that is runtime agnostic, supports internal and external APIs, and accommodates multiple API types ● The ”right” API type depends on your project goals

×