무분별한 API 확산을 제어하는 ​​기술
홈페이지홈페이지 > 소식 > 무분별한 API 확산을 제어하는 ​​기술

무분별한 API 확산을 제어하는 ​​기술

Aug 21, 2023

게티 이미지

확인하지 않은 채로 놔두면 대규모 API 포트폴리오가 기업에 급속히 큰 문제가 되고 비용이 많이 드는 책임이 될 수 있습니다. 잘 정의된 API 전략과 표준화가 없으면 애플리케이션은 쉽게 통제 불능 상태가 되어 API가 무분별하게 확산될 수 있습니다.

API의 무분별한 확장이 발생하면 중복된 애플리케이션 기능에 대한 중복된 개발 노력과 같은 비효율성이 발생하여 유지 관리에 더 많은 투자가 필요하고 시스템의 복잡성이 증가할 수 있습니다. 많은 소비자에게 이전 버전과의 호환성에 대한 요구는 엄청나게 복잡하고 비용이 많이 들 수 있습니다. 여러 진실 소스로 인해 데이터 충돌이 발생하여 채택률이 낮아질 수 있는 열악한 경험과 모호함이 발생할 수도 있습니다.

이 기사에서는 소프트웨어 팀이 API 확산을 방지하거나 필요한 경우 이미 잘못 관리된 API 포트폴리오에 대한 제어권을 다시 확보하기 위해 구현할 수 있는 몇 가지 중요한 전략을 살펴보겠습니다.

확인되지 않은 API의 확산을 관리하려면 소프트웨어 팀이 전반적인 복잡성, 변경 비용 및 긴급 유지 관리를 최소한으로 유지할 수 있도록 집중적인 노력을 기울여야 합니다.

API의 무분별한 확산을 해결하는 것은 API가 운영 및 리소스 소비에 미치는 전반적인 영향 범위를 결정하는 것부터 시작됩니다. API는 조직 내부 및 경계 외부 모두에서 소프트웨어 엔터티와 상호 작용할 수 있는 경우가 많습니다. API에 대한 영향 범위는 내부든 외부든 소비자가 API와 명시적으로 통합되는 경우 제한되는 경우가 많습니다.

공개적으로 사용 가능한 API는 훨씬 더 높은 수준의 관리 복잡성을 나타낼 수 있습니다. 조직의 통제를 벗어나는 구성 요소 및 끝점을 포함할 수 있는 영향 범위별 분류 외에도 단일 공용 API는 종종 여러 데이터 형식, 보안 표준 및 통신 프로토콜을 구현할 수 있습니다. 따라서 계약 및 프로토콜 구현 중에 단편화 정도를 식별하는 것이 필수적입니다.

API는 수명 주기 동안 시스템 간에 마이그레이션해야 하는 경우도 있습니다. 원활한 전환 경로를 활성화하려면 소프트웨어 팀은 마이그레이션 전에 API를 준비하여 원하는 상태를 유지해야 합니다. 전환 문제를 줄이려면 API가 대량이 아닌 시간이 지남에 따라 천천히 마이그레이션되도록 마이그레이션을 조정해야 할 수도 있습니다. 이와 관련하여 유용할 수 있는 몇 가지 기본 API 버전 관리 기술이 있습니다. 예를 들어 이전 계약은 더 이상 사용되지 않는 동안 소비자가 최신 버전으로 마이그레이션할 수 있도록 허용합니다. 팀은 또한 인기 있는 런타임을 위한 액세스 가능한 라이브러리를 생성하고, 최신 API에 대한 호환성 레이어를 생성하거나, 소비자별 기능 플래그를 추가하여 원활한 마이그레이션을 지원할 수도 있습니다.

기존 환경과 영향을 잘 이해한 후에는 후속 단계에서 기존 표준을 통합하는 데 중점을 두어야 합니다. 이 단계는 아래에서 검토할 세 가지 "하위 단계"로 실행될 수 있습니다.

팀은 전체 환경에서 API 사용을 정기적으로 측정하고 분석해야 합니다. API 소비자에 대한 제어가 없거나 거의 없는 영역에서는 모의와 같은 기능을 지원하는 API 관리 도구 또는 플랫폼의 지원이 필요할 수 있습니다. 핵심 노출 영역, 중요한 기능 및 모든 기존 API 형식을 식별합니다.

관리되지 않는 대규모 포트폴리오의 API는 종종 정보 소스와 개발 노력의 중복으로 이어지는 중복 동작을 나타낼 수 있습니다. API 분류 및 더 중요한 관리 책임에 대해 강력한 도메인 경계를 그려 소스를 명확하게 하는 것이 중요합니다. 이를 위해서는 이전 API의 "통합 버전"인 새 API를 생성하거나, 중복된 것으로 간주되는 기존 API를 더 이상 사용하지 않거나, 기존 API의 계약을 업데이트하여 범위를 좁혀야 할 수도 있습니다.

기능 통합이 이루어지면 궁극적으로 전환 및 새로운 개발 경로를 계획하는 비즈니스 측면 요구 사항 및 목표에 부합하는 명확한 규칙을 설정하는 것이 중요합니다. 이러한 관계를 문서화하고 도표화하는 것은 계약 구조 및 기본 프로토콜과 같은 것에 대한 보다 광범위한 합의를 구축하는 데 큰 도움이 될 것입니다.