API Connectivity Manager로 개발팀과 운영팀의 협업 강화

NGINX | 2022년 11월 03일

클라우드 네이티브 애플리케이션은 마이크로서비스를 서로 연결하는 수십, 수백, 때로는 수천 개의 API로 구성됩니다. 이러한 서비스와 API는 함께 클라우드 네이티브 애플리케이션의 핵심인 복원력, 확장성, 유연성을 제공합니다.

오늘날 이러한 기반 API와 마이크로서비스는 전 세계에 분산된 팀에서 구축하는 경우가 많으며, 적시에 기능을 시장에 출시하려면 각 팀이 어느 정도 자율성과 독립성을 갖고 운영되어야 합니다.

동시에 플랫폼 운영 팀은 기반 API를 포함한 기업의 애플리케이션과 인프라 전반의 안정성과 보안을 보장할 책임이 있습니다. 이들은 API 트래픽을 파악하고, 일관된 보안과 규정 준수를 보장하기 위한 전사적 가드레일을 설정할 수 있어야 하며, 동시에 탁월한 API 개발자 경험을 제공해야 합니다.

이 두 그룹의 이해관계가 충돌할 수 있지만, 반드시 그럴 수밖에 없다고 생각하지는 않습니다. 당사는 API Connectivity Manager를 F5 NGINX Management Suite의 일부로 구축하여, Platform Ops 팀이 안전하고 원활한 운영을 유지하는 동시에 API 개발자가 새로운 기능을 손쉽게 개발하고 출시할 수 있도록 했습니다.

API 연결을 지원하는 아키텍처 구축

차세대 관리 플레인인 API Connectivity Manager는 NGINX Plus의 API 게이트웨이 기능을 구현하고 확장하도록 설계되었습니다. 이전에 NGINX를 사용해 본 적이 있다면 API 게이트웨이로서 NGINX가 제공하는 확장성, 안정성, 유연성 및 성능에 익숙할 것입니다.

API Connectivity Manager를 설계하면서 플랫폼 운영 팀과 개발자가 더욱 원활하게 협업할 수 있도록 새로운 아키텍처를 개발했습니다. 이 아키텍처에서는 구성 요소를 지칭할 때 다음과 같은 업계 표준 용어를 사용합니다(일부 용어는 숙련된 NGINX 사용자에게 익숙한 명칭과 다릅니다).

  • 워크스페이스 – 단일 사업부 또는 팀이 전용으로 관리하고 사용할 수 있도록 격리된 인프라 모음으로, 일반적으로 여러 환경을 포함합니다.
  • 환경 – 개발, 테스트 또는 프로덕션과 같은 애플리케이션 수명 주기의 특정 단계에서 API 게이트웨이 또는 개발자 포털 역할을 하는 NGINX Plus 인스턴스(클러스터)의 논리적 모음
  • API 게이트웨이 프록시 클러스터 – NGINX Plus 인스턴스를 그룹화하고 인스턴스 간 상태를 동기화하는 NGINX API 게이트웨이의 논리적 표현
  • API 프록시 – 게시된 API 인스턴스를 나타내며 라우팅, 버전 관리 및 기타 정책을 포함합니다
  • 정책 – 트래픽 복원력, 보안 또는 서비스 품질과 같은 API 프록시의 특정 기능을 정의하기 위한 전역 또는 로컬 추상화

다음 다이어그램은 구성 요소가 Workspace 내에 어떻게 중첩되어 있는지 보여줍니다:

중첩된 API Connectivity Manager 관리 개체를 보여 주는 다이어그램. 가장 바깥쪽부터 Workspace, Environment, API Gateway Proxy Cluster, API Proxy, Policies 순입니다.

이 논리적 계층 구조는 전사적 API 연결을 지원하는 다양한 주요 사용 사례를 가능하게 합니다. 예를 들어, 워크스페이스에는 여러 유형의 인프라(예: 퍼블릭 클라우드 및 온프레미스)를 포함할 수 있으므로 팀은 두 인프라 모두에 액세스할 수 있고, 인프라 소유자는 두 환경의 API 트래픽을 모두 파악할 수 있습니다.

