O que é o Apigee Edge?

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

A Apigee Edge é uma plataforma para desenvolvimento e gerenciamento de APIs. Ao liderar os serviços com uma camada de proxy, o Edge oferece uma abstração ou fachada para as APIs de serviço de back-end e oferece segurança, limitação de taxa, cotas, análises e muito mais.

Por exemplo, é possível ver um webcast sobre como a Walgreens usa as APIs e o Apigee Edge para fornecer um ecossistema de apps avançado com impressão de fotos, receitas médicas e outros serviços oferecidos por ela.

Crie seu primeiro proxy!

Aceleração digital

Neste vídeo, você tem uma visão rápida de como a Apigee ajuda na evolução para uma empresa digital.

Como escolher entre gerenciamento de serviços e de APIs

Neste vídeo, você entenderá as diferenças importantes entre o gerenciamento de serviços e o de API. empresa.

Disponibilização dos serviços na Web

Hoje, as empresas querem disponibilizar os serviços de back-end na Web para que eles possam ser consumidos por apps executados em dispositivos móveis e computadores. Uma empresa pode querer expor serviços que fornecem informações de preços e disponibilidade de produtos, serviços de vendas e pedidos, serviços de rastreamento de pedidos e qualquer outro serviço exigido pelos apps clientes.

As empresas muitas vezes expõem serviços como um conjunto de endpoints HTTP. Os desenvolvedores de apps clientes fazem solicitações HTTP para esses endpoints. Dependendo do endpoint, o serviço pode retornar dados, formatados como XML ou JSON, ao app cliente.

Os apps clientes que consomem esses serviços podem ser implementados como apps autônomos para um dispositivo móvel ou tablet, como apps HTML5 executados em um navegador ou como qualquer outro tipo de app que possa fazer uma solicitação a um endpoint HTTP e consumir dados de resposta. Esses apps podem ser desenvolvidos e lançados pela mesma empresa que expôs os serviços ou por desenvolvedores de apps de terceiros que fazem uso dos serviços disponíveis publicamente.

A imagem a seguir mostra esse tipo de modelo:

Vários tipos de apps, como apps para dispositivos móveis, apps de ponto de venda, parceiros e apps da Web, conectam-se a serviços de back-end, como ESB, SOA, servidores de apps e bancos de dados.

Como os provedores disponibilizam seus serviços na Web, eles precisam garantir que tenham adotado todas as medidas necessárias para proteger seus serviços contra acesso não autorizado. Como provedor de serviços, considere:

  • Segurança: como você controlará o acesso aos seus serviços para impedir acesso não autorizado?
  • Compatibilidade: seus serviços funcionarão em diferentes plataformas e dispositivos?
  • Capacidade de medição: como você pode monitorar seus serviços para garantir que eles estejam disponíveis?
  • Monetização: como rastrear e cobrar dos clientes pelo acesso aos seus serviços?
  • E muitas outras considerações

Após o lançamento de um app cliente que acessa qualquer serviço, o provedor de serviços precisará garantir que esses serviços continuem funcionando ao longo do tempo à medida que adicionam, modificam ou excluem esses serviços. O provedor de serviços também precisa ter uma maneira de manter os desenvolvedores de apps informados sobre alterações nos serviços para garantir que os apps clientes fiquem sincronizados com esses serviços.

Os desenvolvedores de apps clientes enfrentam desafios ao tentar consumir serviços de diferentes provedores. Atualmente, há muitas tecnologias disponíveis para uso por um provedor de serviços para expor os serviços. O mesmo app cliente pode ter que usar um mecanismo para consumir um serviço de um provedor e um mecanismo diferente para consumir um serviço de outro provedor. Os desenvolvedores de apps podem até enfrentar a situação em que precisem usar mecanismos diferentes para consumir serviços do mesmo provedor.

Disponibilizar serviços pelo Apigee Edge

