Apigee Edge가 무엇인가요?

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

Apigee Edge는 API를 개발하고 관리하기 위한 플랫폼입니다. 서비스를 프록시 레이어로 프론팅하여 백엔드 서비스 API의 추상화 또는 퍼사드를 제공하고 보안, 비율 제한, 할당량, 분석 등의 기능을 제공합니다.

예를 들어 Walgreens에서 API와 Apigee Edge를 사용하여 사진 인화, 처방전, 기타 제공 서비스를 중심으로 풍부한 앱 생태계를 제공하는 방법에 대한 웹캐스트를 확인할 수 있습니다.

첫 번째 프록시 만들기

디지털 가속화

이 동영상은 Apigee가 디지털 비즈니스 발전에 어떻게 도움이 되는지 간략하게 보여줍니다.

서비스 관리와 API 관리 중에서 선택

이 동영상을 시청하면 서비스 관리와 API 관리의 중요한 차이점을 이해할 수 있습니다. 비즈니스.

웹에서 서비스 제공

오늘날 기업들은 휴대기기 및 데스크톱에서 실행되는 앱에서 이러한 서비스를 사용할 수 있도록 백엔드 서비스를 웹에서 제공하기를 원합니다. 기업은 제품 가격 책정 및 재고 정보, 판매 및 주문 서비스, 주문 추적 서비스, 클라이언트 앱에서 요구하는 기타 서비스를 제공하는 서비스를 노출하고자 할 수 있습니다.

기업은 종종 서비스를 HTTP 엔드포인트 집합으로 노출합니다. 그런 다음 클라이언트 앱 개발자는 이러한 엔드포인트에 HTTP 요청을 전송합니다. 엔드포인트에 따라 서비스가 XML 또는 JSON 형식의 데이터를 클라이언트 앱으로 반환할 수 있습니다.

이러한 서비스를 사용하는 클라이언트 앱은 휴대기기 또는 태블릿의 독립형 앱, 브라우저에서 실행되는 HTML5 앱 또는 HTTP 엔드포인트에 요청을 수행하고 모든 응답 데이터를 사용할 수 있는 다른 유형의 앱으로 구현할 수 있습니다. 이러한 앱은 서비스를 노출하는 동일한 회사 또는 일반에 공개된 서비스를 사용하는 타사 앱 개발자가 개발하고 출시할 수 있습니다.

다음 이미지는 이 유형의 모델을 보여줍니다.

모바일 앱, 판매 시점 앱, 파트너, 웹 앱 등 여러 종류의 앱은 ESB, SOA, 앱 서버, 데이터베이스와 같은 백엔드 서비스에 연결됩니다.

제공업체는 웹을 통해 서비스를 제공하기 때문에 무단 액세스로부터 서비스를 안전하게 보호하는 데 필요한 모든 단계를 수행해야 합니다. 서비스 제공업체는 다음을 고려하세요.

  • 보안: 승인되지 않은 액세스를 방지하기 위해 서비스에 대한 액세스를 어떻게 관리할 것인가요?
  • 호환성: 서비스가 여러 플랫폼과 기기에서 작동하나요?
  • 측정성: 서비스가 사용 가능한지 확인하기 위해 서비스를 모니터링하는 방법은 무엇인가요?
  • 수익 창출: 서비스 액세스에 대한 고객을 어떻게 추적하고 요금을 청구할 수 있나요?
  • 기타 여러 가지 고려사항

서비스에 액세스하는 클라이언트 앱이 출시되면 서비스 제공업체는 이러한 서비스를 추가, 수정, 삭제할 때 해당 서비스가 계속 작동하도록 해야 합니다. 또한 서비스 제공업체는 클라이언트 앱이 이러한 서비스와 동기화되도록 하기 위해 서비스 변경사항을 앱 개발자에게 알릴 방법이 있어야 합니다.

클라이언트 앱 개발자는 여러 제공업체의 서비스를 사용하려고 할 때 문제가 발생합니다. 현재 서비스 제공업체가 서비스를 노출하는 데 사용할 수 있는 여러 기술이 있습니다. 동일한 클라이언트 앱은 한 제공업체에서 서비스를 사용하기 위해 하나의 메커니즘을 사용하고 다른 제공업체의 서비스를 사용하기 위해 다른 메커니즘을 사용해야 할 수 있습니다. 앱 개발자는 동일한 제공업체의 서비스를 사용하는 데 서로 다른 메커니즘을 사용하여야 하는 상황도 발생할 수도 있습니다.

Apigee Edge를 통해 서비스 제공

