콘텐츠로 이동하기
API 관리

Apigee의 GraphQL API 수명 주기 관리에 관한 기본 지원 발표

2022년 4월 5일
https://storage.googleapis.com/gweb-cloudblog-publish/images/BopvNhpC3pJv8Kn.max-1400x1400.png
Nandan Sridhar

Product Manager

David Feuer

Senior Product Manager

GCP 사용해 보기

$300의 무료 크레딧과 20개 이상의 항상 무료인 제품으로 Google Cloud 사용을 시작해보세요.

무료 체험

* 본 아티클의 원문은 2022년 9월 24일 Google Cloud 블로그(영문)에 게재되었습니다. 

애플리케이션 프로그래밍 인터페이스(API)는 기술 솔루션 빌드 및 연결의 사실상 표준으로 자리잡았습니다. API는 개발자가 규모에 맞게 데이터와 기능을 활용할 수 있도록 소프트웨어 간 상호작용을 촉진합니다. API는 REST, gRPC, GraphQL, AsyncAPI 등 다양한 스타일로 제공되며 스타일마다 고유한 기능이 있습니다. 어떤 API 스타일을 선택해야 할지는 전적으로 사용 사례와 해결하려는 사안에 달려 있습니다. REST가 널리 사용되고 있기는 하지만 최근에는 GraphQL과 같은 형식이 개발자들에게 인기를 얻고 있습니다.

GraphQL은 API의 쿼리 언어이자 기존 데이터로 쿼리를 처리하는 런타임입니다. 유연성과 사용 편의성 때문에 개발자들이 GraphQL을 채택하는 경우가 증가하고 있습니다. GraphQL은 모든 데이터 교환에 사용되는 단일 엔드포인트를 제공하고, 과도한 또는 부족한 데이터 가져오기를 방지하며, 개발자가 API 호출 한 번으로 여러 앱과 서비스에서 데이터를 원활하게 집계할 수 있습니다. 

오늘 Google Cloud의 Apigee API 관리 플랫폼에서 GraphQL API를 기본적으로 지원한다는 소식을 발표하게 되어 기쁩니다. 이제 개발자들이 Apigee에서 GraphQL API의 수명 주기를 상품화하고 관리할 수 있게 되었습니다. 기능을 살펴보기에 앞서 GraphQL에 대해 자세히 살펴보겠습니다.

REST와 GraphQL 비교: 내게 적합한 스타일 찾기

REST와 GraphQL API 스타일은 여러 측면에서 차이가 있습니다.

  1. 엔드포인트 - REST는 논리적 리소스 관리자로 사용되는 여러 엔드포인트와 URL 분류를 제공합니다. GraphQL에는 특정 작업의 모든 필드를 캡처하는 하나의 엔드포인트가 있습니다.
  2. 상호작용 - REST는 일반적으로 HTTP 동사와 JSON/XML을 사용해 데이터를 교환합니다. GraphQL은 주로 HTTP POST 동사를 사용하며 응답으로 표준 JSON이 반환되는 요청에 스키마 정의 언어라는 커스텀 쿼리 언어를 사용합니다.
  3. 문서 - REST가 OpenAPI 사양 및 포털을 사용하는 것과 달리 GraphQL은 스키마에서 생성하는 문서를 주로 사용합니다. 개발자들은 스키마 기반 엔드포인트와 상호작용하기 위해 GraphQL 플레이그라운드 등의 브라우저 기반 개발 환경을 종종 사용합니다.
  4. 탐색 - 개발자들이 REST API를 탐색하고 상호작용하기 위해 관리 공급업체가 제공하는 포털을 주로 사용하는 가운데, GraphQL API에서는 사용자가 새로운 쿼리를 즉시 살펴볼 수 있는 포털이 기본적으로 제공되는 경우가 많습니다.

따라서 두 스타일 중 하나를 선택하기보다는 API 프로그램에 함께 사용하여 사용 사례별로 적합한 스타일로 해결하는 것이 좋습니다.

GraphQL API를 관리해야 하는 이유

설계 스타일과 상관없이 API는 기업의 가장 중요한 데이터 및 기능에 대한 액세스를 제공합니다. 개발자는 새로운 파트너십 및 디지털 서비스를 위해 데이터를 활용할 때 API를 사용합니다. 즉, 기업은 API 사용 방식 및 API 사용자를 관리하고 이해해야 합니다. 또한 기업에서는 액세스를 관리하는 것 외에도 개발자에게 최고 수준의 경험을 제공하고 생산성을 높일 수 있는 API를 설계하고 배포해야 합니다. 결과적으로 API를 코드 스니펫이 아닌 전체 수명 주기 관리가 필요한 디지털 제품으로 간주해야 합니다.

GraphQL API를 제품으로 패키징하면 이 스타일에 내재된 다음과 같은 제한사항을 극복할 수 있습니다.

  • 스키마 탐색 등을 위한 제한적인 승인 기능
  • 제한 또는 할당량에 대한 표준 없음
  • 소비에 대한 통합 분석 없음
  • 버전 제어 부족

비즈니스에 중요한 문제를 해결하기 위해 GraphQL API의 도입을 확대하는 경우 API를 제품으로 관리하는 것이 매우 중요합니다. REST API 관리에 대한 검증된 권장사항을 GraphQL로 확장할 수 있는 절호의 기회입니다.

Apigee에서 GraphQL API 사용

Apigee는 시장을 선도하는 전체 수명 주기 API 관리 플랫폼으로서 전 세계 수천 개 기업의 신뢰를 받고 있습니다. 새로운 기본 지원이 도입되면서 이제 Apigee에서 사용할 GraphQL API의 전체 수명 주기를 REST처럼 상품화하고 관리할 수 있습니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/image1_1_XSFAuRU.max-1200x1200.png

개발자는 GraphQL 정책을 사용하여 다음을 수행할 수 있습니다.

  • 허용되는 최대 조각 수를 설정하여 페이로드에 제한사항을 적용합니다.
  • GraphQL을 API 제품과 연결합니다.
  • REST에서와 같이 OAuth2, VerifyAPIKey, Quota 정책 기능을 활용합니다.
  • 스키마 수준에서 요청을 검증하고 인증합니다.

https://storage.googleapis.com/gweb-cloudblog-publish/images/image2_1_sw6ag6f.max-1400x1400.png

시작하기

문서를 참조하여 시작 방법에 대한 단계별 안내를 확인하세요. Apigee에 익숙하지 않다면 여기를 클릭하여 무료 체험을 신청하세요.

게시 위치