O Apigee Edge permite fornecer acesso seguro aos seus serviços com uma API bem definida e consistente em todos os serviços, independentemente da implementação do serviço. Uma API consistente:

  • Facilita o consumo dos serviços pelos desenvolvedores de apps.
  • Permite alterar a implementação do serviço de back-end sem afetar a API pública.
  • Aproveite a análise, a monetização, o portal do desenvolvedor e outros recursos integrados ao Edge.

A imagem a seguir mostra uma arquitetura com o Edge lidando com as solicitações de apps clientes para os serviços de back-end:

O Apigee Edge fica entre os aplicativos clientes e os serviços de back-end.

Em vez de fazer com que os desenvolvedores de apps consumam seus serviços diretamente, eles acessam um proxy de API criado no Edge. O proxy de API funciona como um mapeamento de um endpoint HTTP disponível publicamente para seu serviço de back-end. Ao criar um proxy de API, você permite que o Edge processe as tarefas de segurança e autorização necessárias para proteger seus serviços, analisar, monitorar e monetizar esses serviços.

Como os desenvolvedores de apps fazem solicitações HTTP a um proxy de API, e não diretamente aos serviços, os desenvolvedores não precisam saber nada sobre a implementação dos seus serviços. Tudo que o desenvolvedor precisa saber é:

  • O URL do endpoint do proxy de API.
  • Todos os parâmetros de consulta, cabeçalhos ou parâmetros de corpo fornecidos em uma solicitação.
  • Todas as credenciais de autenticação e autorização necessárias.
  • O formato da resposta, incluindo o formato de dados da resposta, como XML ou JSON.

O proxy da API isola o desenvolvedor do app do seu serviço de back-end. Portanto, você pode alterar a implementação do serviço, desde que a API pública permaneça consistente. Ao manter uma API de front-end consistente, os apps clientes atuais continuarão funcionando, independentemente das mudanças no back-end.

Você pode usar as políticas no proxy de API para adicionar funcionalidades a um serviço sem precisar fazer alterações no serviço de back-end. Por exemplo, você pode adicionar políticas ao proxy para realizar transformações e filtragem de dados, reforçar a segurança, executar lógica condicional ou código personalizado e executar muitas outras ações. O importante a lembrar é que você implementa políticas no Edge, não no seu servidor de back-end.

Para mais informações, consulte Noções básicas sobre APIs e proxies de API.

Criar um produto da API

Um proxy de API é o endpoint HTTP no Apigee Edge que os desenvolvedores usam para acessar seus serviços de back-end. Embora seja possível, você normalmente não disponibiliza proxies de API individuais. Em vez disso, você agrupa um ou mais proxies de API em um produto de API.

Um produto de API é um pacote de proxies de API combinado a um plano de serviços. Esse plano de serviços pode definir limites de acesso em proxies de API, fornecer segurança, permitir monitoramento e análises e oferecer mais recursos. Os produtos de API também são o mecanismo central que o Edge usa para autorização e controle de acesso às suas APIs.

Você tem muita flexibilidade para criar produtos de API. Por exemplo, vários produtos de API podem compartilhar o mesmo proxy de API. A figura a seguir mostra três produtos de API. Observe que todos os produtos permitem acesso ao proxy de API 3, mas somente o produto A permite acesso ao proxy de API 1.

O produto A acessa o proxy 1 e 3. O produto B acessa o proxy 3.
    O produto C acessa o proxy 2, 3 e 4.

É possível definir propriedades diferentes em cada produto de API. Por exemplo, você pode disponibilizar um produto de API com um limite de acesso baixo, como 1.000 solicitações por dia, por um preço com desconto. Em seguida, você lança outro produto de API que concede acesso ao mesmo proxy de API, mas com um limite de acesso muito maior, por um preço mais alto. Se preferir, crie um produto de API sem custo financeiro que permite acesso somente leitura aos seus serviços e, em seguida, venda um produto de API para os mesmos proxies de API que permite acesso de leitura/gravação.

Para mais informações, consulte Gerenciar produtos de API.

