Различия между Apigee Edge и Apigee X

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

В этой статье рассказывается, чем Apigee X (иногда также называемый просто Apigee) отличается от Apigee Edge. Эта информация предназначена для существующих клиентов Apigee Edge, которые рассматривают возможность перехода на Apigee X.

Дополнительную информацию о функциях Apigee X можно найти в кратком описании функций Apigee X.

В таблице ниже перечислены продукты для управления API Apigee, которые сравниваются в этой статье.

Товар Где размещен сайт Под управлением
Apigee Edge для общедоступного облака Облако Apigee Apigee
Apigee Edge для частного облака Частный центр обработки данных клиента. Клиент
Apigee X Google Cloud Apigee
Apigee Hybrid Google Cloud и частный центр обработки данных клиента Apigee управляет плоскостью управления, а клиент – плоскостью выполнения.

Сравнение функций Apigee Edge и Apigee X

В следующих разделах сравниваются функции Apigee Edge Public/Private Cloud с доступностью функций в Apigee X и гибридной версии.

Обратите внимание, что ограничения Apigee X также отличаются от ограничений Apigee Edge.

Сводка различий между функциями

В таблице ниже описаны различия между Apigee X (и гибридной версией) и платформами Apigee Edge для общедоступного и частного облака на уровне функций.

Функция Apigee Edge Поддержка в Apigee X и Apigee Hybrid
Ревизии прокси API

Неизменяемый после развертывания

Активные проверки работоспособности Поддерживается для внешних групп управляемых экземпляров (которые используют виртуальные машины). Не поддерживается при использовании Private Service Connect. Подробнее о настройке маршрутизации…
Адаптер Apigee для Istio Устарело. Рекомендуем использовать адаптер Apigee для Envoy.
компании и разработчики

Доступно похожее, но не идентичное решение. Подробнее о том, как использовать группы приложений для организации прав собственности на приложения…

CwC (код с конфигурацией)

Запланировано

Развертывания
  • Асинхронное развертывание
  • Статус развертывания определяется на основе последнего времени, когда плоскость выполнения "зарегистрировалась" в плоскости управления.
Среды
  • Поддержка групп по защите окружающей среды
  • Самостоятельно через интерфейс и API Apigee.
  • Более гибкая топология показа
  • Модуль MP может обслуживать только одну среду

Подробнее о средах и группах сред…

Целевые ресурсы с размещенным контентом

Используйте Cloud Run или Cloud Functions.

Обработка названий полей заголовков HTTP/1.1 Преобразует названия полей заголовков HTTP/1.1 в нижний регистр при пересылке на серверную часть. В Apigee Edge регистр символов в названиях полей заголовков сохраняется.
Роли IAM для точного управления доступом на основе ролей

Запланировано

JSONPath с использованием [@.length-x]

В Apigee X не поддерживается использование [@.length-x] в выражениях JSONPath. Согласно спецификации JSONPath, выражения зависят от используемого языка сценариев. length-x – это конструкция JavaScript, а не Java, и [@.length-x] не была реализована как часть спецификации. В Apigee X выражение [@.length-x] заменено схемой индексации ([-x]).

В этом примере нужно выполнить следующие действия:

{
    "books": [
      {
        "name": "A",
      },
      {
        "name": "B",
      }
    ]
}

Входные данные: $.books[@.length-1]. Apigee Edge возвращает {“name”: “B”}, а Apigee X – [{“name”: “B”}].

Хранилища ключей/доверенных сертификатов

Управляемые исходящие подключения как секреты Kubernetes

KVM
  • В интерфейсе Apigee можно создавать зашифрованные пары "ключ-значение" с областью действия на уровне среды. KVM всегда шифруются. В пользовательском интерфейсе нельзя добавлять, изменять или просматривать записи KVM.
  • Используйте атрибут private. со всеми переменными при доступе к хранилищу пар "ключ-значение" с помощью команды GET, чтобы скрыть информацию о хранилище в сеансе отладки (трассировки). Если атрибут private. не используется, KVM все равно шифруется, но информация KVM будет отображаться в расшифрованном виде в сеансе отладки (Trace) и исключение не будет создано.
  • Вы можете управлять записями KVM с помощью keyvaluemaps.entries API или KeyValueMapOperations policy.
  • Наборы свойств можно использовать в тех же случаях, что и пары "ключ-значение". Подробнее об использовании наборов свойств…
  • Элемент <MapName> позволяет правилу KeyValueMapOperations динамически определять, какую карту KVM использовать во время выполнения.

