SlideShare a Scribd company logo
API Gateway : To be or not to be?
Platform Architecture Team
SK Planet
Synopsis
• You’re developing based on MSA(Micro-
Services Architecture)
• How do the clients access the individual
Micro-services?
#1 : I don’t care for clients, DIY
Client A
(Web)
Client B
(App)
MS-A
MS-ALB
MS-A
MS-BLB
MS-A
MS-CLB
MS-A
MS-DLB
Security
Logging
Version
…
Security
Logging
Version
…
Security
Logging
Version
…
Security
Logging
Version
…
#1 : I don’t care for clients, DIY
• Clients need to access individual Micro-Services by themselves
• Pros
– No SPOF
– No cost for developing API Gateway
• Cons
– Clients need to know endpoints of Micro-Services
– If Micro-Services changes something(ex: LB VIP), all clients need to update
– Each Micro-Services needs to handle these by themselves
• Securities to protect their APIs (Auth, ACL, IP Blacklist, Rate Limiting, …), Versioning
• Logging, Analytics, and any requirements from clients (ex : Batch APIs)
– You’re adding another security path whenever new Micro-Service is added
– If there is no API standard nor API spec sharing point between Micro-Services,
clients will go to hell
– Cannot handle composition scenario to prevent REST chattiness problem
– You need to place Load Balancer in front of each Micro-services and consider
fail-over of LB, too
#2 : Wrapper (Library/SDK)
Wrapper
*
Wrapper
*
MS-A
MS-ALB
MS-A
MS-BLB
MS-A
MS-CLB
MS-A
MS-DLB
Client A
(Web)
Client B
(App)
* Wrapper could be created
by individual Micro-Services
Security
Logging
Version
…
Security
Logging
Version
…
Security
Logging
Version
…
Security
Logging
Version
…
#2 : Wrapper (Library/SDK)
• Clients use Wrapper(Library/SDK) to access Micro-Services
• Pros
– No SPOF
– No cost for developing API Gateway
– Higher Abstraction than REST APIs, so easy to use
• Cons
– Clients Wrapper needs to know endpoints of Micro-Services
– If Micro-Services changes something(ex: LB VIP), all clients need to update
Wrapper needs to be updated, QA, and re-deployed
– Wrapper is responsible for backward compatibility
– Each Micro-Services needs to handle these by themselves
• Securities to protect their APIs (Auth, ACL, IP Blacklist, Rate Limiting, …), Versioning, Logging, Analytics,
and any requirements from clients (ex : Batch APIs)
– You’re adding another security path whenever new Micro-Service is added
– If there is no API standard nor API spec sharing point between Micro-Services, clients will go
to hell
You need to update Wrapper document/manual, provide download location, manage achieve,
maintain release notes, send notices, and maybe cause forced-update of your app
– Cannot handle composition scenario to prevent REST chattiness problem,
but need to update/re-deploy your wrapper
– You need to place Load Balancer in front of each Micro-services and consider fail-over of LB,
too
– Becoming big burden if you need to support polyglot clients
Checkpoint
• It’s all about level of “Abstraction”
– Provide it as REST APIs
– Provide it as Wrapper (Library/Wrapper)
• Higher abstraction
– Makes client happy (but only if you maintain versions/backward
compatibility well)
– Makes Wrapper developer unhappy
– Even worst if API Provider != Wrapper developer
• Common RoR problems
– If client fails, who’s responsible for investigate it?
While stacktraces says problem is raised on the Wrapper, they
will call Wrapper developer even though client mis-use wrapper
or server fails 
API Gateway
#3 : API Gateway
Client A
(Web)
Client B
(App)
MS-A
MS-A
MS-A
MS-B
MS-A
MS-C
MS-A
MS-D
Security
Logging
Version
…
#3 : API Gateway
• Single endpoint for clients, handle requests proxied/routed to the
appropriate service (or service instance)
• Pros
– Can solve most problems
– Separation of Concerns
• Micro-Services focus on business features
• API Gateway provides protection/common feature layer
– Minimize/Isolate services’ change impacts
• Cons
– Possibility of SPOF/bottleneck
– Performance tradeoff due to processing time in API Gateway and more
network hops
– Need to manage routing rule or APIs
– Needs Service Discovery/Registry
– Cost for developing API Gateway
– Additional Hardware/Network/Management cost
– Risk of management bottleneck
SPOF/bottleneck : Scale-out
API Gateway
Client A
(Web)
Client B
(App)
MS-A
MS-A
MS-A
MS-B
MS-A
MS-C
MS-A
MS-D
Security
Logging
Version
… API Gateway
Security
Logging
Version
…
LB
SPOF/bottleneck : Partitioning
API Gateway
Client A
(Web)
Client B
(App)
MS-A
MS-A
MS-A
MS-B
MS-A
MS-C
MS-A
MS-D
Security
Logging
Version
…
API Gateway
Security
Logging
Version
…
LB
API Gateway
Security
Logging
Version
…
API Gateway
Security
Logging
Version
…
LB
DNS/
LB
A or B
C or D
SPOF/bottleneck : Partitioning
API GatewayClient A
(Web)
Client B
(App)
MS-A
MS-A
MS-A
MS-B
MS-A
MS-C
MS-A
MS-D
Security
Logging
Version
…
API Gateway
Security
Logging
Version
…
LB
API Gateway
Security
Logging
Version
…
API Gateway
Security
Logging
Version
…
LB
Performance Tradeoff
• Network hop/latency depends on network
topology
• API Gateway processing time depends on
what you want to do in API Gateway
• Consider Tradeoff : What’s more important?
• Some Tips
– Don’t parse request/response body if you don’t
need it
– Caching on API Gateway
Managing Routing Rule or APIs
• Routing Rule-based Control
– Define Coarse-grained routing rule
– Gateway knows MSs but don’t care for specific APIs
– Micro-Services need to resolve APIs and validate
whether they are valid request
• API-based Control
– Register APIs want to be managed in Gateway
– API Gateway resolve APIs and validate
request/response with exact match
– Gateway should know APIs
Managing Routing Rule or APIs
Client A
(Web)
API Gateway MS-A
/A/InvalidResources
with ValidCredential
/InvalidResources
404 Not Found404 Not Found
Security : Passed
Client A
(Web) API Gateway
/A/InvalidResources
with ValidCredential
404 Not Found
Security : Passed
/A/* -> MS-A
/A/ValidResources -> MS-A/ValidResources
- params : …
- result: …
MS-A
/A/ValidResources?invalid
with ValidCredential
400 Bad Request
(Invalid Parameter)
/A/ValidResources?invalid
with ValidCredential
400 Bad Request
(Invalid Parameter)
/A/ValidResources?invalid
with ValidCredential
400 Bad Request
(Invalid Parameter)
Routing Rule Based Control(per MS)
API Based Control (per API)
Managing Routing Rules or APIs
• Routing rule based is preferred when
• Clients are 1st parties
• Coarse-grained control is enough
• You can provide API spec/document from Micro-Services directly
• API is changed frequently
• API based is preferred when
• Clients are including 3rd parties
• Minimize Micro-Services’ overhead from invalid request
• Fine-grained control is needed
• If you require mediation or some manipulation per APIs
• You need to provide API spec/document from API Gateway
• Recommendations
– Use routing rule based control primarily, then append API-based
control as you need
Managing API specification
• You can manage it
– Deeply coupled with API Gateway
API-based Control requires for API Gateway to
know API specification
– Externally (ex : Swagger, ProtocolBuffer)
Both Routing Rule-based and API-based control
• If you have a API spec,
– Client developer can create client codes (even
wrapper)
– Server developer can create server codes
Service Discovery/Registry
MS-A Container
API
Gateway
UI
UI
MS-A
HA Proxy
HA Proxy
HA Proxy
Service
Registry
Service Agent
MS-A Container
MS-A HA Proxy
Service Agent
MS-B Container
MS-B
Service Agent
MS-B Container
MS-B
Service Agent
Cost for developing API Gateway
• Depends on what you want to do with API
Gateway
• Simple requirements = Simple API Gateway
(nginx/HA proxy might be enough for you)
• Node.js is a good start point to implement
• But going complex
– If you need to consider 3rd parties and Open API since
Developer portal and Onboarding process is required
– If you want some GUI and management console (=
Publisher portal)
– Consider API Gateway as Silver Bullet (ESB?)…
Additional
Hardware/Network/Management cost
• Another tradeoff : What’s more important?
• Depends on how you implement it and what
you want to do
• Cost could be issue
– If you consider adopting commercial products
– If you consider doing a lot of manipulation in API
Gateway
Risk of management bottleneck
• If API Gateway is managed by single team,
there are risks of management bottleneck
– API Gateway team has primary responsibility for
changes/failure/backward compatibility, …
– API Gateway team could be a bottleneck (going
worse if you do a lot of manipulations in it)
• Recommendation : separate managements
– API Gateway itself (API Gateway team)
– Services on the API Gateway (each service teams)
API Gateway: To be or not to be
• Consider your scenario
• But generally,
API Gateway is a good choice…
and it begins API Managements of your
organization
• To adopt it, start with simple one
– again, nginx/HA proxy might be enough for you
– Consider complex product/solution later
Send a feedback
var you = {};
if (you.like||you.dislike||you.suggest||you.request)
{
var url = "https://www.linkedin.com/in/lancersahn";
linkedin.contact(url);
}

More Related Content

PDF
Api Gateway
PPT
Postman.ppt
PPTX
Test Design and Automation for REST API
PDF
API strategy with IBM API connect
PDF
Can Apache Kafka Replace a Database?
PPTX
API Security Lifecycle
PDF
Kafka with IBM Event Streams - Technical Presentation
PPTX
EMEA Airheads- Aruba 8.x Architecture overview & UI Navigation
Api Gateway
Postman.ppt
Test Design and Automation for REST API
API strategy with IBM API connect
Can Apache Kafka Replace a Database?
API Security Lifecycle
Kafka with IBM Event Streams - Technical Presentation
EMEA Airheads- Aruba 8.x Architecture overview & UI Navigation

What's hot (20)

PPTX
Applications Performance Monitoring with Applications Manager part 1
PPTX
EMEA Airheads_ Advance Aruba Central
PDF
Kafka Streams: What it is, and how to use it?
PPTX
Getting Started with API Security Testing
PPTX
Types of performance testing
PPTX
SplunkLive! Presentation - Data Onboarding with Splunk
PDF
OWASP DefectDojo - Open Source Security Sanity
PDF
Consul presentation
PPTX
Api Testing
PPTX
EMEA Airheads- ArubaOS - Cluster Manager
PDF
Postman: An Introduction for Testers
PDF
Postman: An Introduction for Testers
PPTX
REST Service Authetication with TLS & JWTs
PPTX
API Governance in the Enterprise
PDF
APIConnect Security Best Practice
PDF
Upgrade to MySQL 8.0!
PDF
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
PPTX
SonarQube.pptx
DOCX
Requirement for creating a Penetration Testing Lab
Applications Performance Monitoring with Applications Manager part 1
EMEA Airheads_ Advance Aruba Central
Kafka Streams: What it is, and how to use it?
Getting Started with API Security Testing
Types of performance testing
SplunkLive! Presentation - Data Onboarding with Splunk
OWASP DefectDojo - Open Source Security Sanity
Consul presentation
Api Testing
EMEA Airheads- ArubaOS - Cluster Manager
Postman: An Introduction for Testers
Postman: An Introduction for Testers
REST Service Authetication with TLS & JWTs
API Governance in the Enterprise
APIConnect Security Best Practice
Upgrade to MySQL 8.0!
11st Legacy Application의 Spring Cloud 기반 MicroServices로 전환 개발 사례
SonarQube.pptx
Requirement for creating a Penetration Testing Lab
Ad

Viewers also liked (20)

PPTX
Whitebase : Assault Carrier for Micro-Services
PDF
Microservices & API Gateways
PDF
API Gateway report
PDF
Oracle API Gateway
PDF
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
PDF
Oracle api gateway overview
PDF
Oracle API Gateway Installation
PDF
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
PPT
API Management architect presentation
PPTX
MSA를 이용해 구현하는 고가용/고확장성 서비스
PPTX
마이크로서비스 아키텍처로 개발하기
PPTX
Microservices Manchester: Authentication in Microservice Systems by David Borsos
PDF
Microservice Architecture
PPTX
기술적 변화를 이끌어가기
PPTX
An Authentication and Authorization Architecture for a Microservices World
PDF
Stateless authentication for microservices
PPTX
Zuul @ Netflix SpringOne Platform
PPTX
Service Discovery using etcd, Consul and Kubernetes
PDF
Best Practices for API Management
Whitebase : Assault Carrier for Micro-Services
Microservices & API Gateways
API Gateway report
Oracle API Gateway
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
Oracle api gateway overview
Oracle API Gateway Installation
Pre-Con Ed: CA API Gateway: How to Deploy Your Gateway Across Multiple Enviro...
API Management architect presentation
MSA를 이용해 구현하는 고가용/고확장성 서비스
마이크로서비스 아키텍처로 개발하기
Microservices Manchester: Authentication in Microservice Systems by David Borsos
Microservice Architecture
기술적 변화를 이끌어가기
An Authentication and Authorization Architecture for a Microservices World
Stateless authentication for microservices
Zuul @ Netflix SpringOne Platform
Service Discovery using etcd, Consul and Kubernetes
Best Practices for API Management
Ad

Similar to Api gateway : To be or not to be (20)

PPTX
Intro to Microservices Architecture
PPTX
WEB API Gateway
PPTX
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
PDF
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
PDF
The ultimate api checklist by Blendr.io
PDF
Backend for Frontend in Microservices
PPTX
API Gateway: Nginx way
PDF
Extend soa with api management Sangam18
PPTX
API Best Practices
PPTX
Extend soa with api management spoug- Madrid
PDF
Business-friendly library for inter-service communication
PDF
Melbourne API Management Seminar
PDF
Study Notes - Using an API Gateway
PDF
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
PDF
Managing the Complexity of Microservices Deployments
PPTX
API Management Within a Microservices Architecture
PDF
API Management within a Microservice Architecture
PDF
Designing Usable APIs featuring Forrester Research, Inc.
PDF
Extend soa with api management Doag18
PPTX
API Design – More than just a Payload Definition
Intro to Microservices Architecture
WEB API Gateway
apidays LIVE Hong Kong 2021 - Headless API Management by Snehal Chakraborty, ...
API Gateway How-To: The Many Ways to Apply the Gateway Pattern
The ultimate api checklist by Blendr.io
Backend for Frontend in Microservices
API Gateway: Nginx way
Extend soa with api management Sangam18
API Best Practices
Extend soa with api management spoug- Madrid
Business-friendly library for inter-service communication
Melbourne API Management Seminar
Study Notes - Using an API Gateway
Defrag 2014 - Blend Web IDEs, Open Source and PaaS to Create and Deploy APIs
Managing the Complexity of Microservices Deployments
API Management Within a Microservices Architecture
API Management within a Microservice Architecture
Designing Usable APIs featuring Forrester Research, Inc.
Extend soa with api management Doag18
API Design – More than just a Payload Definition

Recently uploaded (20)

PDF
Softaken Excel to vCard Converter Software.pdf
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
medical staffing services at VALiNTRY
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
history of c programming in notes for students .pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
ai tools demonstartion for schools and inter college
PDF
Digital Strategies for Manufacturing Companies
PPT
Introduction Database Management System for Course Database
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
AI in Product Development-omnex systems
Softaken Excel to vCard Converter Software.pdf
2025 Textile ERP Trends: SAP, Odoo & Oracle
medical staffing services at VALiNTRY
Wondershare Filmora 15 Crack With Activation Key [2025
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
history of c programming in notes for students .pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Navsoft: AI-Powered Business Solutions & Custom Software Development
Design an Analysis of Algorithms I-SECS-1021-03
Design an Analysis of Algorithms II-SECS-1021-03
How to Migrate SBCGlobal Email to Yahoo Easily
ai tools demonstartion for schools and inter college
Digital Strategies for Manufacturing Companies
Introduction Database Management System for Course Database
How to Choose the Right IT Partner for Your Business in Malaysia
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
How Creative Agencies Leverage Project Management Software.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
AI in Product Development-omnex systems

Api gateway : To be or not to be

  • 1. API Gateway : To be or not to be? Platform Architecture Team SK Planet
  • 2. Synopsis • You’re developing based on MSA(Micro- Services Architecture) • How do the clients access the individual Micro-services?
  • 3. #1 : I don’t care for clients, DIY Client A (Web) Client B (App) MS-A MS-ALB MS-A MS-BLB MS-A MS-CLB MS-A MS-DLB Security Logging Version … Security Logging Version … Security Logging Version … Security Logging Version …
  • 4. #1 : I don’t care for clients, DIY • Clients need to access individual Micro-Services by themselves • Pros – No SPOF – No cost for developing API Gateway • Cons – Clients need to know endpoints of Micro-Services – If Micro-Services changes something(ex: LB VIP), all clients need to update – Each Micro-Services needs to handle these by themselves • Securities to protect their APIs (Auth, ACL, IP Blacklist, Rate Limiting, …), Versioning • Logging, Analytics, and any requirements from clients (ex : Batch APIs) – You’re adding another security path whenever new Micro-Service is added – If there is no API standard nor API spec sharing point between Micro-Services, clients will go to hell – Cannot handle composition scenario to prevent REST chattiness problem – You need to place Load Balancer in front of each Micro-services and consider fail-over of LB, too
  • 5. #2 : Wrapper (Library/SDK) Wrapper * Wrapper * MS-A MS-ALB MS-A MS-BLB MS-A MS-CLB MS-A MS-DLB Client A (Web) Client B (App) * Wrapper could be created by individual Micro-Services Security Logging Version … Security Logging Version … Security Logging Version … Security Logging Version …
  • 6. #2 : Wrapper (Library/SDK) • Clients use Wrapper(Library/SDK) to access Micro-Services • Pros – No SPOF – No cost for developing API Gateway – Higher Abstraction than REST APIs, so easy to use • Cons – Clients Wrapper needs to know endpoints of Micro-Services – If Micro-Services changes something(ex: LB VIP), all clients need to update Wrapper needs to be updated, QA, and re-deployed – Wrapper is responsible for backward compatibility – Each Micro-Services needs to handle these by themselves • Securities to protect their APIs (Auth, ACL, IP Blacklist, Rate Limiting, …), Versioning, Logging, Analytics, and any requirements from clients (ex : Batch APIs) – You’re adding another security path whenever new Micro-Service is added – If there is no API standard nor API spec sharing point between Micro-Services, clients will go to hell You need to update Wrapper document/manual, provide download location, manage achieve, maintain release notes, send notices, and maybe cause forced-update of your app – Cannot handle composition scenario to prevent REST chattiness problem, but need to update/re-deploy your wrapper – You need to place Load Balancer in front of each Micro-services and consider fail-over of LB, too – Becoming big burden if you need to support polyglot clients
  • 7. Checkpoint • It’s all about level of “Abstraction” – Provide it as REST APIs – Provide it as Wrapper (Library/Wrapper) • Higher abstraction – Makes client happy (but only if you maintain versions/backward compatibility well) – Makes Wrapper developer unhappy – Even worst if API Provider != Wrapper developer • Common RoR problems – If client fails, who’s responsible for investigate it? While stacktraces says problem is raised on the Wrapper, they will call Wrapper developer even though client mis-use wrapper or server fails 
  • 8. API Gateway #3 : API Gateway Client A (Web) Client B (App) MS-A MS-A MS-A MS-B MS-A MS-C MS-A MS-D Security Logging Version …
  • 9. #3 : API Gateway • Single endpoint for clients, handle requests proxied/routed to the appropriate service (or service instance) • Pros – Can solve most problems – Separation of Concerns • Micro-Services focus on business features • API Gateway provides protection/common feature layer – Minimize/Isolate services’ change impacts • Cons – Possibility of SPOF/bottleneck – Performance tradeoff due to processing time in API Gateway and more network hops – Need to manage routing rule or APIs – Needs Service Discovery/Registry – Cost for developing API Gateway – Additional Hardware/Network/Management cost – Risk of management bottleneck
  • 10. SPOF/bottleneck : Scale-out API Gateway Client A (Web) Client B (App) MS-A MS-A MS-A MS-B MS-A MS-C MS-A MS-D Security Logging Version … API Gateway Security Logging Version … LB
  • 11. SPOF/bottleneck : Partitioning API Gateway Client A (Web) Client B (App) MS-A MS-A MS-A MS-B MS-A MS-C MS-A MS-D Security Logging Version … API Gateway Security Logging Version … LB API Gateway Security Logging Version … API Gateway Security Logging Version … LB DNS/ LB A or B C or D
  • 12. SPOF/bottleneck : Partitioning API GatewayClient A (Web) Client B (App) MS-A MS-A MS-A MS-B MS-A MS-C MS-A MS-D Security Logging Version … API Gateway Security Logging Version … LB API Gateway Security Logging Version … API Gateway Security Logging Version … LB
  • 13. Performance Tradeoff • Network hop/latency depends on network topology • API Gateway processing time depends on what you want to do in API Gateway • Consider Tradeoff : What’s more important? • Some Tips – Don’t parse request/response body if you don’t need it – Caching on API Gateway
  • 14. Managing Routing Rule or APIs • Routing Rule-based Control – Define Coarse-grained routing rule – Gateway knows MSs but don’t care for specific APIs – Micro-Services need to resolve APIs and validate whether they are valid request • API-based Control – Register APIs want to be managed in Gateway – API Gateway resolve APIs and validate request/response with exact match – Gateway should know APIs
  • 15. Managing Routing Rule or APIs Client A (Web) API Gateway MS-A /A/InvalidResources with ValidCredential /InvalidResources 404 Not Found404 Not Found Security : Passed Client A (Web) API Gateway /A/InvalidResources with ValidCredential 404 Not Found Security : Passed /A/* -> MS-A /A/ValidResources -> MS-A/ValidResources - params : … - result: … MS-A /A/ValidResources?invalid with ValidCredential 400 Bad Request (Invalid Parameter) /A/ValidResources?invalid with ValidCredential 400 Bad Request (Invalid Parameter) /A/ValidResources?invalid with ValidCredential 400 Bad Request (Invalid Parameter) Routing Rule Based Control(per MS) API Based Control (per API)
  • 16. Managing Routing Rules or APIs • Routing rule based is preferred when • Clients are 1st parties • Coarse-grained control is enough • You can provide API spec/document from Micro-Services directly • API is changed frequently • API based is preferred when • Clients are including 3rd parties • Minimize Micro-Services’ overhead from invalid request • Fine-grained control is needed • If you require mediation or some manipulation per APIs • You need to provide API spec/document from API Gateway • Recommendations – Use routing rule based control primarily, then append API-based control as you need
  • 17. Managing API specification • You can manage it – Deeply coupled with API Gateway API-based Control requires for API Gateway to know API specification – Externally (ex : Swagger, ProtocolBuffer) Both Routing Rule-based and API-based control • If you have a API spec, – Client developer can create client codes (even wrapper) – Server developer can create server codes
  • 18. Service Discovery/Registry MS-A Container API Gateway UI UI MS-A HA Proxy HA Proxy HA Proxy Service Registry Service Agent MS-A Container MS-A HA Proxy Service Agent MS-B Container MS-B Service Agent MS-B Container MS-B Service Agent
  • 19. Cost for developing API Gateway • Depends on what you want to do with API Gateway • Simple requirements = Simple API Gateway (nginx/HA proxy might be enough for you) • Node.js is a good start point to implement • But going complex – If you need to consider 3rd parties and Open API since Developer portal and Onboarding process is required – If you want some GUI and management console (= Publisher portal) – Consider API Gateway as Silver Bullet (ESB?)…
  • 20. Additional Hardware/Network/Management cost • Another tradeoff : What’s more important? • Depends on how you implement it and what you want to do • Cost could be issue – If you consider adopting commercial products – If you consider doing a lot of manipulation in API Gateway
  • 21. Risk of management bottleneck • If API Gateway is managed by single team, there are risks of management bottleneck – API Gateway team has primary responsibility for changes/failure/backward compatibility, … – API Gateway team could be a bottleneck (going worse if you do a lot of manipulations in it) • Recommendation : separate managements – API Gateway itself (API Gateway team) – Services on the API Gateway (each service teams)
  • 22. API Gateway: To be or not to be • Consider your scenario • But generally, API Gateway is a good choice… and it begins API Managements of your organization • To adopt it, start with simple one – again, nginx/HA proxy might be enough for you – Consider complex product/solution later
  • 23. Send a feedback var you = {}; if (you.like||you.dislike||you.suggest||you.request) { var url = "https://www.linkedin.com/in/lancersahn"; linkedin.contact(url); }