Microservice 각각에 구현해야 했던 API Interface, 정책 및 공통 기능의 통합 관리가 가능합니다.
Gateway와 API의 Lifecyle관리, 보안, Mediation, 유량제어 등의 정책을 관리하며 API Document를 작성, 편집, 공유할 수 있습니다. 상품화와 게시를 위한 Developers Portal을 제공하고 사용량을 분석, 모니터링하며 개발 및 고도화를 지원 합니다.
서비스소개
API Management Service
-
Kubernetes 플랫폼 기반 서비스
Light-weight 컨테이너 기반 서비스, K8S Orchestration 기능을 활용합니다.
효과적인 Multi-gateways 관리 기능 지원을 합니다.
-
MSA의 API Layer 통합 관리
관리자에게는 Project 제어 및 Gateway 생성, 개발자에게는 Infra에 신경 쓰지 않고 API에 집중하여 개발 할 수 있는 환경을 제공합니다.
특히 API 정책에 있어서 중앙 제어 기능 뿐만 아니라 Project 별 적용까지 가능하게 합니다.
-
OPEN API SERVICE 구축 및 운영 지원
API를 상품화 하여 게시하고, 사용 요청을 승인 할 수 있는 API Developers Portal과 Portal을 Customizing 할 수 있는 기능을 제공합니다.
Forum을 통해서는 Issue 해결 및 공지사항 관리를 할 수 있습니다.
기대효과
모든 Kubernetes 환경에서 Multi-Gateway Management 가능
Public/Private Cloud, On-prem. 환경 모두 구성 가능합니다.
Project 생성/관리 및 Project 별 Gateway/API 각각 관리 가능합니다.
UI 기반 손쉬운 Gateway Scale-out, Scale-up 기능을 제공합니다.
Multi-Gateway에 대한 공통 API 정책 설정 및 관리자 제어가 가능합니다.
API 개발자 포탈 기반으로 상품화 및 Monetization 지원
개발자 포탈로 상품화 및 상품 게시/관리가 가능합니다.
사용 요청 및 관리자 승인 프로세스를 제공합니다.
개발자 포탈 스타일 Customizing 기능을 제공합니다.
Document 및 Forum으로 Client-Server 개발자간 효과적 협업이 가능합니다.
API 사용 현황 분석 / 모니터링 Dashboard로 운영 편의성 제공
API Request/Response Data에 대한 로깅&디버깅 기능을 제공합니다.
Project별/API별 호출 현황, 성공/실패 시각화 및 분석 기능을 제공합니다.
API Gateway Metrics 모니터링/알림 기능이 제공됩니다.
Forum으로 사용자 의견을 분석 후 API를 고도화 할 수 있습니다.
상세기능
-
사용자 관리
- Single Sign-On(SSO) 인증
- 사용자 및 권한 관리
- APIM 및 Developers Portal 관리자 설정
-
프로젝트 관리
- Project 생성/관리
- Project 사용자 추가/삭제
- Project scope 사용자-권한 관리
- 권한 별 자원 접근 제어 (Gateway, API, Project, Policy, Deployment 등)
-
Multi-Cloud Gateway 관리
- Multi/Hybrid API Gateway 통합 관리
- 프로젝트 (팀/조직) 단위의 Gateway 관리
- Kong(On-premise) / AWS (진행중) 지원
- Gateway 담당과 API 담당의 역할 분리
-
Gateway Provisioning
- 손쉬운 Gateway 생성/등록
- Gateway Vendor 선택
- Gateway Scale-In/Out 컨트롤
- 도메인 TLS cert/key 등록/관리
-
API 생성
- API 생성/변경/삭제
- API 설계(Frontend - Backend 연결)
- API 정책 설정 가능
- HTTP/Websocket Protocol 설정
- Swagger 자동 가져오기 기능
-
API 배포 및 무중단 버전 변경
- API 배포 버전 관리
- 특정 버전 배포의 설정 상태 확인
- 특정 버전으로의 API 롤백(무중단)
- API Blue/Green 배포 가능
-
API 정책 설정
- 관리자의 API Default Policy 통제
- 보안 정책(API KEY, CORS 등)
- Traffic Control(RateLimit, Proxy Cache)
- Log(Request/Response, Gateway 상태, API 사용자 정보 등)
- Data Transformation, OIDC, TXID 등
-
API KEY 관리
- 프로젝트별 API KEY 생성/관리
- 1개 프로젝트 : N개 API KEY 생성 가능
- 재배포 없이 API KEY 갱신 가능
- API KEY Active/Deactive 가능
-
API Document 등록/작성(Swagger)
- API 문서 등록 및 JSON 기반 편집 가능
- Swagger 2.0 기반 문서 호환
- API 배포 시 배포 버전의 API 문서 게시
- API KEY 설정 및 API 테스트 가능
- API 설계자, 개발자, 사용자 간 공유
-
API 배포 전 테스트
- API 배포 전 테스트 및 확인 후 배포 가능
- Header, Body, QueryString 등 설정
- JSON 기반 Request Parameter 설정
- 응답 데이터 및 성공/실패 확인
-
Request/Response Log
- API Log Policy 설정 및 선택적 Logging
- API 요청/응답의 Header/Body 저장
- API 사용자 정보 저장(Project/Gateway/API/API KEY 정보)
- Gateway Health Check Status 기록
-
API 사용량 Dashboard
- 전체/프로젝트별 API 성공/실패 현황
- 전체/프로젝트별 API 별 호출 횟수
- 전체/프로젝트별 호출 빈도 Top5
- Dashboard Cutomization 가능
- Kong Gateway Health Check 현황
-
API RPS Latency
- Status Code에 따른 RPS 현황
- API 별 Proxy Latency 현황
- 요청 지연과 응답 지연의 구분된 현황
- 유연한 Dashboard 확장성
-
Gateway Status
- 최대, 최소, 평균 In/Out 시간
- Kong Gateway 내부 자원 모니터링(cluster_event, db_cache, limitrate, healthcheck, lock, etc.)
- K8S 호환으로 Node별 사용 메모리 표시
-
API 개발자 포탈
- API 상품화 및 게시 관리
- 개발자 포탈 스타일 Customization 가능
- API 사용자의 사용 요청 및 관리자의 승인 프로세스 제공
- Forum을 이용한 API Trouble-shooting 및 고도화
활용사례
통신사도입배경
- 고객사 데이터의 OpenAPI Service화, 외부 사용자들이 편하게 이용할 수 있는 API 개발자 포탈이 필요했습니다.
활용사례
- Gateway 및 API를 생성/관리 할 수 있는 Console이 중요했고, 개발 완료된 API의 가이드문서, 테스트 내용 등을 OpenAPI Service Portal에 게시하고자 했습니다.
- 외부 사용자는 API 상품 선택 및 사용 요청, 관리자는 사용을 승인하는 프로세스도 정리했습니다.
- API 설계/개발 생성, 정책 설정, 문서 관리, 테스트, 배포하는 기능을 제공하였습니다.
- 배포된 API의 사용량을 분석/모니터링 하고, 이를 통해 기존 API를 고도화 하거나 새로운 API를 개발할 수 있는 환경을 제공하였습니다.
적용결과
- 고객사의 End User가 사용하는 대형 포탈 서비스에 안정적인 API Gateway를 제공했습니다.
- API 개발자 포탈에 제휴사도 참여하여 OpenAPI 상품들이 다양해지고 활성화되었습니다.