Diferenças entre o Apigee Edge e a Apigee X

Você está vendo a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
informações

Neste tópico, descrevemos como a Apigee X (às vezes também chamada apenas de "Apigee") é diferente do Apigee Edge. Estas informações são destinadas a clientes atuais do Apigee Edge que estão pensando em migrar para a Apigee X.

Para mais informações sobre os recursos da Apigee X, consulte o resumo dos recursos da Apigee X.

A tabela a seguir lista os produtos de gerenciamento de API da Apigee comparados neste tópico:

Produto Onde está hospedado Gerenciado por
Apigee Edge para nuvem pública Nuvem da Apigee Apigee
Apigee Edge para nuvem privada O data center particular do cliente. Cliente
Apigee X Google Cloud Apigee
Apigee híbrida O Google Cloud e o data center particular do cliente A Apigee administra o plano de gerenciamento e o cliente gerencia o plano de ambiente de execução.

Comparação de recursos do Apigee Edge com a Apigee X

As seções a seguir comparam os recursos de nuvem pública/privada do Apigee Edge com a disponibilidade de recursos na Apigee X e híbrida.

Os limites da Apigee X também são diferentes dos limites do Apigee Edge.

Resumo das diferenças atuais dos recursos

A tabela a seguir descreve as diferenças no nível do recurso entre a Apigee X (e híbrida) e o Apigee Edge para plataformas de nuvem pública e privada.

Recurso da Apigee Edge Suporte na Apigee X e híbrida
Revisões de proxy de API

Imutável quando implantado

Verificações de integridade ativas Compatível com MIGs externos, que usam VMs. Indisponível ao usar o Private Service Connect. Para mais informações sobre os tipos de roteamento, consulte Configurar roteamento.
Adaptador da Apigee para Istio Obsoleto: recomendamos que você use o adaptador da Apigee para Envoy.
Empresas e desenvolvedores

Uma solução semelhante, mas não idêntica, está disponível. Consulte Como usar AppGroups para organizar a propriedade de apps.

CwC (código com configuração)

Planejado

Deployments
  • Implantações assíncronas
  • A recuperação do status de implantação é baseada na última vez em que o plano de ambiente de execução "fez check-in" com o plano de gerenciamento.
Ambientes
  • Compatibilidade para grupos de ambiente
  • Autoatendimento nas IUs e APIs da Apigee
  • Mais flexibilidade na exibição de topologia
  • Um pod de MP pode exibir apenas um ambiente

Para mais informações, consulte Sobre ambientes e grupos de ambiente.

Destinos hospedados

Use o Cloud Run ou o Cloud Functions

Processamento de nome do campo de cabeçalho HTTP/1.1 Converte nomes de campos de cabeçalho HTTP/1.1 em letras minúsculas quando encaminhados para o back-end. No Apigee Edge, a capitalização dos nomes dos campos de cabeçalho é preservada.
Papéis do IAM para controle de acesso granular baseado em papéis

Planejado

JSONPath usando [@.length-x]

O uso de [@.length-x] nas expressões JSONPath não é compatível com a Apigee X. A especificação JSONPath afirma que as expressões dependem da linguagem de script subjacente. length-x é uma construção em JavaScript, não Java, e [@.length-x] não foi implementado como parte da especificação. Na Apigee X, a expressão [@.length-x] é substituída pelo esquema de indexação ([-x]).

Neste exemplo:

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

A entrada: $.books[@.length-1] retorna {“name”: “B”} na Apigee Edge e retorna [{“name”: “B”}] na Apigee X.

Keystores/Truststores

Northbound gerenciado como secrets do Kubernetes

KVMs
  • É possível criar KVMs criptografadas com escopo de ambiente na IU da Apigee. As KVMs são sempre criptografadas. Não é possível adicionar, atualizar ou visualizar entradas KVM na IU.
  • Use o atributo private. com todas as variáveis ao acessar uma KVM com o comando GET para ocultar as informações da KVM em uma sessão de depuração (Trace). Se o atributo private. não for usado, a KVM ainda será criptografada. No entanto, as informações da KVM aparecerão descriptografadas na sessão de depuração (Trace) e nenhuma exceção será gerada.
  • Gerencie entradas da KVM usando a API keyvaluemaps.entries ou a política KeyValueMapOperations.
  • É possível usar conjuntos de propriedades para alguns dos casos de uso como KVMs. Consulte Como usar conjuntos de propriedades.
  • O elemento <MapName> permite que a política KeyValueMapOperations identifique qual KVM usar dinamicamente, no ambiente de execução.