Подробнее о том, как создавать карты "ключ-значение" в интерфейсе, рассказывается в статье Как использовать карты "ключ-значение". Также ознакомьтесь с информацией о том, как получить доступ к данным конфигурации, чтобы выбрать подходящий механизм сохранения данных.

Microgateway Вместо этого рекомендуем использовать адаптер Apigee для Envoy.
Монетизация Различия с монетизацией
Node.js
  • Прокси API Node.js не поддерживаются.
  • Apigee рекомендует размещать приложения Node.js в отдельных контейнерах в Kubernetes (в одном или разных кластерах).
Северный mTLS Поддерживается балансировщиками нагрузки Google Cloud. Подробнее о взаимной аутентификации TLS в Apigee X с использованием внешнего балансировщика нагрузки приложений…
OAuth Новое правило RevokeOAuthv2 policy позволяет отзывать токены OAuth 2.0 по идентификатору конечного пользователя, идентификатору приложения или обоим этим параметрам. Это правило заменяет API Apigee Edge для отзыва токенов OAuth2.
Правила
  • Новые правила
    • Правило AssertCondition оценивает условное выражение во время выполнения в потоках запросов или ответов.
    • Правило CORS позволяет вызовам JavaScript XMLHttpRequest (XHR), выполненным на веб-странице, взаимодействовать с ресурсами из доменов, отличных от источника.
    • Правила DataCapture заменяют правила StatisticsCollector.
    • Правило ExternalCallout отправляет запросы gRPC на ваш сервер gRPC, чтобы реализовать пользовательское поведение, которое не поддерживается правилами Apigee.
    • Правила GraphQL. Анализирует полезные нагрузки GraphQL в переменные потока сообщений, проверяет запросы GraphQL на соответствие схеме или выполняет обе эти задачи.
    • Правило PublishMessages публикует информацию о потоке прокси-сервера API в теме Google Cloud Pub/Sub.
    • Правило RevokeOAuthv2 отзывает права доступа по идентификатору пользователя, идентификатору приложения или обоим.
    • Правила TraceCapture позволяют добавлять дополнительные переменные в данные трассировки среды выполнения Apigee.
  • Правило не поддерживается:
    • Правило StatisticsCollector (заменено новым правилом DataCapture)
  • Измененные правила
reasonPhrase Не поддерживается.
Полезные ресурсы Невозможно использовать ресурсы на уровне организации
Роли и разрешения
  • Управление с помощью сервиса IAM в консоли Google Cloud
  • Некоторые готовые роли доступны.
  • Вы можете создавать специальные роли, которые могут включать другие разрешения Google Cloud.

Подробнее о пользователях и ролях…

Sense Используйте расширенные настройки безопасности API.
Сервисы SOAP в мастере создания прокси Не поддерживается. Ознакомьтесь с wsdl2apigee – проектом с открытым исходным кодом, который предоставляет утилиты SOAP для использования с Apigee.
Сеансы трассировки/отладки Подробнее о различиях с Trace…
Виртуальные ведущие

Для Apigee Hybrid:

  • Входные данные реализуются через шлюз Apigee.
  • Ключи и сертификаты развертываются непосредственно в Kubernetes.

Для Apigee X:

  • Каждый экземпляр предоставляет конечную точку HTTPS через самоподписанный сертификат. ЦС для сертификата можно скачать, отправив запрос в организацию.

Различия с трассировкой

В таблице ниже сравниваются различия в работе Trace в Apigee X и гибридной версии и в Apigee Edge Cloud.

Функция Apigee Edge Cloud Apigee X и Apigee Hybrid
Оперативность В реальном времени; синхронный Небольшая задержка; асинхронный
Название/идентификатор сеанса Принимает название сеанса от пользователя. Не принимает название сеанса от пользователя
Фильтры Поддержка базовых фильтров, например фильтрации заголовков и параметров запроса. Поддержка сложной логики фильтрации, включая логические операции И и ИЛИ. Доступ к любой переменной потока, упомянутой в справочнике по переменным потока. Синтаксис такой же, как и в условных выражениях, как показано в справочнике по условиям.
Время ожидания сеанса

Определяет продолжительность сеанса отладки и срок хранения данных.

