7장. 3scale toolbox로 API 라이프사이클 자동화
이 주제에서는 Red Hat 3scale API Management의 API 라이프사이클 개념을 설명하고 3scale toolbox 명령을 사용하여 API 공급자가 Jenkins Continuous Integration/Continuous Deployment(CI/CD) 파이프라인을 사용하여 배포 단계를 자동화하는 방법을 보여줍니다. 샘플 Jenkins CI/CD 파이프라인을 배포하는 방법, 3scale 공유 라이브러리를 사용하여 사용자 지정 Jenkins 파이프라인을 생성하는 방법, 처음부터 사용자 지정 파이프라인을 생성하는 방법을 설명합니다.
7.1. API 라이프사이클 단계 개요
API 라이프사이클은 더 이상 사용되지 않을 때까지 API를 생성할 때부터 필요한 모든 활동을 설명합니다. 3scale을 사용하면 API 공급자가 전체 API 라이프사이클 관리를 수행할 수 있습니다. 이 섹션에서는 API 라이프사이클의 각 단계에 대해 설명하고 목표 및 예상 결과를 설명합니다.
다음 다이어그램에서는 왼쪽의 API 공급자 기반 단계와 오른쪽에 있는 API 소비자 기반 단계를 보여줍니다.
Red Hat은 현재 API 공급자 사이클의 설계, 구현, 배포, 보안 및 관리 단계를 지원하고 있으며 API 소비자 주기의 모든 단계를 지원하고 있습니다.
7.1.1. API 공급자 사이클
API 공급자 사이클 단계는 API의 지정, 개발 및 배포를 기반으로 합니다. 다음은 각 단계의 목표 및 결과를 설명합니다.
Stage | 목표 | 결과 |
---|---|---|
1. 전략 | 목표, 리소스, 대상 시장, 기간 및 계획을 포함한 API에 대한 기업 전략을 결정합니다. | 기업 전략은 목표를 달성하기 위한 명확한 계획으로 정의됩니다. |
2. 설계 | 프로젝트 간의 종속성을 해제하고 피드백을 수집하며 출시할 위험 및 시간 단축(예: Apicurio Studio 사용)을 조기에 API 계약을 생성합니다. | 소비자 중심 API 계약은 API와 교환될 수 있는 메시지를 정의합니다. API 소비자는 피드백을 제공합니다. |
3. mock | API 소비자가 구현을 시작하는 데 사용할 수 있는 실제 예제 및 페이로드와 함께 API 계약을 추가로 지정합니다. | mock API는 라이브이며 실제 예제를 반환합니다. 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. 보안 | API가 안전한지 확인합니다(예: 보안 개발 관행 및 자동화된 보안 테스트 사용). | 보안 지침, 프로세스 및 게이트가 적용됩니다. |
8. manage | 환경, 버전 관리, 사용 중단 및 규모에 따른 폐기 간의 API 승격을 관리합니다. | 프로세스 및 도구를 사용하여 대규모로 API를 관리할 수 있습니다(예: API에 대한 변경 사항 손상을 방지하기 위해 의미 체계 버전 관리). |
7.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/secret 생성을 통합할 수 있습니다. |
12. monitor | API 상태, 품질 및 개발자 참여에 대한 사실 및 정량적 피드백을 수집합니다(예: Time to first Hello World!). | 모니터링 시스템이 구축되어 있습니다. 대시보드는 API에 대한 VDDK(예: 가동 시간, 분당 요청, 대기 시간 등)를 표시합니다. |
13. monetize | 규모에 따라 새로운 수입을 유도합니다 (이 단계는 선택 사항입니다. | 예를 들어 많은 수의 소규모 API 소비자를 대상으로 지정하는 경우 수익화가 활성화되고 소비자가 자동화된 방식으로 사용량에 따라 청구됩니다. |