3장. 3scale toolbox로 API 라이프사이클 자동화
이 주제에서는 Red Hat 3scale API Management를 사용한 API 라이프사이클의 개념에 대해 설명하고 API 공급자가 3scale toolbox 명령으로 CI/CD(Continuous Integration/Continuous Deployment) 파이프라인을 사용하여 배포 단계를 자동화하는 방법을 보여줍니다. 샘플 Jenkins CI/CD 파이프라인을 배포하는 방법, 3scale 공유 라이브러리를 사용하여 사용자 정의 Jenkins 파이프라인을 생성하는 방법, 처음부터 사용자 정의 파이프라인을 생성하는 방법을 설명합니다.
3.1. API 라이프사이클 단계 개요
API 라이프사이클은 API가 더 이상 사용되지 않을 때까지 생성되는 경우의 모든 필수 활동을 설명합니다. 3scale을 사용하면 API 공급자가 전체 API 라이프사이클 관리를 수행할 수 있습니다. 이 섹션에서는 API 라이프사이클의 각 단계에 대해 설명하고 목표 및 예상 결과에 대해 설명합니다.
다음 다이어그램은 왼쪽의 API 공급자 기반 단계와 오른쪽에 API 소비자 기반 단계를 보여줍니다.

Red Hat은 현재 API 공급자 주기의 설계, 구현, 배포, 보안 및 관리 및 API 소비자 사이클의 모든 단계를 지원합니다.
3.1.1. API 공급자 사이클
API 공급자 주기 단계는 API를 지정, 개발 및 배포하는 단계를 기반으로 합니다. 다음은 각 단계의 목적과 결과를 설명합니다.
Stage | 목표 | 결과 |
---|---|---|
1. Strategy | 목표, 리소스, 대상 시장, 일정 기간 및 계획을 포함하여 API의 기업 전략을 결정합니다. | 기업 전략은 목표를 달성하기 위한 명확한 계획으로 정의됩니다. |
2. 설계 | 프로젝트 간의 종속성을 손상시키고 피드백을 수집하고 위험 및 출시 시간(예: Apicurio Studio 사용)을 줄이기 위해 API 계약을 조기에 생성합니다. | 소비자 중심 API 계약은 API로 교환될 수 있는 메시지를 정의합니다. API 소비자는 피드백을 제공했습니다. |
3. Mock | API 소비자가 구현을 시작하는 데 사용할 수 있는 실제 예제 및 페이로드와 API 계약을 추가로 지정합니다. | mock API는 라이브 상태이며 실제 예제를 반환합니다. API 계약이 예와 함께 완료됩니다. |
4. 테스트 | 개발된 API를 테스트하는 데 사용할 수 있는 비즈니스 기대치와의 API 계약을 추가로 지정합니다. | 일련의 승인 테스트가 생성됩니다. API 문서는 비즈니스 기대치에 따라 완료됩니다. |
5. 구현 | Red Hat Fuse와 같은 통합 프레임워크 또는 원하는 개발 언어를 사용하여 API를 구현합니다. 구현이 API 계약과 일치하는지 확인합니다. | API가 구현됩니다. 사용자 정의 API 관리 기능이 필요한 경우 3scale APIcast 정책도 개발됩니다. |
6. Deploy | 3scale toolbox의 CI/CD 파이프라인을 사용하여 API 통합, 테스트, 배포 및 관리를 자동화합니다. | CI/CD 파이프라인은 자동화된 방식으로 프로덕션 환경에 대한 API를 통합, 테스트, 배포 및 관리합니다. |
7. Secure | API가 안전한지 확인합니다(예: 보안 개발 관행 및 자동화된 보안 테스트 사용). | 보안 지침, 프로세스 및 게이트가 설치되어 있습니다. |
8. 관리 | 환경, 버전 관리, 사용 중단 및 대규모 폐기 간 API 승격을 관리합니다. | 프로세스 및 툴은 대규모 API(예: API 변경 중단을 방지하기 위해 의미 체계 버전 관리)를 관리하기 위한 것입니다. |
3.1.2. API 소비자 사이클
API 소비자 사이클 단계는 사용을 위해 API를 승격, 배포 및 조정하는 작업을 기반으로 합니다. 다음은 각 단계의 목적과 결과를 설명합니다.
Stage | 목표 | 결과 |
---|---|---|
9. Discover | API를 타사 개발자, 파트너 및 내부 사용자로 승격합니다. | 개발자 포털이 활성화되어 있고 최신 문서가 이 개발자 포털(예: 3scale ActiveDocs 사용)으로 지속적으로 푸시됩니다. |
10. 개발 | 타사 개발자, 파트너 및 내부 사용자를 안내하고 활성화하여 API를 기반으로 애플리케이션을 개발할 수 있습니다. | 개발자 포털에는 모범 사례, 가이드 및 권장 사항이 포함되어 있습니다. API 개발자는 mock 및 test 엔드포인트에 액세스하여 소프트웨어를 개발할 수 있습니다. |
11. Consume | 증가하는 API 사용을 처리하고 대규모로 API 소비자를 관리합니다. | 준비된 애플리케이션 계획은 소비에 사용할 수 있으며 최신 가격 및 제한이 지속적으로 제공됩니다. API 소비자는 CI/CD 파이프라인에서 API 키 또는 클라이언트 ID/시크릿 생성을 통합할 수 있습니다. |
12. Monitor | API 상태, 품질 및 개발자 참여에 대한 사실적이고 정량화된 피드백을 수집합니다(예: Time to first Hello World!). | 모니터링 시스템이 설치되어 있습니다. 대시보드에는 API에 대한 KPI(예: 가동 시간, 분당 요청, 대기 시간 등)가 표시됩니다. |
13. Monetize | 규모에 따라 새로운 소득을 유도합니다 (이 단계는 선택 사항입니다). | 예를 들어 많은 수의 소규모 API 소비자를 대상으로 하는 경우 수익화가 활성화되고 소비자는 자동화된 방식으로 사용량을 기반으로 청구됩니다. |