O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

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

277 visualizações

Publicada em

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

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

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