6장. 3scale toolbox로 API 라이프사이클 자동화
이 주제에서는 Red Hat 3scale API Management를 통한 API 라이프사이클 개념에 대해 설명하고 3scale toolbox 명령을 사용하여 Jenkins CI/CD(Continuous Deployment) 파이프라인을 사용하여 API 프로바이더가 배포 단계를 자동화하는 방법을 보여줍니다. 샘플 Jenkins CI/CD 파이프라인을 배포하는 방법, 3scale 공유 라이브러리를 사용하여 사용자 정의 Jenkins 파이프라인 생성 방법 및 처음부터 사용자 정의 파이프라인 생성 방법을 설명합니다.
6.1. API 라이프사이클 단계 개요
API 라이프사이클은 더 이상 사용되지 않을 때까지 API가 생성될 때 까지 필요한 모든 활동을 설명합니다. 3scale을 사용하면 API 프로바이더가 전체 API 라이프사이클 관리를 수행할 수 있습니다. 이 섹션에서는 API 라이프사이클의 각 단계에 대해 설명하고 해당 목표와 예상 결과를 설명합니다.
다음 다이어그램에서는 왼쪽의 API 공급자 기반 단계와 오른쪽에 API 소비자 기반 단계를 보여줍니다.
Red Hat은 현재 API 프로바이더 사이클 단계 및 API 소비자 사이클의 모든 단계를 설계, 구현, 배포, 보안 및 관리합니다.
6.1.1. API 공급자 사이클
API 프로바이더 사이클 단계는 API 지정, 개발 및 배포를 기반으로 합니다. 다음은 각 단계의 목표와 결과를 설명합니다.
Stage | 목적 | 결과 |
---|---|---|
1. 전략 | 목표, 리소스, 목표 시장, 기간을 비롯하여 API의 기업 전략을 결정하고 계획을 수립합니다. | 기업 전략은 목표 달성을 위한 명확한 계획으로 정의됩니다. |
2. 설계 | API 계약을 조기에 만들어 프로젝트 간 종속성을 해제하고 피드백을 수집하며, 위험과 출시 시간을 줄입니다(예: Apicurio Studio 사용). | 소비자 중심의 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. 배포 | 3scale toolbox와 함께 CI/CD 파이프라인을 사용하여 API 통합, 테스트, 배포 및 관리를 자동화합니다. | CI/CD 파이프라인은 자동화된 방식으로 프로덕션 환경에 API를 통합, 테스트, 배포 및 관리합니다. |
7. 보안 | API가 안전한지 확인합니다(예: 보안 개발 사례 및 자동화된 보안 테스트 사용). | 보안 지침, 프로세스 및 게이트가 마련되어 있습니다. |
8. 관리 | 환경, 버전 관리, 폐기, 규모에 따른 폐기 간의 API 승격 관리. | 프로세스 및 도구는 대규모 API를 관리하기 위한 것입니다(예: API의 변경 사항을 분리하지 않도록 의미 버전 지정). |
6.1.2. API 소비자 주기
API 소비자 사이클 단계는 사용을 위해 API를 승격, 배포 및 재설정하는 방법을 기반으로 합니다. 다음은 각 단계의 목표와 결과를 설명합니다.
Stage | 목적 | 결과 |
---|---|---|
9. 검색 | API를 타사 개발자, 파트너 및 내부 사용자에게 홍보합니다. | 개발자 포털은 실시간 및 최신 문서가 지속적으로 이 개발자 포털(예: 3scale ActiveDocs 사용)으로 푸시됩니다. |
10. 개발 | 타사 개발자, 파트너 및 내부 사용자를 안내하고 API를 기반으로 애플리케이션을 개발할 수 있도록 합니다. | 개발자 포털에는 모범 사례, 가이드 및 권장 사항이 포함되어 있습니다. API 개발자는 mock 및 테스트 엔드포인트에 액세스하여 소프트웨어를 개발할 수 있습니다. |
11. 사용 | 증가하는 API 사용을 처리하고 대규모의 API 소비자를 관리합니다. | 준비된 애플리케이션 계획은 소비가 가능하며 최신 가격 및 제한사항이 지속적으로 반영됩니다. API 소비자는 CI/CD 파이프라인에서 API 키 또는 클라이언트 ID/시크릿 생성을 통합할 수 있습니다. |
12. 모니터 | API 상태, 품질 및 개발자 참여에 대한 팩트 및 수량화된 피드백을 수집합니다(예: Time to first Hello World!). | 모니터링 시스템이 설치되어 있습니다. 대시보드에는 API에 대한 KPI(예: 가동 시간, 분당 요청, 대기 시간 등)가 표시됩니다. |
13. 수익화 | 규모에 따라 새 수입을 유도합니다(이 단계는 선택 사항임). | 예를 들어, 다수의 소규모 API 소비자를 대상으로 하는 경우 수익화가 활성화되고 소비자는 자동화된 방식으로 사용량에 따라 청구됩니다. |