Apigee Edge를 사용하면 서비스 구현에 관계없이 모든 서비스에서 일관성 있는 잘 정의된 API로 서비스에 대한 안전한 액세스를 제공할 수 있습니다. 일관된 API를 사용하여 다음 이점을 활용할 수 있습니다.

  • 앱 개발자가 서비스를 쉽게 사용할 수 있습니다.
  • 공개 API에 영향을 미치지 않고 백엔드 서비스 구현을 변경할 수 있습니다.
  • 분석, 수익 창출, 개발자 포털, Edge에 내장된 기타 기능을 활용할 수 있습니다.

다음 이미지는 클라이언트 앱에서 백엔드 서비스에 대한 요청을 처리하는 Edge를 사용하는 아키텍처를 보여줍니다.

Apigee Edge는 클라이언트 애플리케이션과 백엔드 서비스 사이에 위치합니다.

앱 개발자가 서비스를 직접 사용하는 대신 Edge에서 생성된 API 프록시에 액세스합니다. API 프록시는 일반에 공개된 HTTP 엔드포인트를 백엔드 서비스에 매핑하는 역할을 합니다. API 프록시를 만들면 Edge에서 서비스를 보호하고 서비스를 분석, 모니터링, 수익화하는 데 필요한 보안 및 승인 태스크를 처리할 수 있습니다.

앱 개발자는 서비스에 직접 연결하는 대신 API 프록시에 HTTP 요청을 수행하므로 개발자는 서비스 구현에 대해서 아무 것도 알 필요가 없습니다. 모든 개발자는 다음 사항을 알아야 합니다.

  • API 프록시 엔드포인트의 URL
  • 요청에 전달된 모든 쿼리 매개변수, 헤더 또는 본문 매개변수
  • 모든 필수 인증 및 승인 사용자 인증 정보
  • 응답 형식(XML 또는 JSON 등의 응답 데이터 형식 포함)

API 프록시는 앱 개발자를 백엔드 서비스에서 격리합니다. 따라서 공개 API가 일관되게 유지되는 한 서비스 구현을 변경할 수 있습니다. 일관된 프런트엔드 API를 유지하면 기존 클라이언트 앱이 백엔드의 변경사항에 관계없이 계속 작동합니다.

API 프록시의 정책을 사용하면 백엔드 서비스를 변경하지 않고도 서비스에 기능을 추가할 수 있습니다. 예를 들어 프록시에 정책을 추가하여 데이터 변환 및 필터링을 수행하고, 보안을 추가하고, 조건부 로직 또는 커스텀 코드를 실행하고, 다른 여러 작업을 수행할 수 있습니다. 백엔드 서버가 아닌 Edge에서 정책을 구현해야 한다는 점을 기억해야 합니다.

자세한 내용은 API 및 API 프록시 이해를 참조하세요.

API 제품 만들기

API 프록시는 개발자가 백엔드 서비스에 액세스하는 데 사용하는 Apigee Edge의 HTTP 엔드포인트입니다. 가능은 하지만 일반적으로 개별 API 프록시를 제공하지 않습니다. 대신 하나 이상의 API 프록시를 API 제품으로 그룹화합니다.

API 제품은 서비스 요금제와 결합된 API 프록시 번들입니다. 이 서비스 계획은 API 프록시에 대한 액세스 한도를 설정하고, 보안을 제공하고, 모니터링 및 분석을 허용하고, 추가 기능을 제공할 수 있습니다. API 제품은 Edge가 API에 대한 승인 및 액세스 제어를 위해 사용하는 중심 메커니즘이기도 합니다.

API 제품을 만들 때 상당한 유연성이 제공됩니다. 예를 들어 여러 API 제품이 동일한 API 프록시를 공유할 수 있습니다. 다음 그림은 세 가지 API 제품을 보여줍니다. 모든 제품이 API 프록시 3에 대한 액세스를 허용하지만 제품 A만 API 프록시 1에 대한 액세스를 허용할 수 있습니다.

제품 A는 프록시 1, 3에 액세스합니다. 제품 B는 프록시 3에 액세스합니다.
    제품 C는 프록시 2, 3, 4에 액세스합니다.

각 API 제품마다 다른 속성을 설정할 수 있습니다. 예를 들어 하루 1,000건의 요청과 같이 액세스 한도가 낮은 하나의 API 제품을 할인된 가격으로 제공할 수 있습니다. 그런 다음 동일 API 프록시에 대한 액세스를 제공하는 다른 API 제품을 출시하되 훨씬 높은 액세스 한도와 높은 가격을 적용합니다. 또는 서비스에 대한 읽기 전용 액세스를 허용하는 무료 API 제품을 만든 다음, 읽기/쓰기 액세스를 허용하는 API 프록시와 동일한 API 제품으로 판매할 수 있습니다.

