Como editor de APIs, você precisa de um site que comercialize efetivamente suas APIs e ajude os clientes a diferenciar as ofertas. Depois que eles tiverem selecionado as APIs, você precisa conseguir dar acesso apenas a usuários autenticados, gerenciar o consumo e entregar faturas precisas. 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
Baixe um arquivo do PowerPoint dessa arquitetura.
Fluxo de dados
A solução consiste principalmente nos seguintes blocos de construção:
APIs de back-end monetizadas & Gateway de API. No centro 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 aplicativos. Os consumidores da plataforma de API navegam pelas ofertas de API, registram-se e geram chaves de assinatura para acessar os vários pontos de extremidade da API. Eles podem atualizar informações sobre suas contas e faturamento usando os recursos de gerenciamento de contas da solução.
Portais e aplicativos administrativos. 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.
Servidores de linha de negócios. Esses serviços são necessários para entregar as funcionalidades dos portais e aplicativos do consumidor e oferecer suporte às várias jornadas do usuário na solução.
Mecanismo de rastreamento de consumo e cálculo de cobranças da API. 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 nesses dados para calcular as cobranças que se aplicam a qualquer conta de consumidor, com base na sua lista de assinaturas e no modelo de preços associado.
A sequência de processamento desta solução flui da seguinte forma:
O editor da API importa as especificações da API usando o portal do Azure, depois as agrupa por produto e as publica.
O editor da API atualiza as informações de marketing relacionadas ao produto no repositório do 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 exibir mais informações sobre o serviço de API, o portal do consumidor o redirecionará para o portal do desenvolvedor avançado, que está hospedado no GitHub e usa as Páginas do GitHub.
O consumidor pode procurar diferentes especificações de API, informações relacionadas ao desenvolvedor e até mesmo tentar invocar um ponto de extremidade usando uma carga útil de amostra.
O consumidor registra-se na plataforma e, em seguida, ativa uma assinatura para o serviço de API específico que deseja usar.
O consumidor usa o serviço de API em seus aplicativos ou dispositivos.
A invocação da API gera métricas sobre uso e consumo, que são armazenadas pelo Azure em bancos de dados de controle.
Os dados de consumo são periodicamente exportados e salvos em um banco de dados personalizado, geralmente 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 relacionadas à fatura e ao pagamento são armazenadas no banco de dados contábil. 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, ele permite o desacoplamento 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 saber mais, confira Padrão de roteamento do 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 publicadas.
O GitHub é uma oferta SaaS popular da Microsoft, frequentemente usada por desenvolvedores para criar, enviar e manter seus projetos de software. Ele fornece recursos importantes que você pode usar nas soluções:
O GitHub Pages permite que sua empresa hospede um site avançado baseado em HTML diretamente de um repositório do GitHub.
O GitHub Discussions e o GitHub Discussions ajudam você a ativar a colaboração da comunidade.
O Serviço de Aplicativo do Azure é uma plataforma de computação totalmente gerenciada pra hospedar aplicativos Web personalizados.
O Azure Active Directory B2C (Azure AD B2C) é uma extensão do Microsoft Entra ID que seu aplicativo pode usar para gerenciar identidades de clientes ou parceiros externos para acesso e autorização. Você pode usar a plataforma de identificação da Microsoft para integrar facilmente identidade e autorização nos 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 ela é usado no mercado. Além dos ativos digitais oferecidos pela plataforma, a facilidade de encontrar APIs e de utilizá-las tem um grande efeito para os clientes. Os clientes devem conseguir encontrar a documentação e receber suporte para problemas. A plataforma também deve facilitar a contribuição da comunidade para ajudar seus clientes a ajustar as APIs às próprias necessidades. Como editor de APIs, você precisa de um site que comercialize efetivamente suas APIs e ajude os clientes a diferenciar as ofertas. Depois que eles tiverem selecionado as APIs, você precisa conseguir dar acesso apenas a usuários autenticados, gerenciar o consumo e entregar faturas precisas. 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.
Possíveis casos de uso
Você pode usar essa solução para facilitar aos desenvolvedores de API:
- Descobrir e entender suas ofertas de produtos API.
- Inscrever e integrar com seus diversos aplicativos e canais.
- Obter ajuda e solucionar e corrigir 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 usuários finais e os clientes são os beneficiários finais na cadeia de valor.
Experiência do desenvolvedor de API
Baixe um arquivo PowerPoint desse diagrama.
A experiência do desenvolvedor da 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 nos seus aplicativos.
Portal de contas. Os usuários registrados gerenciam suas assinaturas e executam outras atividades relacionadas à conta usando 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: produção, administração da plataforma e experiências do consumidor.
As seções a seguir descrevem melhor os recursos dentro de cada área de recurso.
Produção
O objetivo da produção é identificar e definir as APIs monetizadas, sua gestão e uma estratégia para vendê-las como produtos digitais. Como resultado, abrange:
- Recursos, como identificar 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 produção compreende os seguintes recursos:
Produtos da API. Esse catálogo de APIs é disponibilizado para os 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 monetizado.
Planos de preços. Defina os vários planos de preços para torná-los interessantes 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 de API específico e seu gerenciamento de ciclo de vida correspondente. Considere o custo operacional de manutenção desses serviços ao derivar os planos de preços.
Administração de plataforma
A administração de plataforma concentra-se na hospedagem, no gerenciamento e na governança gerais da plataforma de API. Também fornece uma solução completa 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 e análises de negócios para apresentar a integridade geral do serviço, incluindo seus aspectos financeiros e operacionais.
A administração de plataforma compreende os seguintes recursos:
Registro de usuários. Identifique como os usuários se cadastram na plataforma. Defina todos os fluxos de trabalho de aprovação necessários, dependendo do segmento de usuário.
Catálogo da API. Identifique os ativos de API que são publicados por meio do API Management. Aplique políticas para controlar o acesso e o uso das APIs. Gerencie as assinaturas dos usuários.
Insights e análise. Capture dados de telemetria para gerar várias métricas. Visualize os dados usando painéis diferentes, como o Power BI, para obter os insights necessários para os tomadores de decisão de negócios e TI.
Cobrança e faturamento. Defina os fluxos de trabalho relacionados a assinaturas, gerenciamento de pedidos, cobrança e faturamento.
Suporte. Defina ferramentas e processos para lidar com as solicitações de suporte.
Experiência do consumidor
A adoção da plataforma de API depende fortemente da facilidade com que os consumidores podem:
- Descobrir as APIs de que eles precisam.
- Revisar a especificação e o conteúdo técnico navegando pelo portal do desenvolvedor.
- Inscrever-se.
- Pagar pelos produtos de API selecionados.
- Comece a usar as APIs nos seus aplicativos.
Normalmente, uma experiência do consumidor é fornecida 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 do consumidor compreendem os seguintes componentes:
Catálogo de produtos (API). Crie uma experiência de mercado para usuários, anônimos e registrados.
Gerenciamento de assinatura e conta. Defina procedimentos para registrar e entrar com base nos tipos de usuários que possivelmente usarão sua API. Ofereça suporte às preferências do usuário, como o uso de provedores de identidade social existentes. Permita o gerenciamento de assinaturas por autoatendimento, serviços de ativação e desativação e pagamento de cobranças conforme faturado.
IU (interface do usuário) e UX (experiência do usuário). Identifique e defina as experiências para os canais que você oferece suporte às experiências do usuário final. Inclua recursos de vários dispositivos e vários fatores de forma, juntamente com design moderno de interface do usuário. Enriqueça a experiência por meio de estudos de usabilidade.
Considerações
Os componentes neste cenário abordam problemas de desempenho, confiabilidade e segurança.
O API Management oferece suporte ao dimensionamento automático, que expande rapidamente as funcionalidades do API Management em resposta ao crescente número de solicitações de entrada. Também é compatível com redundância de zona e implantações multirregionais para fornecer resiliência e alta disponibilidade. Para obter mais informações sobre redundância de zona, consulte Suporte de zona de disponibilidade para o Azure API Management. Para obter mais informações sobre a segurança do Gerenciamento de API, confira 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 ele, você também pode criar restrições de endereço IP.
O Azure AD B2C oferece alta disponibilidade e é dimensionado para dar suporte a centenas de milhões de usuários. O Azure AD B2C oferece 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 oferece suporte à autenticação multifator baseada em aplicativos e políticas, adicionando camadas adicionais de segurança. Para obter mais informações sobre o Azure AD B2C, confira O que é o Azure Active 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. Esse serviço ajuda você a descobrir problemas assim que eles surgem como adições à base de código. A segurança do GitHub permite que você personalize pesquisas de questões de segurança e integre mecanismos de varredura de terceiros. Para obter mais recursos e detalhes, consulte Segurança no GitHub.
Otimização de custo
Você pode desenvolver o portal do consumidor usando o plano de preços Team ou Enterprise do GitHub. Consulte a matriz de recursos para identificar qual plano melhor se adapta à sua empresa.
Para o API Management, você pode usar as camadas Standard ou Premium. Para entender melhor as diferenças entre as camadas, consulte Opções de preços do API Management.
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.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Subhajit Chatterjee | Engenheiro de Software Principal, Industry Clouds
Próximas etapas
- Monetização com o Gerenciamento de API do Azure
- Visão geral do portal do desenvolvedor no Azure API Management
- Hospedar automaticamente o portal do desenvolvedor de Gerenciamento de API
- Gateway auto-hospedado
- Indrodução ao GitHub Pages