Para mais informações sobre como criar KVMs na IU, consulte Como usar mapas de chave-valor. Consulte também Como acessar dados de configuração para informações sobre como escolher o mecanismo de persistência de dados correto.

Microgateway Recomendamos o uso do Adaptador da Apigee para Envoy.
Monetização Consulte Diferenças com a monetização
Node.js
  • Os proxies da API Node.js não são compatíveis.
  • A Apigee recomenda que você hospede aplicativos Node.js como contêineres separados no Kubernetes (mesmo cluster ou diferente)
mTLS no sentido norte Planejado
OAuth A nova política RevokeOAuthv2 revoga por ID de usuário final, pelo ID do app ou ambos. Essa política substitui a API Apigee Edge para revogar os tokens do OAuth2.
Políticas
  • Novas políticas:
    • Política AssertCondition: avalia uma instrução condicional do ambiente de execução nos fluxos de solicitação ou resposta.
    • Política CORS: permite que chamadas XMLHttpRequest (XHR) JavaScript executadas em uma página da Web interajam com recursos de domínios não originais.
    • Política DataCapture: substitui a política StatisticsCollector.
    • Política ExternalCallout: envia solicitações gRPC ao servidor gRPC para implementar um comportamento personalizado que não é compatível com as políticas da Apigee.
    • Política GraphQL: analisa payloads do GraphQL em variáveis de fluxo de mensagens, verifica as solicitações do GraphQL em um esquema ou ambos.
    • Política PublishMessages: publica informações do fluxo do proxy de API em um tópico do Google Cloud Pub/Sub.
    • Política RevokeOAuthv2: revoga por ID do usuário, ID do app ou ambos
    • Política TraceCapture: adiciona outras variáveis aos dados de trace do ambiente de execução da Apigee.
  • Política incompatível:
    • Política StatisticsCollector (substituída pela nova política DataCapture)
  • Políticas alteradas:
reasonPhrase Incompatível.
Recursos Não é possível usar recursos no nível da organização
Papéis e permissões
  • Gerenciado por meio do serviço de IAM do Console do Google Cloud
  • Algumas funções prontas para uso estão disponíveis
  • É possível criar papéis personalizados que podem incluir outras permissões do Google Cloud

Para mais informações, consulte Usuários e papéis.

Sense Usar a segurança avançada de APIs.
Serviços de SOAP no assistente de criação de proxy Incompatível. Consulte o wsdl2apigee, um projeto de código aberto que fornece utilitários SOAP para uso com a Apigee.
Sessões de rastreamento/depuração Veja Diferenças com o Trace.
Hosts virtuais

Para a Apigee híbrida:

  • A entrada é implementada com o Anthos Service Mesh.
  • As chaves e os certificados são implantados diretamente no Kubernetes.

Para a Apigee X:

  • Cada instância expõe um endpoint HTTPS por meio de um certificado autoassinado. Para fazer o download da CA do certificado, consulte a organização.

Diferenças com o Trace

A tabela a seguir compara as diferenças na forma como o Trace opera na Apigee X e na nuvem híbrida em relação ao Apigee Edge Cloud:

Recurso Apigee Edge Cloud Apigee X e híbrida
Atualidade Em tempo real, síncrona Pequeno atraso, assíncrona
Nome/ID da sessão Aceita o nome da sessão do usuário Não aceita o nome da sessão do usuário.
Filtros Compatibilidade básica com filtros, como filtragem de parâmetros de consulta e cabeçalho Suporte para lógica de filtragem complexa, incluindo operações lógicas "E" e "OU". Acesso a qualquer variável de fluxo mencionada na referência de variáveis de fluxo. A sintaxe é a mesma usada com condicionais, como mostrado na referência de condições.
Tempo limite da sessão

Define a duração da sessão de depuração e por quanto tempo os dados são retidos.

O valor padrão é de 20 minutos quando iniciado por chamadas de API e 10 minutos quando iniciado na IU.

Define somente a duração da sessão de depuração. O ponto de partida é quando o processador de mensagens recebe a solicitação para ser executada no modo de depuração.

O valor padrão será 5 minutos se a sessão tiver sido iniciada com a API e 10 minutos se tiver sido iniciada na IU.

