Jump to section

API 관리란?

URL 복사

API 관리는 엔터프라이즈 및 클라우드 전반에서 애플리케이션과 데이터를 연결하는 애플리케이션 프로그래밍 인터페이스(API)를 배포, 제어, 분석하는 프로세스를 가리킵니다. API는 두 애플리케이션이 실시간으로 데이터를 공유하는 방식입니다. 이 통신은 애플리케이션 소프트웨어 및 서비스를 통합하는 툴, 정의, 프로토콜의 세트를 통해 발생합니다.

API 관리의 목표는 조직이 API를 개발하거나 다른 업체의 API를 사용해 활동을 모니터링하도록 지원하고, API를 사용하는 개발자와 애플리케이션의 요구 사항을 충족하는 것입니다. 조직은 API 관리 툴을 통해 API 구성을 공유하고, 액세스를 제어하고, 사용 통계를 수집 및 분석하고, 네트워크와 API 사용자 전반에 보안 정책을 시행할 수 있습니다.

조직은 급변하는 고객 요구사항에 대응할 수 있도록 API 관리 전략을 구현하고 있습니다. 이러한 조직들은 대부분 소프트웨어 개발 속도를 가속화하여 요구사항을 충족하기 위해 마이크로서비스 아키텍처를 도입합니다.

HTTP 기반 API는 마이크로서비스 아키텍처 간의 동기식 상호 작용을 위해 선호하는 방법이 되었으며, REST API는 API 키, 클라이언트별 스로틀링, 요청 유효성 검사 및 비공개 API 엔드포인트를 지원합니다. 이러한 API는 모든 마이크로서비스를 긴밀히 연결하는 접착제 역할을 합니다. API 관리를 통해 조직은 기업 정책을 준수하는 API를 사용하고 적절한 보안 수준에 따라 거버넌스를 허용할 수 있습니다. 일부 서비스에는 다른 정책과 다른 보안 정책이 요구될 수 있기 때문입니다.

성공을 위한 API 팀의 준비

API 관리는 주로 분석, 액세스 제어, 수익화 및 개발자 워크플로우 등 중앙 집중식으로 API 프로그램을 관리하는 것을 말합니다. API 관리 솔루션은 Red Hat 3scale API Management와 마찬가지로 신뢰성, 유연성, 품질 및 속도를 제공합니다. 이러한 목표를 달성하고 퍼블릭 및 내부 API를 안전하게 사용할 수 있도록 하려면 API 관리 솔루션을 통해 액세스 제어, 속도 제한 및 사용 정책을 최소한으로 제공해야 합니다. 대부분의 API 관리 솔루션에는 일반적으로 다음과 같은 기능도 포함되어 있습니다.

  • 개발자 포털: 개발자 포털은 가장 일반적인 API 관리 방법입니다. 개발자 포털은 대체로 API 설명서와 함께 등록 및 계정 관리와 같은 개발자 온보딩 프로세스를 제공합니다.

  • API 게이트웨이:API 게이트웨이는 모든 고객을 위한 단일 진입 지점입니다. 게이트웨이는 고객이 정책을 사용하여 API와 상호작용하는 방식도 결정합니다.

  • API 라이프사이클 관리: 설계에서 구현, 사용 종료에 이르는 API의 전 과정을 관리할 수 있어야 합니다. Red Hat 3scale API Management는 API 라이프사이클 관리의 리더입니다.
  • 분석: 어떤 사용자 또는 애플리케이션이 어떤 API를 얼마나 자주 호출하는지 등 API의 현재 상태를 파악하는 것이 중요합니다. 장애를 일으킨 API의 수와 그 이유도 반드시 파악해야 합니다.

  • API 수익화 지원: API 기반 마이크로서비스에 대한 액세스 사용 계약을 통해 수익을 창출합니다. API 관리를 통해 API 호출 수 등 메트릭에 따른 사용 계약을 정의할 수 있습니다. 사용자는 액세스 계층으로 세분화 및 차별화될 수 있으며, 서비스 품질은 세분화된 그룹별로 다르게 제공될 수 있습니다.

이러한 기능은 API 설계 중에 고려되므로, API는 셀프 관리형 또는 클라우드 구성 요소를 사용하여 트래픽 제어, 보안 및 액세스 정책 실행을 제공할 수 있습니다. 잘 설계된 API는 성능, 고객 관리 및 향후 성장을 예측하여 구축된 인프라 플랫폼에서 공유, 보안, 배포, 제어 및 수익화할 수 있습니다.