자세한 내용은 API 제품 관리를 참고하세요.

클라이언트 측 앱에서 API 제품에 액세스하도록 허용

앱 개발자가 서비스에 액세스하려면 먼저 API 제품에 클라이언트 앱을 등록해야 합니다.

클라이언트 앱에는 API 제품과 연결된 API를 호출하는 키가 필요합니다.

등록 후 앱 개발자는 API 제품에 포함된 API 프록시에 대한 모든 요청에 포함되어야 하는 API 키를 수신합니다. 이 키는 인증되고 인증에 성공하면 요청이 백엔드 서비스에 액세스하도록 허용됩니다.

클라이언트 앱이 서비스에 액세스할 수 없도록 개발자가 언제든 키를 취소할 수 있습니다. 또는 개발자가 특정 시간 후에 키를 새로고침하도록 키에 시간 한도를 정의할 수 있습니다.

API 제품에 액세스하기 위해 개발자의 등록 요청을 처리하는 방식을 결정합니다. Apigee Edge 개발자 서비스를 사용하면 등록 프로세스를 자동화하거나 수동 프로세스를 사용하여 액세스를 제어할 수 있습니다.

API 제품을 만들고 개발자에게 제공

  1. 일반에 공개된 URL을 백엔드 서비스에 매핑하는 API 프록시를 하나 이상 만듭니다.
  2. API 프록시를 번들로 묶는 API 제품을 만듭니다.
  3. API 프록시 및 API 제품을 배포합니다.
  4. API 제품을 사용할 수 있다고 개발자에게 알려줍니다.

앱 개발자는 API 제품의 사용 가능 여부를 알면

  1. API 제품에 클라이언트 앱을 등록합니다.
  2. API 제품에 대한 API 키를 수신합니다.
  3. API 제품에 번들로 제공되는 API 프록시를 통해 서비스에 요청을 수행하고 각 요청으로 API 키를 전달합니다.

Apigee Edge 구성요소

Apigee Edge는 API 런타임, 모니터링 및 분석, 개발자 서비스로 구성되어 있으며 API 생성, 보안, 관리, 운영을 위한 포괄적인 인프라를 제공합니다.

다음 그림은 에지 서비스를 보여줍니다.

개발자는 SmartDocs, 맞춤설정 가능한 포털, 셀프 서비스 키 관리, SDK가 포함된 개발자 생태계에 액세스할 수 있습니다. 앱과 서비스가 게이트웨이, 커넥터, 커스텀 코드, 보안, 관리 API가 포함된 API 런타임에 액세스합니다. 운영 엔지니어는 비즈니스 보고서, 성능 모니터링, 커스텀 보고서, trace가 포함된 모니터링 및 분석에 액세스합니다.

Edge API 런타임

서비스 제공업체로서 API 프록시를 빌드하든 앱 개발자로서 API, SDK, 기타 편의 서비스를 사용하든 Apigee Edge API 서비스를 통해 API를 만들고 사용할 수 있습니다.

API 관리 서버는 API 프록시 추가 및 구성, API 제품 설정, 앱 개발자 및 클라이언트 앱 관리를 위한 도구를 제공합니다. 이는 백엔드 서비스에서 여러 일반적인 관리 문제를 옮깁니다. API 프록시를 추가할 때 보안, 비율 제한, 미디에이션, 캐싱 등을 추가하기 위해 정책을 API 프록시에 적용할 수 있습니다. 커스텀 스크립트를 적용하고 타사 API 및 서비스를 호출하는 등의 작업을 수행하여 API 프록시의 동작을 맞춤설정할 수도 있습니다. 자세한 내용은 API 및 API 프록시 이해를 참조하세요.

Node.js 개발자는 Node.js 모듈을 Edge에 원활하게 추가하여 API 및 API 매시업을 만들 수 있으며 동시에 메시지 변환에서 보안, 분석에 이르기까지 Edge가 제공하는 이점을 활용할 수 있습니다.

에지 모니터링 및 분석

Apigee Edge API 분석은 API의 장단기 사용 트렌드를 확인할 수 있는 강력한 도구를 제공합니다. 인기 개발자 및 앱별로 잠재고객을 분류하고, API 메서드별로 사용량을 파악하여 투자처를 파악하고, 비즈니스 또는 운영 수준 정보에 대한 커스텀 보고서를 만들 수 있습니다.