Permitir que um app do lado do cliente acesse seu produto de API

Quando os desenvolvedores de apps quiserem acessar seus serviços, eles precisarão primeiro registrar o app cliente deles com seu produto de API.

Um app cliente precisa de uma chave para chamar uma API associada a um produto de API.

Após o registro, o desenvolvedor de apps recebe uma chave de API que precisa ser incluída em cada solicitação a um proxy de API incluído no produto de API. Essa chave é autenticada e, se a autenticação for bem-sucedida, a solicitação poderá acessar seu serviço de back-end.

A qualquer momento, é possível revogar a chave para que o app cliente não tenha mais acesso aos seus serviços. É possível definir um limite de tempo em uma chave para que o desenvolvedor precise atualizar a chave após um período específico.

Você decide como lidar com solicitações de registro de desenvolvedores para acessar seus produtos de API. Ao usar os serviços de desenvolvedor do Apigee Edge, é possível automatizar o processo de registro ou usar um processo manual para controlar o acesso.

Crie produtos de API e disponibilize-os para desenvolvedores

  1. Crie um ou mais proxies de API que mapeiem URLs publicamente disponíveis para seus serviços de back-end.
  2. Crie um produto de API que agrupe os proxies de API.
  3. Implante os proxies e o produto de API.
  4. Informe seus desenvolvedores de que o produto de API está disponível.

Depois que os desenvolvedores de apps souberem sobre a disponibilidade do produto de API, eles:

  1. Registrarão os apps clientes com seu produto de API.
  2. Receberão uma chave de API para o produto de API.
  3. Farão solicitações aos seus serviços por meio dos proxies de API, que fazem parte do produto de API, e transmitirão a chave de API com cada solicitação.

Componentes do Apigee Edge

O Apigee Edge consiste em ambiente de execução, monitoramento e análise de APIs e serviços para desenvolvedores que, juntos, fornecem uma infraestrutura abrangente para criação, segurança, gerenciamento e operações de APIs.

A figura a seguir mostra os serviços do Edge:

Os desenvolvedores acessam o ecossistema de desenvolvedores, que inclui SmartDocs, portal personalizável, gerenciamento de chaves de autoatendimento e SDKs. Apps e serviços acessam o
    ambiente de execução da API, que inclui APIs de gateway, conectores, código personalizado, segurança e
    gerenciamento. Os engenheiros de operações acessam o monitoramento e a análise, que inclui
    relatórios de negócios, monitoramento de desempenho, relatórios personalizados e traces.

Ambiente de execução da API Edge

Os serviços da API Apigee Edge têm como objetivo criar e consumir APIs, esteja você criando proxies de API como um provedor de serviços ou usando APIs, SDKs e outros serviços de conveniência como desenvolvedor de apps.

O servidor de gerenciamento de API oferece ferramentas para adicionar e configurar proxies de API, definir produtos de API e gerenciar desenvolvedores de apps e apps clientes. Ele acaba com muitas preocupações comuns que envolvem o gerenciamento de serviços de back-end. Quando você adiciona um proxy de API, pode aplicar políticas ao proxy para segurança reforçada, limitação de taxa, mediação, armazenamento em cache e assim por diante. Você também pode personalizar o comportamento do proxy de API aplicando scripts personalizados, fazendo chamadas para APIs e serviços de terceiros e assim por diante. Consulte Noções básicas sobre APIs e proxies de API para mais informações.

Se você desenvolve com Node.js, pode adicionar os módulos do Node.js ao Edge para criar APIs e mashups de APIs, tudo isso enquanto aproveita os benefícios que o Edge oferece, desde a transformação de mensagens até a segurança e a análise.

Análise e monitoramento de borda

A análise da API Apigee Edge fornece ferramentas avançadas para ver tendências de uso de curto e longo prazos das suas APIs. É possível segmentar seu público por desenvolvedores e apps principais, entender o uso por método de API para saber onde investir e criar relatórios personalizados com informações comerciais ou de nível operacional.