Значение по умолчанию составляет 20 минут при запуске через вызовы API и 10 минут при запуске в интерфейсе.

Определяет только продолжительность сеанса отладки. Отправная точка – момент, когда обработчик сообщений получает запрос на запуск в режиме отладки.

Значение по умолчанию – 5 минут, если сеанс был начат с помощью API, и 10 минут, если он был начат в интерфейсе.

Данные хранятся 24 часа, после чего гибридная версия автоматически удаляет их.

Срок действия сеанса

Время, в течение которого действителен запрос на создание сеанса. Если сеанс отладки не начнется в течение этого времени, синхронизаторы могут проигнорировать запрос на создание сеанса. Убедитесь, что часы синхронизаторов синхронизированы, как описано в разделе Требования.
Количество запросов трассировки Максимум 20 на Message Processor Значение по умолчанию – 10 на Message Processor, максимальное значение – 15.
API Apigee Edge Cloud Apigee X
Apigee X предоставляет доступ к Debug Session API и Debug Session Data API, но не поддерживает следующие функции через Apigee X API:
Как остановить сеанс отладки

Как удалить определенные транзакции

Различия с монетизацией

В таблице ниже сравниваются основные функции монетизации в Apigee Edge и Apigee X.

Монетизация Apigee Edge Монетизация Apigee X/Hybrid
Тарифные планы связаны с пакетами продуктов API, которые можно прикреплять к нескольким продуктам API. Тарифные планы связаны с продуктами API (один к одному).
Тарифные планы для разработчиков приложений Разработчики приложений покупают продукты API
Квоты управляются на уровне прокси-сервера API Квоты управляются на уровне продукта API (на уровне компании).
Опубликованные тарифные планы можно только деактивировать, но не редактировать и не удалять. Опубликованные тарифные планы можно сделать недействительными, изменить, перенести в черновики или удалить.
Сложная конфигурация (нет мастера или инструмента предварительного просмотра) Упрощенная настройка тарифных планов с помощью мастера и инструмента предварительного просмотра.
MonetizationLimitsCheck блокирует доступ после обработки первого вызова API, если разработчик приложения не приобрел подписку. MonetizationLimitsCheck: доступ блокируется сразу, если разработчик приложения не оформил подписку или превысил квоту.
Данные о монетизации транзакций можно собирать с помощью пользовательских переменных в правилах регистрации транзакций. Apigee автоматически собирает данные о монетизации, а данные о монетизации транзакций можно переопределить с помощью правила DataCapture. Подробнее о том, как собирать данные о монетизации…
Аккаунты с предоплатой и оплатой по факту можно настроить как для разработчиков, так и для тарифных планов. Аккаунты с предоплатой и постоплатой могут настраивать только разработчики.

Какие функции Apigee Edge не поддерживаются в Apigee X?

Google не планирует поддерживать следующие функции:

  • Расширения Apigee Edge
  • Хранилище спецификаций OpenAPI
  • API для поиска или отзыва токенов доступа OAuth (поскольку токены хешируются).
  • Правила OAuth v1 или OAuthv1.0a
  • Trireme (поддержка прекращена 10.10.2019)
  • Заголовки с префиксом "X-Apigee-" не поддерживаются в Apigee X и удаляются из запросов и ответов перед отправкой целевым сервисам и клиентам.
  • Свойство Apigee Edge proxy_read_timeout не поддерживается в Apigee X. Подробнее о настройках времени ожидания io.timeout.millis и api.timeout…

Сравнение API

В целом большинство API Apigee Edge имеют эквиваленты в Apigee API. В этом разделе:

Сводка изменений с помощью API

Ниже перечислены изменения в поведении всех API Apigee X по сравнению с API Apigee Edge.

Поведение Apigee Edge API API Apigee X
Базовый домен api.enterprise.apigee.com apigee.googleapis.com
Типы медиаконтента application/json
application/xml
application/json
Аутентификация OAuth2, SAML, Basic OAuth2
Временные метки в ключах Формат "int64"
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Формат "String"
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Структура параметра запроса expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Параметры запроса с префиксом в виде нижнего подчеркивания Поддерживается (_optimal=true) Не поддерживается (optimal=true)
Свойства в полезных нагрузках:
  • created_by
  • modified_by
  • self