향후 게시물에서 아키텍처 구성 요소를 더 자세히 살펴보겠습니다. 지금은 API Connectivity Manager가 API 개발 및 제공에 기여하는 다양한 역할의 사용자들을 어떻게 지원하는지 살펴보겠습니다.

플랫폼 운영팀을 위한 API Connectivity Manager

플랫폼 운영 팀은 각 조직의 인프라 수명 주기를 구축하고 관리할 책임이 있습니다. 이 팀은 개발자가 고객과 파트너에게 제공할 애플리케이션과 서비스를 구축할 수 있는 플랫폼을 제공합니다. 개발 팀은 여러 환경에서 업무를 수행하고 서로 다른 사업 부문에 보고하는 등 분산되어 있는 경우가 많습니다. 전사적 표준을 유지하면서 이렇게 분산된 팀과 환경의 요구 사항을 충족하는 것은 오늘날 플랫폼 운영 팀이 직면한 가장 큰 과제 중 하나입니다.

API Connectivity Manager는 Workspaces를 논리적 경계로 사용하여 팀과 팀의 운영을 분리하는 혁신적인 방법을 제공합니다. 또한 Platform Ops 팀이 API를 구축하고 배포하는 팀의 업무를 방해하지 않고 인프라 수명 주기를 관리할 수 있도록 지원합니다. API Connectivity Manager에는 NGINX Plus API 게이트웨이와 개발자 포털에 기본적인 보안 및 구성을 제공하는 기본 글로벌 정책 세트가 내장되어 있습니다. 이후 Platform Ops 팀은 필요에 따라 mTLS를 요구하거나, 로그 형식을 구성하거나, 프록시 헤더를 표준화하도록 보완 글로벌 정책을 구성할 수 있습니다.

글로벌 정책은 공유 API 게이트웨이 클러스터에 배포되는 API에 통일성과 일관성을 부여합니다. 또한 API Connectivity Manager를 사용하면 조직에서 분산형 데이터 플레인 클러스터를 운영하여 각 팀이나 사업 부문이 API를 배포하는 위치를 물리적으로 분리할 수 있습니다.

API Connectivity Manager를 통해 여러 그룹이 각자의 워크스페이스와 환경을 관리하는 방식을 보여 주는 다이어그램

후속 블로그에서는 플랫폼 운영 팀이 API Connectivity Manager를 활용하여 API 개발자의 성공을 지원하는 동시에 API 보안과 거버넌스를 보장하는 방법을 살펴보겠습니다.

개발자를 위한 API Connectivity Manager

서로 다른 사업 부문의 팀들은 각자 고유한 API 세트를 소유하고 운영합니다. 애플리케이션과 서비스를 적시에 시장에 출시하려면 API 제품을 직접 제어할 수 있어야 하므로, 공유 인프라를 사용하기 위해 다른 팀의 승인을 기다릴 여유가 없습니다. 동시에 팀 간의 업무 충돌을 방지할 수 있도록 적절한 ‘가드레일’도 마련해야 합니다.

Platform Ops 페르소나와 마찬가지로, API 소유자인 개발자에게는 다른 팀의 API와 분리된 자체 Workspace가 제공됩니다. API Connectivity Manager는 API 소유자가 속도 제한 및 추가 보안 요구 사항과 같은 서비스 수준 설정을 구성할 수 있도록 API Proxy 수준의 정책을 제공합니다.

API 소유자가 관리하는 서비스의 API 프록시 정책이 Platform Ops에서 관리하는 인프라의 전역 정책을 기반으로 구축되는 방식을 보여 주는 다이어그램

후속 블로그에서는 개발자가 API Connectivity Manager를 사용하여 API 수명 주기 관리를 간소화하는 방법을 살펴보겠습니다.

시작하기

Start a NGINX Management Suite 30일 무료 평가판을 시작해 보세요. 여기에는 API Connectivity Manager와(과) Instance Manager가 포함됩니다.


공유
태그: F5 NGINX, Tech

작성자 소개

관련 블로그 게시물

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
NGINX | 2023. 11. 30.

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric

이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
NGINX | 2023. 03. 23.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법

앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
NGINX | 2021. 09. 27.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션

개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX | 2021. 07. 06.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법

NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX | 2021. 06. 30.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리

NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
NGINX | 2015. 03. 25.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유

Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.