À medida que os dados passam pelo Edge, vários tipos padrão de informações são coletados, incluindo URL, IP, ID do usuário para informações de chamada de API, latência, dados de erro e assim por diante. É possível criar políticas para adicionar outras informações, como cabeçalhos, parâmetros de consulta e partes de uma solicitação ou resposta extraídas do XML ou JSON. Essas informações são coletadas de forma assíncrona do fluxo real de solicitação/resposta e, portanto, não afetam o desempenho da API.

A IU de gerenciamento permite que você visualize várias métricas e dimensões em um navegador, conforme mostrado na figura a seguir:

Um painel de análise que mostra o número de erros de política em formato gráfico e tabular.

No entanto, também é possível acessar e controlar o serviço do Analytics por uma interface de linha de comando ou por meio de APIs RESTful. Consulte a Visão geral da API Analytics para mais informações.

Ecossistema de desenvolvedores de borda

O Apigee Edge oferece serviços para desenvolvedores que permitem:

  • Gerencie a comunidade de desenvolvedores de apps que estão usando seus serviços.
  • Trabalhar com desenvolvedores internos e externos e formalizar as relações com modelos financeiros.
  • Integrar desenvolvedores e criar um portal do desenvolvedor. Os desenvolvedores de apps se conectam ao seu portal para acessar a documentação da API, saber mais sobre os produtos de API disponíveis publicamente e gerenciar as chaves.

Cada cliente do Edge pode criar um portal do desenvolvedor próprio, seja na nuvem ou no local com o Apigee Edge para nuvem privada.

O Apigee Edge permite criar dois tipos de portais:

Monetização

Os recursos de monetização oferecem a infraestrutura e os relacionamentos financeiros para transformar sua comunidade de desenvolvedores em um canal real para seus ativos digitais. Com a monetização, é possível criar uma variedade de planos de tarifas que cobram os desenvolvedores pelo uso dos seus produtos de API ou permitem que você pague aos desenvolvedores em cenários de participação na receita.

Os planos incluem opções pré-pagas, pós-pagas, de taxa fixa, variáveis e "freemium", personalizadas para desenvolvedores específicos, que abrangem grupos de desenvolvedores e muito mais. Além disso, a monetização inclui instalações de geração de relatórios e faturamento.

Para mais informações, consulte Visão geral da monetização.

Sabores do Edge

O Apigee Edge tem as seguintes opções:

  • Nuvem pública: uma versão do SAAS hospedada em que a Apigee mantém o ambiente, permitindo que você se concentre na criação de serviços e na definição das APIs para eles.
  • Nuvem privada: uma instalação no local em que você controla o ambiente do hardware e é responsável pela instalação, upgrade, manutenção e outros processos administrativos.

Se você estiver interessado na nossa versão da Apigee híbrida, consulte os seguintes tópicos da Apigee X:

Funcionalmente, as versões da nuvem pública e da nuvem privada são muito semelhantes. No entanto, a versão da nuvem privada não é compatível com todos os recursos da versão da nuvem pública. Os recursos sem suporte da nuvem privada incluem:

  • Destinos hospedados
  • Extensões
  • Portais de desenvolvedores integrados. Observação: há suporte a portais de desenvolvedores baseados em Drupal.
  • Monitoramento de APIs
  • Sense

Para uma lista de diferenças entre as variações, consulte Comparar os produtos da Apigee.

Há também pequenas diferenças entre as APIs, conforme descrito em Diferenças entre o Edge para a API Public Cloud e a API Private Cloud.

A nuvem pública dá suporte a contas sem custo financeiro e pagas. A nuvem privada requer contas pagas.

Para oferecer suporte total a uma instalação no local, a versão da nuvem privada inclui componentes como o servidor de gerenciamento da Apigee, um banco de dados NoSQL do Apache Cassandra, um servidor OpenLDAP, um roteador de mensagens e um processador de mensagens.