Building Scalable API Gateways for Microservices

Embed Size (px)

Citation preview

PowerPoint Presentation

Click to edit Master title style

1/29/17

Building Scalable API Gateways For MicroservicesSaurabh Badhwar

What are Microservices?

MicroservicesProduct Info ServiceRecommender ServiceCart ServiceDatabaseDatabaseDatabase

Client

Everything sounds goodSo, where is the problem?

What ifNumber of services: >20Different devices need to be supported

What problems do we faceDifficult to support new devices

??

What problems do we facePoor Protocol Support on Some DevicesHTTPAMQP

What problems do we faceProblematic API Upgradesv1v2

??

What problems do we faceMaintaining Security

What problems do we faceDifficult to support new devicesPoor protocol support on some devicesProblematic API UpgradesMaintaining Security

API Gateways to our rescue

What are API GatewaysProduct Info ServiceRecommender ServiceCart ServiceAPI GatewayClient

What API Gateways offer to us?

API GatewaysFilter for different devicesA single entry pointMechanism for API Rate LimitingSecurity Mechanism

API Gateways: The BenefitsIncreased simplicitySeparation b/w application layer and requesting partiesLimiting the requestsPrevention from attacks

API Gateways : Getting them to scaleFail FastLimit RequestsCache your requestsLog log log!!!Upgrade Strategically

Fail FastYour API response is as fast as your slowest serviceProduct Info ServiceRecommender ServiceCart ServiceAPI GatewayClient

4ms

5ms

60ms

~60ms

Your API Response is as fast as your slowest service

Limit RequestsWho doesnt love unlimited, but for API Gateways Limits are good

Cache your requestsAPI GatewayClient

Service

Cache

API Gateways: Going towards deploymentDelay major version changesUtilize Blue-Green DeploymentsTest your changes

Blue Green DeploymentsRouterBlueGreen

Log Log Log!!!Hidden in those bunch of lines is the gold that you are looking for ;)

Tools at our disposalJenkins

Tools at our disposalKubernetes

Tools at our disposalApache Grafana

Tools at our disposalDocker

Thank You :)Twitter: @MYNET55IRC & Github: h4xr

E-Mail ID: [email protected]&A