Apigee Edge가 무엇인가요?

Apigee Edge 문서입니다.
Apigee X 문서로 이동
정보

Apigee Edge는 API를 개발하고 관리하기 위한 플랫폼입니다. Edge는 프록시 레이어와 함께 서비스를 전면에 내세워 백엔드 서비스 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 Developer Services를 사용하면 등록 프로세스를 자동화할 수 있습니다. 아니면 수동 프로세스를 사용하여 액세스를 제어할 수도 있습니다.

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 런타임에 액세스합니다. 운영 엔지니어는 비즈니스 보고서, 성능 모니터링, 맞춤 보고서, 트레이스 등 모니터링 및 분석에 액세스할 수 있습니다.

Edge API 런타임

Apigee Edge API 서비스는 API 프록시를 서비스 제공업체로 빌드하거나 API, SDK, 기타 편의 서비스를 앱 개발자로 삼아서 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 제품 사용에 대해 개발자에게 요금을 부과하거나 수익 공유 시나리오에서 개발자에게 수익을 지급할 수 있는 다양한 요금제를 만들 수 있습니다.

요금제에는 선불 요금제, 후불 요금제, 고정 요금제, 가변 요금제, '부분 유료' 요금제, 특정 개발자에게 맞춤설정된 요금제, 개발자 그룹을 대상으로 하는 요금제 등이 있습니다. 또한 수익 창출에는 보고 및 결제 기능이 포함됩니다.

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

Edge 버전

Apigee Edge는 다음과 같은 유형으로 제공됩니다.

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

Apigee Hybrid 버전에 관심이 있는 경우 다음 Apigee X 주제를 참고하세요.

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

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

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

Public Cloud용 Edge API와 Private Cloud API의 차이점에 설명된 대로 API 간에 약간의 차이점도 있습니다.

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

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