Os dados são mantidos por 24 horas até que sejam excluídos automaticamente pela Apigee híbrida.

Validade da sessão

Período em que a solicitação de criação da sessão é válida. Se a sessão de depuração não for iniciada dentro desse tempo, os sincronizadores poderão ignorar a solicitação de criação da sessão. Certifique-se de manter os relógios dos sincronizadores sincronizados, conforme descrito em Pré-requisitos.
Contagem de solicitações de trace Máximo de 20 por processador de mensagens O padrão é 10 por processador de mensagens, e o máximo é 15.
API Apigee Edge Cloud Apigee X
A Apigee X expõe a API Debug Session e a API Debug Session Data, mas não é compatível com o seguinte usando as APIs da Apigee X:
Interromper sessão de depuração

Excluir transações específicas

Diferenças com a monetização

A tabela a seguir fornece uma comparação dos principais recursos entre a monetização do Apigee Edge e a monetização da Apigee X.

Monetização da Apigee Edge Monetização da Apigee X/híbrida
Os planos de taxas estão associados a pacotes de produtos da API que podem ser vinculados a vários produtos da API Os planos de taxas estão associados aos produtos de API (relação um para um)
Os desenvolvedores de apps compram planos de taxas Desenvolvedores de apps compram produtos de API
As cotas são gerenciadas no nível do proxy da API As cotas são gerenciadas no nível do produto de API (nível de negócios)
Os planos de preços publicados só podem expirar. Eles não podem ser editados ou excluídos Os planos de taxas publicados podem expirar, ser editados, movidos para rascunho ou excluídos
Configuração complexa (sem assistente ou ferramenta de visualização) Configuração simplificada dos planos de taxas usando o assistente e a ferramenta de visualização
A política MonetizationLimitsCheck bloqueia o acesso após a primeira chamada de API ser processada se o desenvolvedor do app não tiver comprado uma assinatura A política MonetizationLimitsCheck bloqueia o acesso imediatamente se o desenvolvedor do app não tiver comprado uma assinatura ou exceder a cota
Os dados de monetização para transações podem ser capturados usando variáveis personalizadas na política de registro de transações. A Apigee captura automaticamente os dados de monetização, e os dados de monetização para transações podem ser substituídos usando a política DataCapture. Consulte Capturar dados de monetização para saber mais.
As contas pré-pagas e pós-pagas podem ser configuradas tanto para os desenvolvedores quanto para os planos de tarifas. As contas pré-pagas e pós-pagas só podem ser configuradas para desenvolvedores.

Quais recursos do Apigee Edge não são compatíveis com a Apigee X?

O Google não planeja oferecer suporte aos seguintes recursos:

  • Extensões da Apigee Edge
  • Repositório de especificações OpenAPI
  • APIs para pesquisar ou revogar tokens de acesso OAuth (porque os tokens são criptografados com hash)
  • OAuth v1 ou política do OAuth OAuthv1.0a
  • Trireme (EOL em 10/10/2019)
  • Os cabeçalhos com o prefixo "X-Apigee-" não são compatíveis com a Apigee X e são removidos das solicitações e respostas antes do envio para destinos e clientes.

Comparação de APIs

Em geral, a maioria das APIs do Apigee Edge tem equivalentes. Nesta seção, apresentamos o seguinte:

Resumo das mudanças usando a API

Veja a seguir as alterações de comportamento em todas as APIs da Apigee X em comparação com as APIs da Apigee Edge.

