the api (r) evolution
TRANSCRIPT
The API R(E)volution
The API (R)Evolution
The API R(E)volution
● Open-Source
● 4M+ Downloads since 2015
● Built on top of NGINX
● Extensible with Plugins (60+ available)
● Sub-millisecond latency on most use-cases
● Cloud-Native & Platform Agnostic
● Fast and Scalable. Up and running in minutes
● CE and EE editions
Millions of Community (CE) downloads across multiple platforms.
■ 12,000+ Stars in GitHub■ 70+ Contributors■ 107 Meetups■ 10K Community Members
A few words about Kong
The API R(E)volution
I’m Marco PalladinoCTO @ Kong
Located in San Francisco and…- Singapore- New York- London- Canada- México- Brazil- ...and Finland.
* Used to be Mashape
The API R(E)volution
APIs are continuously evolving
SOAPXML
RESTPrimarily JSON
REST+RPCJSON- gPRC - etc
The API R(E)volution
Because architectures are evolving
All product names, logos, and brands are property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, logos, and brands does not imply endorsement.
The API R(E)volution
Explosion of clients Inside and Outside the organization
FaaS
Other Microservices
Partners
Web Applications
APIs
The API R(E)volution
SOAP
● Easier than COM, CORBA, etc● But still hard to consume● Heavyweight● Hard to read
(1999 - 2007)
The API R(E)volution
JSON REST
● Easy to consume● More compact● Follows HTTP best practices
(2007—Today)
The API R(E)volution
At this point applications are still monolithic
The API R(E)volution
Primarily edge use-cases
The API R(E)volution
But applications got smaller
“Keith Fulton, CIO Bank Solutions, Fiserv”
The API R(E)volution
Microservices
vs
The API R(E)volution
Microservices - Decentralized
The API R(E)volution
The API R(E)volution
Running MicroservicesIs like running a city
The API R(E)volution
A new pattern is emerging
The API R(E)volution
Open-Sourceis conquering the
WorldEnterprise.
The API R(E)volution
GWHTTP(s) HTTP(s)
Service Service
QueueQueue Producer Queue Consumer
Service Service
The API R(E)volution
Service-to-Service
Microservices and clients directly consume and invoke other microservices
Ideal for external clients and/or response aggregation use-cases, or when an immediate response is required
Done via HTTP, TCP/UDP, gRPC, etc
Example: Making a request to retrieve an immediate response of some sort. External access use-cases (ie, retrieve list of users)
Asynchronous
Microservices and clients push events into an event collector that’s being consumed by other microservices
Ideal for microservice-to-microservice communication for changing state without requiring an immediate response
Done via Kafka, RabbitMQ, AWS SQS, etc
Example: Making a request that doesn’t require an immediate response (ie “orderCreated” event that triggers an invoice creation by another microservice)
Two ways for Microservice communication:
The API R(E)volution
And the Landscape is Rapidly Evolving:
The API R(E)volution
The API R(E)volution
Not only our applications, but our clients will have to adapt too.
RESTSOAP REST+RPC
AJAXSync IO Web Sockets
The API R(E)volution
ありがとうございました
RESOURCES:
https://konghq.comhttps://github.com/Kong/kong
Find me on Twitter @thefosk