Поддерживается Не поддерживается
Значения по умолчанию в полезной нагрузке Включено Не включено
Структура обработки ошибок
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Ответ об удалении кеша Возвращаемые значения: 200 OK и сведения о кеше Возврат: 204 No Content
Операции Cache API List, create, get, update, delete, clear all, и clear. Список и удалить. Кратковременный кеш уровня 1 создается автоматически при развертывании прокси-сервера API. Подробнее о внутреннем устройстве кеша…

Различия между API показателей Apigee Edge и Apigee X

В разделе Сводка изменений при использовании API перечислены общие различия между Apigee Edge API и Apigee X API. В таблице ниже перечислены различия между API показателей:

Функция Apigee Edge API API Apigee X
Конечная точка API api.enterprise.apigee.com apigee.googleapis.com
Ежедневные письма с аналитикой API не поддерживаются
Async Query List API Как получить список асинхронных аналитических запросов Свойство userId исключается из ответа. См. статью Метод: organizations.environments.queries.list.
API пользовательских отчетов Reports API Из ответа удалены свойства createdBy и lastModifiedBy. Подробнее о Reports API…

Неподдерживаемые API Apigee Edge

В таблице ниже перечислены API Apigee Edge, которые не поддерживаются (и для которых нет аналогов в Apigee X API).

Категория API Неподдерживаемые API Apigee Edge
Мониторинг API API не поддерживаются
Прокси API
  • Принудительное удаление прокси-сервера API
  • Как получить зависимости npm
  • Как управлять модулями npm
Аудиты Используйте Stackdriver Logging API.
Кешированные журналы API не поддерживаются
Компании API не поддерживаются
Приложения компании API не поддерживаются
Семейство приложений компании API не поддерживаются
Ключи приложений компании API не поддерживаются
Сеансы отладки
  • Не удается остановить сеансы трассировки
  • Нельзя удалить отдельные транзакции

Подробнее о различиях с Trace…

Приложение разработчика Как получить количество ресурсов API
Семейство приложений разработчика API не поддерживаются
Расширения API не поддерживаются
Хранилище ключей: хранилище доверенных сертификатов Как протестировать хранилище ключей или доверенное хранилище
LDAP API не поддерживаются
Монетизация API не поддерживаются
OAuth V2 API не поддерживаются
Правила API не поддерживаются
Файлы ресурсов
  • Область действия ревизии прокси-сервера API
  • Область действия организации
Sense API не поддерживаются
Пользователи и роли пользователей Используйте API, связанные с Google Identity and Access Management (IAM), как описано в разделе Управление пользователями, ролями и разрешениями с помощью API.
Виртуальные хосты API не поддерживаются

Apigee Edge для частного облака и Apigee Hybrid

В таблице ниже сравниваются Apigee Edge для частного облака и Apigee Hybrid.

Сервис Продукт или функция Apigee
Apigee Edge для частного облака Apigee Hybrid
Аналитика Серверы Qpid и Postgres Для сбора данных в модуле сбора данных на уровне выполнения используются fluentd и UDCA (Universal Data Collection Agent – универсальный агент сбора данных). Затем эти данные передаются на UAP (Unified Analytics Platform – единая платформа аналитики) на уровне управления.
API Proxy Gateway Message Processor Обработчик сообщений (MP) обрабатывает входящие запросы. MP реализуются как одно или несколько контейнерных приложений в плоскости выполнения.
Постоянство Узел или кольцо Cassandra Cassandra обеспечивает постоянное хранение данных для функций KMS, KVM, квот и кеша.
Развертывание ZooKeeper Синхронизатор обеспечивает актуальность конфигураций прокси-сервера API, информации об окружении и других данных на уровне управления и уровне выполнения.
Административный интерфейс Интерфейс Apigee Edge размещен на сервере управления Интерфейс Apigee размещен на уровне управления.
Балансировка нагрузки Маршрутизатор Контроллер Istio Ingress передает запросы контейнерному приложению Message Processor (MP) на уровне выполнения.
API Сервер управления Доступ к API Apigee X осуществляется через сервер управления и MART. MART взаимодействует с локальным хранилищем данных Cassandra и выступает в качестве поставщика API для Apigee X API, чтобы получать доступ к объектам данных времени выполнения и управлять ими.
Показатели Каждый компонент, настроенный с помощью JMX Управляется одним сервером Prometheus на кластер для всех сервисов.