애플리케이션 개발과 딜리버리는 오늘날 대부분 기업들에게 매우 중요하며
특히 기조의 대규모 비즈니스와 모든 분야의 혁신적인 스타트업들에게는
더욱 중요합니다.
애플리케이션 개발 및 딜리버리 분야에서 다양한 과제들이 대두하면서, 특정 문제를 위해 개발된 다양한 유형의 솔루션들이 주목을 끌었습니다. 이러한 포인트 솔루션의 예로 F5 및 NetScaler 등의 하드웨어 로드밸런서 일명 ADC(Application Delivery Controller)= Akamai를 포함한 CDN(Content Distirbution Networks), 그리고 Kong 과 같은 API 관리 등을 들 수 있습니다.
이러한 포인트 솔루션의 확산과 함께 NGINX를 필두로 보다 가볍고 유연한 접근 방식들이 개발되었습니다. 경제적인 범용 서버 하드웨어의 용량이 증가하면서 기업들은 단일 창구에서 손쉽게 작업을 관리하기 위해 간편하고 유연한 소프트웨어를 활용하고 있습니다.
NGINX 는 현재 API 게이트웨이로서 어떻게 활용되고 있는가?
를 살펴봅시다.
오늘날, NGINX 는 3가지 방법으로 API 게이트웨이로서 구축됩니다.
NGINX를 이용해 API 트래픽을 직접 관리하는 경우가 많습니다.
API 트래픽을 HTTP 또는 gRPC 라고 인식하고 API 관리 요구사항을 NGINX 구성으로 변환하여 API 요청을 수신 및 라우팅하고 속도제한을 적용하여 안전하게 보호합니다.
NGINX OpenResty 빌드는 Lua 인터프리터를 NGINX 코어에 추가해 사용자들이 NGINX 위에서 다양한 기능들을 개발 할 수 있도록 합니다.
Lua 모듈은 vanilla NGINX Open Source와 NGINX Plus 빌드로 컴파일 및 로딩될 수 있습니다. 현재 GITHub 에서는 수십 개의 오픈소스 NGINX 기반 API게이트웨이 구현이 되어 있으며 상당수가 Lua와 OpenResty를 사용합니다.
독립형 API 게이트웨이는 API 트래픽에만 초점을 맞춘 단일 목적 제품입니다.
대부분의 독립형 API 게이트웨이 제품들은 전용 오픈소스 솔루션이든, 범용 제품이든 관곙벗이 코어에서 NGINX 와 Lua를 사용합니다.
이들 옵션에 감안해 다음 2가지 사항을 권장합니다.
아래 표에서는 외부 소스에서 발생한 API 요청을 관리하고 이를 내부 서비스로 라우팅하는 API 게이트웨이 활용 사례를 보여주고 있습니다.
NGINX는 컨버지드 솔루션으로서, 프로토콜(HTTP/2 및 HTTP, FastCGI,uwsgi)간을 변환 하고 일관된 구성 및 모니터링 인터페이스를 제공하여 웹 트래픽을 쉽게 관리 할 수 있습니다. NGINX 는 컨테이너 환경 내에 또는 사이드카(sidecar)로서 구축될 수 있슬만큼 가벼우며, 최소한의 리소스를 사용합니다.
www.nginxkorea.co.kr 를 방문해주시면 보다 많은 정보를 얻어 가실 수 있습니다.