7장. 3scale toolbox로 API 라이프사이클 자동화

이 주제에서는 Red Hat 3scale API Management를 통한 API 라이프사이클 개념에 대해 설명하고 3scale toolbox 명령을 사용하여 Jenkins CI/CD(Continuous Deployment) 파이프라인을 사용하여 API 프로바이더가 배포 단계를 자동화하는 방법을 보여줍니다. 샘플 Jenkins CI/CD 파이프라인을 배포하는 방법, 3scale 공유 라이브러리를 사용하여 사용자 정의 Jenkins 파이프라인 생성 방법 및 처음부터 사용자 정의 파이프라인 생성 방법을 설명합니다.

7.1. API 라이프사이클 단계 개요

API 라이프사이클은 더 이상 사용되지 않을 때까지 API가 생성될 때 까지 필요한 모든 활동을 설명합니다. 3scale을 사용하면 API 프로바이더가 전체 API 라이프사이클 관리를 수행할 수 있습니다. 이 섹션에서는 API 라이프사이클의 각 단계에 대해 설명하고 해당 목표와 예상 결과를 설명합니다.

다음 다이어그램에서는 왼쪽의 API 공급자 기반 단계와 오른쪽에 API 소비자 기반 단계를 보여줍니다.

API 라이프사이클 단계
참고

Red Hat은 현재 API 프로바이더 사이클 단계 및 API 소비자 사이클의 모든 단계를 설계, 구현, 배포, 보안 및 관리합니다.

7.1.1. API 공급자 사이클

API 프로바이더 사이클 단계는 API 지정, 개발 및 배포를 기반으로 합니다. 다음은 각 단계의 목표와 결과를 설명합니다.

표 7.1. 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의 변경 사항을 분리하지 않도록 의미 버전 지정).

7.1.2. API 소비자 주기

API 소비자 사이클 단계는 사용을 위해 API를 승격, 배포 및 재설정하는 방법을 기반으로 합니다. 다음은 각 단계의 목표와 결과를 설명합니다.

표 7.2. 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 소비자를 대상으로 하는 경우 수익화가 활성화되고 소비자는 자동화된 방식으로 사용량에 따라 청구됩니다.