마이크로서비스와 API는 새로운 비즈니스 요구사항을 충족하기 위해 혁신적인 애플리케이션 구성 요소를 신속히 개발하기 위한 기반입니다. 이러한 접근 방식을 클라우드 네이티브 애플리케이션 개발이라고 합니다. 그러나 이런 방식이 수월하기만 한 것은 아닙니다.

마이크로서비스 개발의 핵심 기술 과제는 대규모 시스템을 소규모 구성 요소로 분할하는 데 있습니다. API는 소규모 구성 요소와 데이터 소스를 연결하고 구성 요소들끼리 서로 연결되도록 지원합니다.

마이크로서비스 아키텍처로 인한 또 다른 과제는 계속해서 변화하는 여러 마이크로서비스를 조율하는 방식인데, 서비스 검색을 통해 한결 수월해졌습니다. API 관리 서비스는 필요한 검색 메커니즘을 제공하여, 이용 가능한 마이크로서비스를 검색하고 이를 활용하는 방법에 대한 도큐멘테이션을 개발자 포털을 통해 공유할 수 있도록 합니다.

마이크로서비스에는 통합된 보안 방식이 필요합니다. 보안 메커니즘은 API의 종류에 따라 다릅니다. 대외적인 서비스에는 내부 서비스와는 다른 보안 메커니즘이 필요합니다. 미션 크리티컬한 정도가 덜한 API의 경우 대개는 API 키를 활용한 간단한 보안 방식만으로도 충분합니다. 대외적이거나 중요한 API의 경우 OAuth처럼 보다 안전한 보안 방식이 필요합니다.

API 관리 플랫폼은 애플리케이션 통합, 관리, 보안 및 API 모니터링을 지원하는 엔드 투 엔드 서비스를 제공하는 주요 구성 요소로 이루어져 있습니다.

API 게이트웨이는 들어오는 모든 클라이언트 요청을 가로채서 API 관리 시스템을 통해 백엔드 서비스에 연결하도록 전송합니다.

개발자 포털은 개발자가 API 도큐멘테이션, 코드 샘플, 소프트웨어 개발 키트(SDK) 및 API 개발자를 위한 기타 리소스에 대한 셀프 서비스 액세스를 제공하는 웹 기반 대시보드입니다.

전체 API 라이프사이클을 손쉽게 관리하고 모니터링하는 방법을 제공하는 것도 API 관리의 일부입니다. API 라이프사이클 관리 툴에는 업계 표준 사양을 사용한 API 설계, API 버전 관리, 변경 제어 프로세스 관리, 시간 경과에 따른 API 사용량 및 성능 추적 기능이 포함됩니다.

인증, 권한 부여 및 보안 정책을 통해 API와 민감한 데이터를 무단 액세스와 남용으로부터 보호하기 위해 API 관리 플랫폼에 보안 및 액세스 제어 구성 요소가 포함되어 있습니다. 여기에는 Identity 및 액세스 관리를 위한 OAuth 및 OpenID와 같은 기능이 포함됩니다.

전체 API 관리 플랫폼에는 API 사용량, 성능 및 동작에 대한 인사이트를 제공하는 분석 및 모니터링 툴도 포함되어 있습니다. 이러한 툴은 API 트래픽 볼륨, 응답 시간, 오류율, 널리 사용되는 엔드포인트를 실시간으로 모니터링합니다. 또한 과거 데이터 및 추세 분석을 통해 성능 장애 요인을 파악하고, API 사용을 최적화하며, 비즈니스 목표에 대한 API의 영향을 측정할 수 있습니다.

또한 성공적인 API 관리 솔루션은 외부에서 다른 시스템이나 파트너와 통합하거나 내부에서 조직 네트워크 시스템과 통합하는 에코시스템 확장을 지원해야 합니다. 

다음과 같은 중요 질문에 답해보세요.

  1. 자사의 API에 대한 액세스를 어떻게 제어합니까?
  2. 어떻게 메트릭을 수집하고 경고를 처리해야 합니까?
  3. 사용량 급증을 어떻게 관리해야 합니까?
  4. API 가동 시간을 누가 담당하고 있습니까?
  5. 원치 않는 API 사용을 어떻게 생각하십니까?

