Como editor de APIs, você precisa de um site que comercialize efetivamente suas APIs e ajude os clientes a diferenciar entre ofertas. Quando eles selecionam APIs, você precisa ser capaz de dar acesso apenas a usuários autenticados, gerenciar o consumo e entregar faturas precisas para uso. Este cenário de exemplo mostra como você pode usar o serviço do Azure e o GitHub para criar uma plataforma que faz tudo isso e muito mais.
Arquitetura
Transfira um ficheiro PowerPoint desta arquitetura.
Fluxo de dados
A solução consiste principalmente nos seguintes blocos de construção:
APIs back-end monetizadas e gateway de API. No núcleo da solução está o conjunto de APIs de back-end que são monetizadas. Os consumidores, como usuários, aplicativos e dispositivos, acessam a plataforma de API por meio de um gateway de API. O gateway limita as solicitações e aplica o nivelamento de taxa conforme necessário.
Portal do consumidor e aplicações. Os consumidores da plataforma API navegam pelas ofertas da API, registram-se e, em seguida, geram chaves de assinatura para acessar os vários pontos finais da API. Eles podem atualizar informações sobre suas contas e faturamento usando os recursos de gerenciamento de contas da solução.
Portais e aplicações administrativas. Os administradores da plataforma publicam a lista de produtos de API, seus preços e planos de tarifas. Esses portais também oferecem análises avançadas sobre o uso dos vários produtos de API, que ajudam na solução de problemas e oferecem serviços de suporte.
Serviços de linha de negócio. Estes serviços são necessários para fornecer as funcionalidades dos portais e aplicações do consumidor e para suportar as várias jornadas do utilizador que são suportadas na solução.
Rastreamento de consumo de API e mecanismo de cálculo de cargas. Os relatórios de consumo de API, capturados na camada de gateway de API, são exportados periodicamente para um armazenamento de dados separado. Os trabalhos agendados são executados com base nesses dados para calcular as cobranças que se aplicam a qualquer conta de consumidor, com base em sua lista de assinaturas e no modelo de preços associado.
A sequência de processamento nesta solução flui da seguinte forma:
O editor da API importa as especificações da API usando o portal do Azure, agrupa-as por produto e as publica.
O editor da API atualiza as informações de marketing relacionadas ao produto no repositório GitHub correspondente.
O consumidor da API acessa o portal do marketplace, navega pelos vários produtos e seleciona um serviço de API específico.
Quando o consumidor tenta visualizar mais informações sobre o serviço de API, o portal do consumidor redireciona o consumidor para o portal do desenvolvedor avançado, que está hospedado no GitHub e usa as Páginas do GitHub.
O consumidor pode navegar por diferentes especificações de API, informações relacionadas ao desenvolvedor e até mesmo tentar invocar um ponto de extremidade usando uma amostra de carga útil.
O consumidor se registra na plataforma e, em seguida, ativa uma assinatura para o serviço de API específico que está interessado em usar.
O consumidor faz uso do serviço de API em seus aplicativos ou dispositivos.
A invocação da API gera métricas sobre seu uso e consumo, que são armazenadas pelo Azure em bancos de dados de rastreamento.
Os dados de consumo são exportados periodicamente e salvos em um banco de dados personalizado, normalmente um data lake, para análise posterior.
Um trabalho de back-end calcula os encargos a partir dos dados de consumo e das várias assinaturas.
As informações relativas à fatura e ao pagamento são armazenadas na base de dados contabilística. Essas informações são usadas para calcular a receita do serviço.
Componentes
A solução é composta pelas seguintes ofertas de software como serviço (SaaS):
O Gerenciamento de API do Azure é uma plataforma gerenciada como um serviço que permite que as organizações publiquem APIs para consumidores internos e externos. Com o Gerenciamento de API, você pode publicar APIs que podem ser hospedadas em qualquer lugar. Basicamente, o Gerenciamento de API permite a dissociação da hospedagem de API do gateway publicado que atua como o ponto de entrada único para o cenário completo de APIs que sua empresa publica. Para obter mais informações, consulte Padrão de roteamento de gateway.
O Gerenciamento de API também fornece uma camada de governança sobre todas as APIs publicadas. Usando políticas de Gerenciamento de API, vários outros recursos, como limites de taxa e cotas, você pode limitar as solicitações de API com base em uma chave ou assinatura. O Gerenciamento de API inclui um portal do desenvolvedor que fornece um site totalmente personalizável para servir como a documentação das APIs que você publica por meio dele.
O GitHub é uma oferta SaaS popular da Microsoft que é frequentemente usada por desenvolvedores para criar, enviar e manter seus projetos de software. Ele fornece recursos importantes que você pode usar em soluções:
O GitHub Pages permite que sua empresa hospede um site rico baseado em HTML diretamente de dentro de um repositório GitHub.
As discussões e os problemas do GitHub ajudam você a ativar a colaboração da comunidade.
O Serviço de Aplicativo do Azure é uma plataforma de computação totalmente gerenciada para hospedar aplicativos Web personalizados.
O Azure Ative Directory (Azure AD) B2C é uma extensão do Microsoft Entra ID que seu aplicativo pode usar para gerenciar identidades externas de clientes ou parceiros para acesso e autorização. Você pode usar a plataforma de identificação da Microsoft para integrar facilmente identidade e autorização em seus aplicativos personalizados.
Detalhes do cenário
O sucesso e a adoção de qualquer plataforma de API dependem em grande parte de quão alta ela é considerada no mercado. Além dos ativos digitais oferecidos pela plataforma, a facilidade de encontrar APIs e a facilidade de usá-las tem um grande efeito sobre se os clientes usam uma plataforma. Os clientes devem ser capazes de encontrar documentação e receber suporte para problemas. A plataforma também deve facilitar a contribuição da comunidade para ajudar seus clientes a moldar suas APIs de acordo com suas necessidades. Como editor de APIs, você precisa de um site que comercialize efetivamente suas APIs e ajude os clientes a diferenciar entre ofertas. Quando eles selecionam APIs, você precisa ser capaz de dar acesso apenas a usuários autenticados, gerenciar o consumo e entregar faturas precisas para uso. Este cenário de exemplo mostra como você pode usar o serviço do Azure e o GitHub para criar uma plataforma que faz tudo isso e muito mais.
Potenciais casos de utilização
Você pode usar essa solução para tornar mais fácil para os desenvolvedores de API:
- Descubra e compreenda as suas ofertas de produtos API.
- Subscreva e integre com as suas várias aplicações e canais.
- Obtenha ajuda, solucione problemas e corrija problemas.
- Promover a contribuição da comunidade e trocar ideias e conhecimentos.
Cadeia de valor da API
No topo da cadeia de valor está o provedor de serviços de API. Em seguida, estão os consumidores ou integradores de API, que projetam e constroem as experiências para os eventuais consumidores-alvo. Os utilizadores finais e os clientes são os beneficiários finais na cadeia de valor.
Experiência de desenvolvedor de API
Transfira um ficheiro PowerPoint deste diagrama.
A experiência do desenvolvedor de API apresenta três portais:
Portal do consumidor. O portal do consumidor serve como um site de marketing que mostra os vários produtos de API que são oferecidos pela empresa.
Portal do desenvolvedor. O portal do desenvolvedor fornece aos desenvolvedores de terceiros documentação sobre os vários serviços de API e como usá-los em seus aplicativos.
Portal de contas. Os utilizadores registados gerem as suas subscrições e realizam outras atividades relacionadas com a conta utilizando o portal da conta.
Requisitos funcionais
Em um alto nível, os requisitos funcionais para uma plataforma de API em escala empresarial se encaixam em três categorias, ou seja , produto, administração de plataforma e experiências do consumidor.
As seções a seguir descrevem melhor os recursos dentro de cada área de recurso.
Produtização
O objetivo da productização é identificar e definir as APIs monetizadas, sua gestão e uma estratégia para vendê-las como produtos digitais. Por conseguinte, abrange:
- Recursos, como a identificação de variantes dos produtos e seu mapeamento correspondente para ativos físicos.
- Uma definição dos planos de preços e tarifas, juntamente com os metadados necessários.
- Conteúdo que deve ser criado para impulsionar a experiência do consumidor.
A produtização compreende as seguintes capacidades:
Produtos API. Este catálogo de APIs é disponibilizado aos consumidores. Um produto pode ser oferecido para compra ou como um serviço gratuito.
Variantes. A experiência do desenvolvedor deve identificar as variantes de qualquer produto de API que seja monetizado.
Planos de preços. Definir os vários planos de preços para torná-lo atraente para os consumidores.
Taxonomia e conteúdo. Defina e crie o conteúdo — textual, PDFs, imagens e assim por diante — necessário para a estratégia de marketing desses produtos de API.
Ativos físicos. Isso inclui os serviços de nuvem reais que fazem parte do produto API específico e seu gerenciamento de ciclo de vida correspondente. Considere o custo operacional da manutenção desses serviços ao derivar os planos de preços.
Administração da plataforma
A administração da plataforma se concentra na hospedagem, gerenciamento e governança gerais da plataforma API. Ele também fornece uma solução de ponta a ponta para administração de vários aplicativos e serviços de linha de negócios. As principais áreas de foco são gerenciamento de assinaturas, cobrança e faturamento. A administração da plataforma também fornece geração de insights de negócios e análises para apresentar a saúde geral do serviço, incluindo seus aspetos financeiros e operacionais.
A administração da plataforma compreende os seguintes recursos:
Registo de utilizador. Identificar como os usuários se registram na plataforma. Defina os fluxos de trabalho de aprovação necessários, dependendo do segmento de usuário.
Catálogo de API. Identifique os ativos de API que são publicados por meio do Gerenciamento de API. Aplique políticas para controlar o acesso e o uso das APIs. Gerir as subscrições dos utilizadores.
Insights e análises. Capture dados de telemetria para gerar várias métricas. Visualize os dados usando diferentes painéis, como o Power BI, para derivar os vários insights necessários para os tomadores de decisões de negócios e TI.
Faturação e faturação. Defina os fluxos de trabalho relacionados a assinaturas, gerenciamento de pedidos, cobrança e faturamento.
Apoio. Estabeleça ferramentas e processos para lidar com solicitações de suporte.
Experiência do consumidor
A adoção da plataforma API depende fortemente da facilidade com que os consumidores podem:
- Descubra as APIs de que eles precisam.
- Revise a especificação e o conteúdo técnico navegando pelo portal do desenvolvedor.
- Registe-se para subscrever.
- Pague pelos produtos de API selecionados.
- Comece a usar as APIs em seus aplicativos.
Uma experiência do consumidor normalmente é entregue por meio de um portal da Web, um aplicativo móvel ou ambos. Você pode usar o Azure AD B2C para facilitar o registro de usuários e o gerenciamento de identidades. O Azure AD B2C inclui suporte para provedores de identidade OpenID, como Microsoft e Google.
As experiências de consumo compreendem os seguintes componentes:
Catálogo de produtos (API). Crie uma experiência de mercado para os utilizadores, tanto anónimos como registados.
Gestão de contas e subscrições. Estabeleça procedimentos para registrar e entrar com base nos tipos de usuários que você espera usar sua API. Ofereça suporte às preferências do usuário, como o uso de provedores de identidade social existentes. Permitir o gerenciamento de assinatura de autoatendimento, serviços de ativação e desativação e pagamento de cobranças conforme faturado.
Interface do usuário (UI) / Experiência do usuário (UX). Identifique e defina as experiências para os canais que você oferece suporte para experiências do usuário final. Inclua recursos de vários dispositivos e vários fatores de forma, juntamente com o design moderno da interface do usuário. Enriqueça a experiência através de estudos de usabilidade.
Considerações
Os componentes neste cenário abordam questões de desempenho, confiabilidade e segurança.
O Gerenciamento de API oferece suporte ao dimensionamento automático, que expande rapidamente os recursos de Gerenciamento de API em resposta a um número crescente de solicitações recebidas. O Gerenciamento de API também oferece suporte a redundância de zona e implantações em várias regiões para fornecer resiliência e alta disponibilidade. Para obter mais informações sobre redundância de zona, consulte Suporte de zona de disponibilidade para Gerenciamento de API do Azure. Para obter mais informações sobre a segurança do Gerenciamento de API, consulte Linha de base de segurança do Azure para Gerenciamento de API.
O Serviço de Aplicativo é uma plataforma como serviço totalmente gerenciada que apresenta segurança integrada e dimensionamento automático com um SLA que promete alta disponibilidade. O Serviço de Aplicativo é compatível com ISO, SOC e PCI e oferece suporte à autenticação de usuários com Microsoft Entra ID, Google, Facebook, Twitter ou conta da Microsoft. Com o Serviço de Aplicativo, você também pode criar restrições de endereço IP.
O Azure AD B2C oferece alta disponibilidade e pode ser dimensionado para dar suporte a centenas de milhões de usuários. O Azure AD B2C dá suporte ao OpenID Connect e a vários provedores de identidade para que os clientes possam escolher seu provedor preferido. O Azure AD B2C também dá suporte à autenticação multifator baseada em aplicativo e política, adicionando camadas adicionais de segurança. Para obter mais informações sobre o Azure AD B2C, consulte O que é o Azure Ative Directory B2C? Para obter mais informações sobre como usar identidades externas, consulte Identidades externas no Microsoft Entra ID.
O GitHub torna as revisões de segurança uma parte automatizada das revisões de código, verificando cada nova confirmação em busca de possíveis problemas de segurança. Este serviço ajuda você a descobrir problemas assim que eles são oferecidos como adições à base de código. A segurança do GitHub permite que você personalize pesquisas por questões de segurança e integre mecanismos de verificação de terceiros. Para obter mais recursos e detalhes, consulte Segurança no GitHub.
Otimização de custos
Você pode desenvolver o portal do consumidor usando o plano de preços Team ou Enterprise para o GitHub. Consulte a matriz de recursos para identificar qual plano melhor se adapta à sua empresa.
Para o Gerenciamento de API, você pode usar as camadas Standard ou Premium. Para entender melhor as diferenças entre as camadas, consulte Opções de preços do Gerenciamento de API.
Para o Serviço de Aplicativo do Azure, consulte as opções de preços disponíveis para ambientes Windows e Linux para hospedar seus aplicativos.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Autor principal:
- Subhajit Chatterjee - Brasil | Engenheiro de Software Principal, Industry Clouds
Próximos passos
- Monetização com o Gerenciamento de API do Azure
- Visão geral do portal do desenvolvedor no Gerenciamento de API do Azure
- Auto-hospedar o portal do desenvolvedor do Gerenciamento de API
- Gateway auto-hospedado
- Introdução às páginas do GitHub