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 Palladino
CTO @ 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
SOAP
XML
REST
Primarily JSON
REST+RPC
JSON- 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 Microservices
Is like running a city
The API R(E)volution
A new pattern is emerging
The API R(E)volution
Open-Source
is conquering the
World
Enterprise.
The API R(E)volution
GW
HTTP(s) HTTP(s)
Service Service
Queue
Queue 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.com
https://github.com/Kong/kong
Find me on Twitter @thefosk

The API (R) Evolution