INTERFACE, by apidays 2021 - It’s APIs all the way down
June 30, July 1 & 2, 2021
The 8 Key Components of a Modern API Stack
Iddo Gino, CEO at RapidAPI
4. Proliferation of APIs
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
Number of APIs by Organization Size
Source: RapidAPI Developer Survey, 2019 - 2020
5. Proliferation of APIs
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
Number of APIs by Organization Size
Internal APIs
Partner APIs
Public APIs
Source: RapidAPI Developer Survey, 2019 - 2020
6. The API Environment Has Evolved
The Old Way The Next-Gen Way
• Basic access controls
• REST and SOAP only
• Data center or private cloud
• Single team building APIs
• Zero to one API gateway
• 10s of APIs
• Fine-grained access controls
• GraphQL, Webhooks, Kafka
• Multi-cloud and hybrid
• Multiple teams building APIs
• Two or more API gateways
• 100s -1,000s of APIs
7. First Generation API Tooling
● Optimized for a environments with fewer APIs that are predominantly SOAP
or REST
● Centered around runtime components
● Forced to chain together point products with no integration
● Designed so the tool is at the forefront; API building in the background
● Not optimized for continuous delivery
8. The Modern API Development Toolchain
● Support a wide range of APIs in addition to SOAP and REST including
GraphQL and Asynchronous APIs like Kafka
● Runtime Agnostic
● Integration from the API client through testing to monitoring
● Designed for the API build process without having to utilize separate tool
● Integration with CI/CD workflows & tooling
9. From Runtime Centric to Developer Centric
👎
Old API management thinking
centers around API runtime
(gateway). Developer tooling is an
afterthought.
👌
New thinking acknowledges multiple
runtimes, and focuses on developer tools
instead.
10. The Modern API Developer Toolchain
👩💻
API
Builder
👨💻
API
Consumer
11. #1 Design
● Product mentality to API creation – start w/ design
● UI based tools allow developers to share designs and mocks more quickly
● Embed client / testing for ongoing development
● Collaboration
● Think about versioning and complex workflows
12. API Design - Top of Mind for Enterprises
86% of large enterprises are
formalizing API design
processes
Source: RapidAPI Developer Survey, 2020-2021
13. API Design – Common Tools
Client First:
Optimized for quick and development experience
with interactive testing and usage.
Spec First:
Optimized for “pure” design with spec editing,
central UI and advanced features.
14. #2 Build & Deploy
Cloud
API API
API
Serverless
API API
API
Service Mesh
API API
API
API
API
API
Data Center
15. #3 Test & Monitor – Why?
● Because API Quality is Important
○ Customer (internal / external) should trust your API
○ Issues with one API can affect many applications
● Because it has Added Value
○ Can achieve real CI/CD process
○ Can be used to monitor production environments
○ Can be used to analyze performance & load
● Because it’s Easy
○ APIs lend themselves nicely to black-box testing
○ APIs exposed a well-defined surface for testing
○ APIs are stable - and thus so are tests
Contract
Validation
Functional
Validation
Performance
Validation
16. API Testing is a Top Priority for Developers
92% of all developers plan
to test APIs in 2021
Source: RapidAPI Developer Survey, 2020-2021
17. #4 Publish
● Ability to define access to API –
by teams / roles
● Publish “full” API – not just specs
● Make API “self-serviceable”
18. The Modern API Develop Toolchain
👩💻
API
Builder
👨💻
API
Consumer
19. #5 Discover
● Single place for all APIs – developers don’t care about underlying location
● Contextual search – permissions, environments, etc.
● View API metrics, including uptime, latency, and popularity.
● Use advanced filtering to search by tag, metadata, categories, etc.
● Get to Docs fast!
21. #6 Evaluate
● Test, Test, Test – it’s all about “Time
to 200”!
● Give real access as soon as possible
○ Production
○ Playground
○ Mocks
● Experimentation promotes re-use!
22. #7 Integrate
● Support integrations with SDKs, code snippets
● Make it easier to embed APIs into applications
● “Time to 200” thinking
● Examples go a long way!
23. #8 Monitor
● Critical for debugging and understanding API impact
● Comprehensive monitoring capabilities with the ability to access insights across
all APIs that are consumed
● Deep analytics (requests, errors latency) group by individual applications per
API and API endpoint
● Intuitive UX View aggregate API analytics by API or by Application
24. Summary – The Next Generation API Stack
✔ Think about the entire flow – Consumer and Builder
✔ Get tools that work well together
✔ Optimize for openness
✔ Support multiple API types
✔ Be environment agnostic
✔ Development tools separate from runtime components
Notas del editor
This is from a developer survey we ran last year, that shows as organizations grow so does the number of APIs in use
We see three main categories of APIs
Internal APIs –
Internal services created by development team
Used to build applications and services
Not exposed externally
Partner APIs –
Powering integrations with select partners & customers
Exposed on a per-need basis
Requires direct business
Third Party APIs –
Used by developers to speed up development
May be integrated on an ad-hoc basis by developers
Used for basic infrastructure and functionality
Talk track – I want to dedicate a portion of this talk to API consumers especially b/c most people overlook them