API Sprawl을 방지하는 5가지 방법

다음은 API Connectivity Manager에 대한 2부 시리즈의 첫 번째 포스트이며 API Sprawl 이 무엇인지 알아보겠습니다.

API는 Edge에서 Cloud 및 On‑premise 데이터 센터로 데이터를 다시 연결하는 현대 인터넷 연결 조직입니다. 2021년 애플리케이션 전략 보고서에 따르면, 조직에서 현대화를 위해 사용하는 다양한 방법 중 API를 활용하는 것이 가장 인기 있습니다.

  • 58%의 조직이 최신 사용자 인터페이스(User Interface)를 지원하기 위해 API layer를 추가하고 있습니다.
  • 51%는 최신 애플리케이션 구성 요소를 추가하고 있습니다.(예: Kubernetes)
  • 47%가 refactoring하는 중에 있습니다.(애플리케이션 코드 자체 수)
  • 40%는 현대화하지 않고 Public Cloud로 전환하고 있습니다.(lifting and shifting)

API 중심 경제에서 API는 100% 신뢰할 수 있어야 합니다. 그러나 비즈니스와 애플리케이션이 확장됨에 따라 운영 복잡성은 증가합니다. Cloud‑Native 애플리케이션은 Cloud, On‑premises 및 Edge 환경에 배포된 수십, 수백 또는 수천 개의 API로 구성되어 설계에 따라 점점 더 분산되고 있습니다.

최근 연구에 따르면 지속적인 API Sprawl이 디지털 전환을 겪고 있는 기업에 심각한 위협이 되는 것으로 나타났습니다. 하지만 그것은 무엇을 뜻하는 걸까요?

목차

1. API Sprawl란?
2. API Sprawl은 심각한 위협입니다.
3. API Sprawl은 어떻게 해결할 수 있습니까?

3-1. API 거버넌스 전략 구현
3-2. API 검색을 위한 단일 소스 생성
3-3. 적절한 버전 관리 및 문서화 보장
3-4. API 트래픽에 대한 메트릭 및 가시성 제공

3-5. 대규모 API 보안 적용
4. API Connectivity Manager를 통해 출시 기간 단축

1. API Sprawl란?

API Sprawl 은 조직이 디지털 전환을 구현할 때 발생하는 두 가지 얽힌 문제를 설명합니다. 즉 API 수의 기하급수적으로 증가하는 것과 다양한 아키텍처와 팀에 걸친 API의 물리적 배포를 설명합니다.

API Sprawl 의 4가지 주요 요인은 다음과 같습니다.

  • Hybrid infrastructure – 오늘날 기업의 81%는 Public Cloud, On‑premise 데이터 센터 및 Edge 인프라를 포함한 3개 이상의 아키텍처에서 운영됩니다.
  • Microservices Architecture(MSA) – MSA의 채택이 증가함에 따라 새로운 서비스가 온라인으로 제공됨에 따라 API Endpoint가 확산되고 있습니다.
  • Continuous software deployment – 개발자들 단기간에 수십 개의 API 또는 단일 API의 여러 버전을 빠르게 생성할 수 있습니다.
  • Abandoned APIs – 개발자가 다른 프로젝트를 지원하고 작업을 진행하면서 자신이 만든 API의 관리 및 유지 보수를 중단합니다.

2. API Sprawl은 심각한 위협입니다.

많은 기업이 아직 API Sprawl 을 심각한 문제로 인식하지 못하고 있습니다. API Sprawl의 근본 원인을 이해하고 해결하는 조직은 향후 10년 동안 번창할 조직일 것 입니다.

API Sprawl 은 기업에 심각한 운영 및 보안 문제를 야기합니다. API Endpoint가 여러 팀과 환경에 걸쳐 확산됨에 따라 API를 보호하고 관리하는 것이 중대한 과제가 되었습니다. 기업의 경우 API Sprawl로 인해 개발자 생산성 저하, 재작업 증가, 검토 속도 저하 등 숨겨진 비용이 발생하는 경우가 많은데, 이는 쉽게 측정할 수 없습니다.

API Sprawl 의 주요 과제는 다음과 같습니다.

  • Lack of visibility – 하이브리드 아키텍처로 인해 API 트래픽 및 구성에 대한 통합 보기를 얻기가 매우 어렵습니다.
  • No clear source of truth – 개발자는 API 및 최신 문서를 찾기 위해 고군분투합니다.
  • Decreased reliability – 잘못된 구성으로 인해 운영 중단이 발생하는 경우가 많아졌습니다.
  • Elevated security threats – 보안되지 않은 API Endpoint는 공격의 쉬운 대상입니다.

3. API Sprawl은 어떻게 해결할 수 있습니까?

탄력적인 API 인프라를 구축하는 첫 번째 단계는 지속적인 API 소유권과 중앙 API 또는 서비스 카탈로그에 대한 모범 사례를 통합하는 전체적인 API 전략을 통해 API Sprawl 을 처리하는 것입니다. 다음으로, API 거버넌스를 오버레이하여 실용적이고 확장 가능한 방식으로 API Lifecycle 관리를 간소화합니다.

NGINX에서는 API 관리의 복잡성을 줄이기 위해 Management Plane Solution을 구축했습니다. NGINX Management Suite의 일부인 API Connectivity Manager는 API의 위치나 빌드에 관계없이 API를 연결, 관리 및 보호하기 위한 단일 인터페이스를 제공합니다.

API Connectivity Manager는 API Sprawl 을 방지하고 규모에 맞게 API를 관리하는 데 중요한 5가지 전략을 실행할 수 있도록 지원합니다.

API Sprawl

3-1. API 거버넌스 전략 구현

