O que é o Apigee Edge?

Você está visualizando a documentação do Apigee Edge.
Acesse a documentação da Apigee X.
info

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

Por exemplo, você pode assistir a um webcast sobre como a Walgreens usa APIs e o Apigee Edge para oferecer um ecossistema de apps avançado para impressão de foto, prescrições e outros serviços.

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 o gerenciamento de serviços e o de API

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 você pode acompanhar e cobrar os 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

Com o Apigee Edge, é possível fornecer acesso seguro aos seus serviços com uma API bem definida e consistente em todos os seus serviços, seja qual for a implementaçã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.
  • Permite que você 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 processando as solicitações de apps clientes para seus serviços de back-end:

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

Em vez de consumir seus serviços diretamente, os desenvolvedores de apps 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, além de analisá-los, monitorá-los e gerar receita com eles.

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 vão continuar 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. É importante lembrar que você implementa as políticas no Edge, não no 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 do 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 gratuito 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 para desenvolvedores 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 API e serviços para desenvolvedores que, juntos, fornecem uma infraestrutura abrangente para criação, segurança, gerenciamento e operações de API.

A figura a seguir mostra os serviços de borda:

Os desenvolvedores acessam o ecossistema de desenvolvedores, que inclui o SmartDocs, o portal personalizável, o gerenciamento de chaves de autoatendimento e os SDKs. Os apps e serviços acessam o
    runtime da API, que inclui gateway, conectores, código personalizado, segurança e
    APIs de gerenciamento. Os engenheiros de operações têm acesso ao monitoramento e à análise, que inclui
    relatórios de negócios, monitoramento de desempenho, relatórios personalizados e rastreamento.

Ambiente de execução da API Edge

O foco dos serviços de API do Apigee Edge é criar e consumir APIs, seja para criar proxies de API como provedor de serviços ou para usar 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 os proxies de API, configurar 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ê é um desenvolvedor de Node.js, pode adicionar seus módulos do Node.js ao Edge para criar APIs e mashups de API, aproveitando os benefícios do Edge, desde a transformação de mensagens até a segurança e a análise.

Monitoramento e análise de borda

A API Analytics do Apigee Edge oferece ferramentas eficientes para conferir as tendências de uso de curto e longo prazo 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.

Conforme 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 etc. É 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 dispositivos Edge

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

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

Todos os clientes do Edge podem criar o próprio portal do desenvolvedor na nuvem ou no local com o Apigee Edge for Private Cloud.

O Apigee Edge permite criar dois tipos de portais:

Monetização

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

Os planos incluem planos pré-pagos, pós-pagos, planos de taxa fixa, planos de tarifa variável, planos "freemium", planos adaptados a desenvolvedores específicos, planos que abrangem grupos de desenvolvedores e muito mais. Além disso, a monetização inclui recursos de relatórios e faturamento.

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

Variações do Edge

O Apigee Edge tem as seguintes variações:

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

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

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

  • Destinos hospedados
  • Extensões
  • Portais de desenvolvedor integrados (Observação: os portais de desenvolvedor baseados no Drupal são compatíveis)
  • Monitoramento de APIs
  • Sense

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

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

A Public Cloud é compatível com contas sem custo financeiro e pagas. A nuvem privada exige contas pagas.

Para oferecer suporte total a uma instalação local, a versão de nuvem particular 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.