Comportamento APIs Apigee Edge APIs da Apigee X
Domínio de base api.enterprise.apigee.com apigee.googleapis.com
Tipos de mídia application/json
application/xml
application/json
Autenticação OAuth2, SAML, Basic OAuth2
Carimbos de data/hora em chaves Formato de int64
{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
Formato de String
{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
Estrutura do parâmetro de consulta expand=false
[
        "helloworld",
        "weather"
      ]
{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}
Parâmetros de consulta prefixados por sublinhado Compatível (_optimal=true) Não compatível (optimal=true)
Propriedades em payloads:
  • created_by
  • modified_by
  • self
Compatível Sem suporte
Valores padrão em payloads Incluído Não incluso
Estrutura de tratamento de erros
{
        "code": "...",
        "message": "..",
        "contexts": []
      }
{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}
Resposta de exclusão de cache Retorna: 200 OK e detalhes do cache Retorna: 204 No Content
Operações da API de cache Opções List, create, get, update, delete, clear all, and clear. List e delete apenas. O cache L1 de curta duração é criado automaticamente quando você implanta um proxy de API. Para mais informações, consulte Caches internos.

Diferenças entre as APIs de métricas do Apigee Edge e da Apigee X

O Resumo das alterações usando a API lista as diferenças gerais entre a API Apigee Edge e a API Apigee X. A tabela a seguir lista as diferenças específicas das APIs de métricas:

Recurso APIs Apigee Edge APIs da Apigee X
Endpoint da API api.enterprise.apigee.com apigee.googleapis.com
E-mails diários de análise Nenhuma API compatível
API Async Query List Receber uma lista de consultas de análise assíncronas A propriedade userId foi omitida da resposta. Consulte Método: organizations.environments.queries.list.
APIs de relatórios personalizados API Reports As propriedades createdBy e lastModifiedBy foram removidas da resposta. Consulte a API Reports.

APIs Apigee Edge incompatíveis

A tabela a seguir lista as APIs da Apigee Edge não compatíveis (que não têm API Apigee X equivalentes).

Categoria da API APIs Apigee Edge incompatíveis
Monitoramento de APIs Nenhuma API compatível
Proxies de API
  • Forçar a implantação do proxy de API
  • Acessar dependências npm
  • Gerenciar módulos npm
Auditorias Use a API Stackdriver Logging.
Registros em cache Nenhuma API compatível
Empresas Nenhuma API compatível
Apps da empresa Nenhuma API compatível
Família de apps da empresa Nenhuma API compatível
Chaves de apps da empresa Nenhuma API compatível
Sessões de depuração
  • Não é possível interromper sessões de trace
  • Não é possível excluir transações individuais

Para mais informações, consulte Diferenças com o Trace.

App do desenvolvedor Acessar contagem de recursos da API
Família de apps do desenvolvedor Nenhuma API compatível
Extensões Nenhuma API compatível
Armazenamento de chaves: truststore Testar um keystore ou um truststore
LDAP Nenhuma API compatível
Monetização Nenhuma API compatível
OAuth V2 Nenhuma API compatível
Políticas Nenhuma API compatível
Arquivos de recurso
  • Escopo da revisão do proxy de API
  • Escopo da organização
Sense Nenhuma API compatível
Usuários e funções do usuário Use as APIs relacionadas ao Google Identity and Access Management (IAM), conforme descrito em Como gerenciar usuários, papéis e permissões usando APIs.
Hosts virtuais Nenhuma API compatível

Apigee Edge para nuvem privada x Apigee híbrida

A tabela a seguir compara o Apigee Edge para nuvem privada e a Apigee híbrida:

Serviço Produto ou área de recurso da Apigee
Apigee Edge para nuvem privada Apigee híbrida
Google Analytics Servidores Qpid e Postgres Um pod de coleta de dados no plano do ambiente de execução usa fluentd e UDCA (Agente universal de coleta de dados, na sigla em inglês) para reunir análise e alimentar os dados para a UAP (plataforma de análise unificada) no plano de gerenciamento.
Gateway de proxy de API processador de mensagens O Processador de mensagens (MP, na sigla em inglês) processa as solicitações recebidas. Os MPs são implementados como um ou mais apps em contêiner no plano do ambiente de execução.
Persistência Nó ou anel do Cassandra O Cassandra fornece persistência para os recursos do KMS, KVM, cota e cache.
Implantação ZooKeeper O Synchronizer garante que as configurações de proxy de API, as informações de ambiente e outros dados sejam atualizados entre o plano de gerenciamento e o de tempo de execução.
Interface do usuário administrativa A IU da Apigee Edge está hospedada no servidor de gerenciamento A IU da Apigee está hospedada no plano de gerenciamento.
Balanceamento de carga Roteador Um controlador de entrada do Istio envia as solicitações ao aplicativo conteinerizado do processador de mensagens (MP, na sigla em inglês) no plano de ambiente de execução.
APIs Servidor de gerenciamento As APIs da Apigee X são acessadas por meio do servidor de gerenciamento e do MART. O MART interage com o repositório de dados local do Cassandra e atua como provedor de API para que as APIs da Apigee X acessem e gerenciem entidades de dados de ambiente de execução.
Métricas Cada componentes configuradoscom JMX Gerenciado por um único servidor Prometheus por cluster para todos os serviços.