중앙 집중식 관리 및 제어를 통해 단일 아키텍처 또는 클러스터 내에서 API를 보다 쉽게 검색, 연결 및 보호할 수 있습니다. API Sprawl으로 인해 순수 계층적 모델에서 분산 및 자율적 확장 모델로 사고 방식을 조정할 수 있습니다.

NGINX의 이점 – API Connectivity Manager를 사용하면 API 소유자가 로컬 정책을 관리할 수 있도록 글로벌 정책과 세분화된 제어 간의 균형을 유지하는 유연한 거버넌스 모델을 구현할 수 있습니다. 따라서 보안 및 규정 준수에 대한 일관된 감독을 희생하지 않고도 출시 기간을 단축할 수 있습니다.

플랫폼 및 인프라 팀은 Logging, 오류 응답 코드, TLS 구성 등에 대한 글로벌 정책을 사용하여 기업 전체에서 API 일관성을 보장할 수 있습니다. API를 구축하고 관리하는 개발자는 속도 제한, 인증 및 권한 부여와 같은 서비스 수준 정책을 제어할 수 있습니다.

3-2. API 검색을 위한 단일 소스 생성

API의 수와 애플리케이션의 복잡성이 증가함에 따라 사용 가능한 API와 위치를 검색하고 추적하는 것이 매우 어려워집니다. API가 특정 Microservice의 인프라 내에 숨겨져 있고 등록되지 않은 경우 다른 Microservice를 담당하는 팀이 해당 API를 찾아 프로젝트에 통합할 수 없습니다.

NGINX의 이점 – API Connectivity Manager를 사용하면 개발자가 API를 검색하고 사용할 수 있는 서비스 카탈로그 및 API 포털을 생성할 수 있습니다. 우수한 개발자 포털 환경은 사용 가능한 API 및 사용 방법에 대한 정보와 자격 증명 생성 도구를 위한 중앙 위치를 제공하여 API 사용을 촉진합니다.

3-3. 적절한 버전 관리 및 문서화 보장

API 포털은 좋은 첫 번째 단계입니다. 그러나 개발 주기 동안 API 사양이 변경되면 문제가 발생합니다. 이는 API를 호출하는 원격 서비스도 변경해야 함을 의미합니다. 이 접근 방식은 모든 Microservice가 동일한 애플리케이션에 대해 동일한 팀에 의해 설계되는 경우 효과가 있을 수 있지만, 제3자가 사용하기 위해 API를 게시(Publish)하는 경우에는 효과가 없을 수 있습니다.

동시에 문서를 유지 관리하는 것은 개발자에게 골칫거리입니다. 초기 활동이 급증한 이후 API 포털은 종종 부실해지고, 지원되지 않는 API와 오래된 문서의 유령 도시가 되어 이해 관계자와 API 사용자를 잃고 좌절하게 됩니다.

NGINX의 이점 – API Connectivity Manager를 사용하면 API 게시(Publish) 및 문서를 API 개발자를 위한 원활한 Workflow로 통합할 수 있습니다. API 소유자는 OpenAPI 사양을 사용하여 API를 동시에 게시하고 문서를 생성할 수 있으므로 시간을 절약하고 문서를 모든 사용자에게 최신 상태로 유지할 수 있습니다.

3-4. API 트래픽에 대한 메트릭 및 가시성 제공

API의 위치와 구성 방법을 이해하는 것은 기업이 직면한 가장 중요한 과제 중 하나입니다. 환경 전반의 걸쳐 API 트래픽에 대한 일관된 보기가 없으면 성능 문제와 보안 위협을 식별하는 것이 불가능하지는 않더라도 어렵습니다.

NGINX의 이점 – API Connectivity Manager를 사용하면 모범 사례를 적용하고 성능과 안정성을 보장하는 데 도움이 되는 중요한 metric에 액세스를 제공하는 단일 플랫폼을 만들 수 있습니다. 인프라 소유자는 API 트래픽 및 구성을 모니터링하고, 표준화된 로그 형식을 적용하고, 선호하는 모니터링 솔루션으로 데이터를 내보낼 수 있습니다.

3-5. 대규모 API 보안 적용

2020년에 90% 이상의 기업이 API 보안 사고를 경험했습니다. 새로운 API Endpoint가 온라인으로 전환될 때마다 조직의 위협 요소가 커집니다. 규모에 따라 보안은 추가 기능일 수 없습니다. 보안은 규모에 따라 기능을 추가할 수 없습니다. 보안은 specification의 코드, 배포에 이르는 전체 lifecycle에 구축되어야 합니다.

NGINX의 이점 – API Connectivity Manager를 사용하면 API 액세스 제어 및 API 보호라는 API 보안을 위한 두 가지 핵심 구성 요소로 API를 보호할 수 있습니다. JSON Web Token(JWT), API Key 또는 OAuth2/OpenID Connect로 인증 및 권한을 관리하여 API 액세스 제어를 시행합니다. 앞으로 몇 달 안에 API Connectivity Manager는 NGINX App Protect WAF에 대한 지원을 추가하여 OWASP API Security Top 10, 스키마 검증 등을 즉시 지원하고 API Gateway를 보호하고 일반적인 위협 및 고급 위협으로부터 보호할 수 있습니다.

4. API Connectivity Manager를 통해 출시 기간 단축

API Sprawl로 인한 문제를 해결함으로써 다중 아키텍처의 복잡성을 경쟁 우위로 전환할 수 있습니다. API Connectivity Manager는 개발자가 필요로 하는 속도와 유연성으로 규모에 맞는 거버넌스를 지원하는 탄력적인 API 에코시스템을 구축할 수 있도록 지원합니다.

NGINX Management Suite를 직접 사용해 보려면 지금 30일 무료 평가판을 신청하거나 사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.

NGINX STORE 뉴스레터 및 최신 소식 구독하기

* indicates required