작업 결과를 측정하지 않고는 성공을 평가할 방법이 없습니다. 분석은 API 활동에 관한 데이터를 제공하지만 이와 함께 성공에 대한 정의도 제공해야 합니다. 조직에서 성공을 정의할 때는 API에 대한 다음 5가지 주요 성과 목표를 고려합니다.

  1. 신뢰성: 신뢰성이란 개발자의 API 사용 가능성을 의미합니다. 신뢰성을 측정하는 데 유용한 메트릭은 다운타임이며, API를 언제나 사용할 수 있는지의 여부가 중요합니다. 또 다른 메트릭은 특정 시간 대에 개발자가 얼마나 많은 API를 호출할 수 있는지를 정의하는 할당량입니다. 할당량은 API가 남용되지 않도록 보호하고 관리를 보다 예측 가능하게 합니다. 일부 API 제공업체의 비즈니스 모델과 요금제는 할당량을 기반으로 합니다.
  2. 유연성: 유연성은 API를 도입할 때 개발자가 가진 옵션을 나타냅니다. API의 유연성이 높아질수록 API를 관리하는 조직의 작업(및 비용)도 증가합니다.
  3. 품질: 품질이란 개발자의 기대에 따라 일관성있게 유지되는 API 동작을 의미합니다. 이는 API에 대한 개발자의 만족도를 측정하는 한 방법입니다.
  4. 속도: 속도는 액세스 대기 시간처리량으로 측정할 수 있습니다. 속도는 스로틀링(throttling) 또는 캐싱(cashing)과 같은 기술의 영향을 받을 수 있습니다.
  5. 비용: 비용을 측정하는 것은 개발자들에게 비용 대비 최대 가치를 제공하기 위해서입니다. 다른 네 가지 목표 모두 어떤 식으로든 비용을 측정하는 데 도움이 됩니다.

Red Hat® OpenShift®는 쿠버네티스로 구동되는 업계 최고의 하이브리드 클라우드 애플리케이션 플랫폼으로, 검증을 통해 신뢰성을 확보한 서비스를 결합하여 애플리케이션 개발, 현대화, 배포, 실행, 관리에 수반되는 마찰을 줄입니다. 온프레미스나 하이브리드 클라우드, 멀티클라우드 또는 기본적으로 널리 사용되는 클라우드 서비스 중 어디에 배포되든 Red Hat OpenShift는 방대한 기술 파트너 에코시스템을 통해 배포 및 라이프사이클 관리를 자동화할 수 있을 뿐만 아니라 AI/ML, 엣지를 비롯한 가장 까다로운 워크로드도 지원합니다.

오픈소스 Istio 프로젝트에 기반한 Red Hat® OpenShift® Service Mesh는 마이크로서비스 기반 애플리케이션을 일관된 방식으로 연결, 관리, 관측할 수 있도록 지원합니다. 마이크로서비스 기반 애플리케이션 아키텍처를 중심으로 더욱 효율적인 엔드 투 엔드 개발자 경험을 제공하도록 설계되었습니다. 이를 통해 개발자 팀은 애플리케이션과 비즈니스 로직에 맞는 맞춤형 네트워킹 서비스를 구현해야 하는 복잡한 태스크에서 벗어날 수 있습니다.

Red Hat Application Foundations는 하이브리드 클라우드 전반의 보안을 고려하여 애플리케이션을 대규모로 구축, 배포 및 운영하는 데 필요한 포괄적인 툴과 기술을 제공합니다. Red Hat Application Foundations를 활용하는 팀은 전체 라이프사이클에 걸쳐 API를 공유, 보호, 배포 및 제어할 수 있습니다. 주요 기능으로는 중앙집중식 관리, 액세스 제어, 속도 제한, 분석 및 사용량 보고 등이 있습니다.

추가 자료

문서

API란?

API는 애플리케이션 소프트웨어를 구축하고 통합하기 위한 정의 및 프로토콜 세트인 애플리케이션 프로그래밍 인터페이스(Application Programming Interface)를 뜻합니다.

문서

API 게이트웨이에서 수행하는 작업

API 게이트웨이는 클라이언트와 백엔드 서비스 컬렉션 사이에 위치하는 애플리케이션 프로그래밍 인터페이스(API) 관리 툴입니다.

문서

왜 API 관리를 위해 Red Hat을 선택해야 할까요?

Red Hat의 API 솔루션은 재사용성, IT 민첩성, 그리고 측정, 모니터링, 확장을 지원하는 관리 인터페이스에 초점을 맞추고 있습니다.