the api (r) evolution

23
The API R(E)volution The API (R)Evolution

Upload: rakuten-inc

Post on 22-Jan-2018

136 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: The API (R) Evolution

The API R(E)volution

The API (R)Evolution

Page 2: 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

Page 3: The API (R) Evolution

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

Page 4: The API (R) Evolution

The API R(E)volution

APIs are continuously evolving

SOAPXML

RESTPrimarily JSON

REST+RPCJSON- gPRC - etc

Page 5: The API (R) Evolution

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.

Page 6: The API (R) Evolution

The API R(E)volution

Explosion of clients Inside and Outside the organization

FaaS

Other Microservices

Partners

Web Applications

APIs

Page 7: The API (R) Evolution

The API R(E)volution

SOAP

● Easier than COM, CORBA, etc● But still hard to consume● Heavyweight● Hard to read

(1999 - 2007)

Page 8: The API (R) Evolution

The API R(E)volution

JSON REST

● Easy to consume● More compact● Follows HTTP best practices

(2007—Today)

Page 9: The API (R) Evolution

The API R(E)volution

At this point applications are still monolithic

Page 10: The API (R) Evolution

The API R(E)volution

Primarily edge use-cases

Page 11: The API (R) Evolution

The API R(E)volution

But applications got smaller

“Keith Fulton, CIO Bank Solutions, Fiserv”

Page 12: The API (R) Evolution

The API R(E)volution

Microservices

vs

Page 13: The API (R) Evolution

The API R(E)volution

Microservices - Decentralized

Page 14: The API (R) Evolution

The API R(E)volution

Page 15: The API (R) Evolution

The API R(E)volution

Running MicroservicesIs like running a city

Page 16: The API (R) Evolution

The API R(E)volution

A new pattern is emerging

Page 17: The API (R) Evolution

The API R(E)volution

Open-Sourceis conquering the

WorldEnterprise.

Page 18: The API (R) Evolution

The API R(E)volution

GWHTTP(s) HTTP(s)

Service Service

QueueQueue Producer Queue Consumer

Service Service

Page 19: The API (R) Evolution

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:

Page 20: The API (R) Evolution

The API R(E)volution

And the Landscape is Rapidly Evolving:

Page 21: The API (R) Evolution

The API R(E)volution

Page 22: The API (R) Evolution

The API R(E)volution

Not only our applications, but our clients will have to adapt too.

RESTSOAP REST+RPC

AJAXSync IO Web Sockets

Page 23: The API (R) Evolution

The API R(E)volution

ありがとうございました

RESOURCES:

https://konghq.comhttps://github.com/Kong/kong

Find me on Twitter @thefosk