Architecture Decision Record - API Gateway
architecture adr
Architecture Decision Record - API Gateway
API Gateway 를 선택할 때 가장 보편적으로 논의하는 주제는 '구현할 것인가', '구입할 것인가' 이다. 보통 직접 구현하는 것보다 오픈 소스 구현체 또는 상용 솔루션을 구매하는 것이 더 낫다.
직접 구현하는 경우에 보통 아래 문제를 간과하는 경우가 많다.
총 소유의 비용(total cost of ownership, TCO)을 과소 평가 함:
- 대부분의 엔지니어는 솔루션을 구현할 때 드는 비용과 지속적인 유지보수 비용, 그리고 운영 비용을 낮게 책정한다.
기회 비용을 고려하지 않음:
- 보통 클라우드나 플랫폼 벤더가 아니라면 API Gateway 를 직접 구현해서 얻는 이점은 적다.
제품의 현재 기술 솔루션에 대한 인지 부족:
- 오픈소스 버전과 상용 플랫폼은 모두 빠르게 변화하고 있어서 최신 변경사항을 계속 추적하기 어려울 수 있다. 하지만 기술 리더 역할을 위한 핵심적인 부분이기도 하다.
ADR
- 결정사항: 조직에 적합한 API Gateway 를 어떻게 선택할 것인가?
- 논의사항
- API Gateway 의 선택과 관련된 모든 요구사항을 분석하고 우선순위를 파악했는가?
- 현재 조직이 배포해 사용하고 있는 기술 솔루션은 파악했는가?
- 모든 팀과 조직적 제약을 파악했는가?
- 이 결정과 관련된 로드맵은 모두 확인했는가?
- '구현' vs '구매' 비용을 정확하게 계산해 봤는가?
- 현재의 기술 동향을 살펴보고 가용한 솔루션을 모두 이해하고 있는가?
- 분석 및 의사결정과 관련된 모든 이해당사자와 상의하고 정보를 전달했는가?
- 권장사항
- AP/시스템 간의 낮은 결합도 유지, 사용법의 간소화, API 를 남용 및 오용으로부터 보호, API 의 활용도에 대한 이해, API 를 제품으로서 관리 및 수익화 등의 목적을 이루려면 요구사항에 특히 더 집중해야 한다.
- 여기서 중요한 고려사항은 다음과 같다. 이미 사용 중인 API Gateway 가 있는가? 여러 기술을 조합(e.g 하드웨어 로드밸런서를 인증 및 애플리케이션 수준 라우팅을 수행하는 모놀리식 앱과 조합)해 유사한 기능을 제공할 수 있는가? 현재 에지 스택은 얼마나 많은 컴포넌트(WAF, FB, 에지 캐시 등)으로 이루어져 있는가?
- 팀내의 기술 숙련도, API Gateway 프로젝트에 투입할 수 있는 인력과 가용 리소스, 예산 등에 집중하자.
- 계쇡 중인 변경사항, 새 기능, 트래픽 관리 및 API Gateway 가 제공하는 다른 기능에 영향을 줄 수 있는 현재의 목표 등을 모두 파악하는 것이 중요하다.
- 현재의 API Gateway 와 유사한 모든 구현체 및 잠재적으로 미래에 등장할 수 있는 솔루션의 총 소유 비용(TCO) 를 계산하자.
- 잘 알려진 분석가, 트렌드 보고서, 제품 리뷰 등을 통해 현재 가용한 모든 솔루션을 이해하자.
- API Gateway 를 선택하고 배포하는 것은 여러 팀과 개인에게 영향을 미친다. 개발자, QA, 아키텍처 리뷰 보드, 플랫폼 팀, 정보 보안 팀 등 모두와 상의하자.
References
- 모던 API 아키텍처 설계 / James Gough, Daniel Bryant, Matthew Auburn 저