데이터가 Edge를 통과하면 URL, IP, API 호출 정보의 사용자 ID, 지연 시간, 오류 데이터 등 여러 기본 유형의 정보가 수집됩니다. 헤더, 쿼리 매개변수, XML 또는 JSON에서 추출된 요청 또는 응답의 일부와 같은 다른 정보를 추가하는 정책을 만들 수 있습니다. 이 정보는 실제 요청/응답 흐름에서 비동기식으로 수집되므로 API 성능에 영향을 미치지 않습니다.

관리 UI를 사용하면 다음 그림과 같이 브라우저에서 여러 측정항목과 측정기준을 볼 수 있습니다.

그래프 및 표 형식으로 정책 오류 수를 표시하는 분석 대시보드

그러나 명령줄 인터페이스나 RESTful API를 통해 분석 서비스에 액세스하고 제어할 수도 있습니다. 자세한 내용은 API 분석 개요를 참조하세요.

에지 개발자 생태계

Apigee Edge는 다음 작업에 사용할 수 있는 개발자 서비스를 제공합니다.

  • 내 서비스를 이용하는 앱 개발자 커뮤니티를 관리합니다.
  • 내부 및 외부 개발자와 협력하여 재무 모델과의 관계를 공식화합니다.
  • 개발자를 온보딩하고 개발자 포털을 만듭니다. 앱 개발자는 포털에 연결하여 API 문서에 액세스하여 공개적으로 제공되는 API 제품을 자세히 알아보고 API 키를 관리할 수 있습니다.

모든 Edge 고객은 프라이빗 클라우드용 Apigee Edge를 사용하여 클라우드나 온프레미스에서 자체 개발자 포털을 만들 수 있습니다.

Apigee Edge를 사용하면 두 가지 유형의 포털을 만들 수 있습니다.

수익 창출

수익 창출 기능은 개발자 커뮤니티를 디지털 애셋의 실제 채널로 전환할 수 있는 금융 인프라와 관계를 제공합니다. 수익 창출을 사용하면 API 제품 사용에 대해 개발자에게 요금을 청구하거나 수익 공유 시나리오에서 개발자에게 비용을 지불하게 하는 다양한 요금제를 만들 수 있습니다.

요금제에는 선불 요금제, 후불 요금제, 고정 요금 요금제, 가변 요금제, '부분 유료' 요금제, 특정 개발자에 맞춘 요금제, 개발자 그룹을 다루는 요금제 등이 포함됩니다. 또한 수익 창출에는 보고 및 청구 기능도 포함됩니다.

자세한 내용은 수익 창출 개요를 참고하세요.

에지의 맛

Apigee Edge는 다음과 같은 버전으로 제공됩니다.

  • 퍼블릭 클라우드: Apigee가 환경을 유지관리하는 호스팅된 SAAS 버전으로, 서비스를 빌드하고 해당 서비스에 대한 API를 정의하는 데 집중할 수 있습니다.
  • Private Cloud: 사용자가 하드웨어 환경을 제어하고 설치, 업그레이드, 유지보수, 기타 관리 프로세스를 담당하는 온프레미스 설치입니다.

Apigee Hybrid 버전에 관심이 있다면 다음 Apigee X 주제를 참조하세요.

퍼블릭 클라우드와 프라이빗 클라우드 버전은 기능적으로 매우 유사합니다. 하지만 프라이빗 클라우드 버전이 퍼블릭 클라우드 버전의 모든 기능을 지원하는 것은 아닙니다. Private Cloud에서 지원되지 않는 기능은 다음과 같습니다.

  • 호스팅된 대상
  • 확장 프로그램
  • 통합 개발자 포털 (참고: Drupal 기반 개발자 포털 지원됨)
  • API 모니터링
  • Sense

버전 간 차이점 목록은 Apigee 제품 비교를 참조하세요.

또한 Edge for Public Cloud API와 Private Cloud API의 차이점에 설명된 대로 API 간에는 사소한 차이점이 있습니다.

퍼블릭 클라우드는 무료 계정과 유료 계정을 모두 지원합니다. 프라이빗 클라우드에는 유료 계정이 필요합니다.

온프레미스 설치를 완벽하게 지원하기 위해 프라이빗 클라우드 버전에는 Apigee 관리 서버, Apache Cassandra NoSQL 데이터베이스, OpenLDAP 서버, 메시지 라우터, 메시지 프로세서와 같은 구성요소가 포함됩니다.