애플리케이션 프로그래밍 인터페이스 또는 API가 유행입니다.
API는 새로운 것이 아니지만 COVID-19로 인한 디지털 혁신의 가속화, 향상된 소프트웨어 통합, 클라우드를 위한 레거시 앱의 재플랫폼화 노력과 같은 최근의 현상으로 인해 API가 지속적으로 확산되고 있으며, 이는 관리, 보안, 심지어 조직이 현대 디지털 경제에서 성공하기 위해 내리는 아키텍처 선택에도 영향을 미치고 있습니다.
API는 본질적으로 기계의 부상을 나타낼 수 있습니다. 다만 다행히도 인간은 (적어도 지금은) 아직도 그 건설, 관리, 보안에 대한 통제권을 갖고 있습니다.
기본적으로 "API 방식"(말하자면)으로 말하면 소비자는 일반적으로 다양한 표준, 스키마, 사양으로 구성된 통합 인터페이스를 통해 생산자 에게 쿼리나 요청을 보냅니다.
예를 들어, 국가 기상청( 생산자 )은 일일 날씨 데이터를 제공합니다. 휴대폰의 날씨 앱( 소비자 )은 WeatherKit REST API를 통해 이 시스템을 호출하거나, 보다 구체적으로는 쿼리를 실행한 후, 날씨 앱 사용자 인터페이스를 통해 데이터를 렌더링합니다. 이는 수백만 명의 사용자가 사용하는 인기 앱의 간단한 예이지만, 기계 간 통신이 현대 디지털 경험의 트래픽에서 가장 큰 비중을 차지하며 API를 기반으로 한다는 점이 주목할 만합니다.
API는 비즈니스 가치로 전환되는 여러 가지 기술적 이점을 제공합니다.
기술 혜택 | 사업적 가치 |
---|---|
웹 앱의 기본 구현을 추상화합니다. | 조직은 모바일 앱과 마이크로서비스 기반 아키텍처를 신속하게 배포할 수 있습니다. |
개발자가 툴링을 통해 API 소비자를 구현할 수 있도록 유형을 지정하세요. | 리더는 제품 출시 시간을 단축하기 위해 개발 프로세스를 최적화할 수 있습니다. |
일관되고 예측 가능한 정보 교환을 모델링하기 위해 의미론/동작을 정의합니다. | 파트너는 타사 통합을 개발하고 이를 통해 수익을 창출할 수 있습니다. |
API를 구현할 때는 고려해야 할 사항이 많습니다. 특히, 설계, 구축 및 유지 관리 중에 종속성을 분리하고 상호 운용성을 보장하는 데 도움이 되는 모델링, 버전 관리 및 계약 테스트와 관련이 있습니다.
고려 사항 | 설명 | 혜택 |
---|---|---|
모델링 | 정보 교환을 표현하고 구조화하는 의미론이나 행동. | 분산 아키텍처의 간소화된 관리. |
버전 관리 | API 수명 주기 전반에 걸친 출시 및 유지 관리를 위한 거버넌스 전략. | 최대한의 유용성과 이전 버전과의 호환성. |
계약 테스트 | 소비자와 생산자 간의 정의된 상호작용과 예상되는 반응. | 타사 비즈니스 통합을 통한 결정론적 상호작용. |
API를 구축, 관리 및 보호하는 데에는 옳고 그른 방법이 없습니다. 사실, API가 확산되기 시작했을 때, API를 대규모로 소비하기 위해 API의 모양과 구조를 표준화할 필요가 있었습니다. OpenAPI 이니셔티브와 그로 인한 OpenAPI 사양(OAS)이 등장했습니다. Swagger는 OpenAPI 사양의 원래 참조 구현이었으며, 대부분의 툴링은 이제 여전히 Swagger(HA!)를 유지하는 OpenAPI를 사용하도록 수렴되었습니다.
실제로 API는 다양한 표준, 스키마, 사양을 사용하여 구성할 수 있습니다. 예를 들어 RESTful 프레젠테이션, gRPC 서비스, GraphQL 스키마에 대한 연결 등이 있습니다.
구현 | 개요 | 이익 | 언제 사용할 것인가 |
---|---|---|---|
![]() |
REST는 API 기반 아키텍처를 구현한 가장 널리 배포된 방식입니다. |
|
|
![]() |
GraphQL은 API를 위한 오픈소스 데이터 쿼리 및 조작 언어이며, 기존 데이터로 이러한 쿼리를 충족하기 위한 런타임입니다(Facebook에서 개발하여 현재는 Linux Foundation의 일부). |
|
|
![]() |
gRPC는 Linux Foundation의 관리 하에 있는 현대적이고 오픈 소스이며 고성능 원격 프로시저 호출(RPC) 프레임워크입니다. |
|
|
API 기본에 대한 입문서를 바탕으로 후속 게시물에서 클라우드를 위한 레거시 앱의 리플랫폼을 통해 모든 것을 통합하기 전에 API 아키텍처를 구축, 관리 및 보호하는 방법을 살펴보겠습니다.
앞서나가고 싶나요? 오늘 eBook을 다운로드하세요: