Diseño de experiencias excelentes para desarrolladores de API con API Management y GitHub

Azure App Service
Azure Private Link
Azure Virtual Network

Como publicador de API, necesita un sitio web que las comercialice de forma eficaz y ayude a los clientes a distinguir las ofertas. Una vez seleccionadas las API, debe poder proporcionar acceso solo a los usuarios autenticados, administrar el consumo y entregar facturas de uso precisas. En este escenario de ejemplo, se muestra cómo puede usar el servicio de Azure GitHub crear una plataforma que haga todo esto y mucho más.

Arquitectura

Diagrama de los componentes de esta arquitectura y del flujo de trabajo a través de los portales de Internet y los servicios de Azure que constituyen la solución, incluyendo Microsoft Entra B 2 C, Azure API Management, la pasarela API y los servicios de línea de negocio.

Descargue un archivo de PowerPoint de esta arquitectura.

Flujo de datos

La solución consta principalmente de los siguientes bloques de creación:

  • API de back-end rentabilizadasc y Puerta de enlace de API. En el centro de la solución, está el conjunto de API de back-end que se rentabilizan. Los consumidores, como los usuarios, las aplicaciones y los dispositivos, acceden a la plataforma de API a través de una puerta de enlace de API. La puerta de enlace limita las solicitudes y regula la velocidad según sea necesario.

  • Portal de consumidores y aplicaciones. Los consumidores de la plataforma de API examinan las ofertas de API, se registran y, a continuación, generan claves de suscripción para acceder a los distintos puntos de conexión de API. Pueden actualizar la información de sus cuentas y facturación mediante las características de administración de cuentas de la solución.

  • Portales administrativos y aplicaciones. Los administradores de la plataforma publican la lista de productos de API, sus precios y los planes de tarifa. Estos portales también ofrecen análisis completos del uso de los distintos productos de API, que ayudan a solucionar problemas y ofrecer servicios de soporte técnico.

  • Servicios de línea de negocio. Estos servicios son necesarios para ofrecer las funcionalidades de los portales y las aplicaciones de consumidor, y para hacer posible los distintos recorridos del usuario que se admiten en la solución.

  • Motor de cálculo de cargos y seguimiento del consumo de API. Los informes de consumo de API, capturados en la capa de puerta de enlace de API, se exportan periódicamente a un almacén de datos independiente. Los trabajos programados se ejecutan con estos datos para calcular los cargos que se aplican a cualquier cuenta de consumidor, en función de su lista de suscripciones y del modelo de precios asociado.

La secuencia de procesamiento de esta solución fluye de la siguiente manera:

  1. El publicador de API importa las especificaciones de API mediante Azure Portal, las agrupa por producto y las publica.

  2. El publicador de API actualiza la información de marketing relacionada con el producto en el repositorio de GitHub correspondiente.

  3. El consumidor de API accede al portal de Marketplace, examina los distintos productos y selecciona un servicio de API específico.

  4. Cuando el consumidor intenta ver más información sobre el servicio de API, el portal de consumidores redirige al consumidor al portal para desarrolladores mejorado, que se hospeda en GitHub y usa GitHub Pages.

  5. El consumidor puede examinar diferentes especificaciones de API, información sobre el desarrollador e, incluso, intentar invocar un punto de conexión mediante una carga de ejemplo.

  6. El consumidor se registra en la plataforma y, a continuación, activa una suscripción para el servicio de API determinado que le interesa usar.

  7. El consumidor hace uso del servicio de API en sus aplicaciones o dispositivos.

  8. La invocación de la API genera métricas de uso y consumo, que Azure almacena en bases de datos de seguimiento.

  9. Los datos de consumo se exportan y guardan periódicamente en una base de datos personalizada, normalmente un lago de datos, para su posterior análisis.

  10. Un trabajo de back-end calcula los cargos a partir de los datos de consumo y las distintas suscripciones.

  11. La información relacionada con la factura y el pago se almacena en la base de datos de contabilidad. Esta información se usa para calcular los ingresos del servicio.

Componentes

La solución se compone de las siguientes ofertas de software como servicio (SaaS):

  • Azure API Management es una plataforma administrada como servicio que permite a las organizaciones publicar API para consumidores internos y externos. Con API Management, puede publicar API que se pueden hospedar en cualquier lugar. Básicamente, API Management permite desacoplar el hospedaje de API de la puerta de enlace publicada, que actúa como punto de entrada único para todo el catálogo de API que su empresa publica. Para más información, consulte Patrón de enrutamiento de puertas de enlace.

    Azure API Management también proporciona una capa de gobernanza sobre todas las API publicadas. Con las directivas de API Management, puede usar otras funcionalidades, como límites de velocidad y cuotas, para limitar las solicitudes de API basadas en una clave o suscripción. API Management incluye un portal para desarrolladores, que proporciona un sitio web totalmente personalizable que sirve como documentación de las API que publique a través de él.

  • GitHub es una popular oferta de SaaS de Microsoft que los desarrolladores usan con frecuencia para crear, enviar y mantener sus proyectos de software. Proporciona características importantes que puede usar en soluciones:

  • Azure App Service, una plataforma de proceso totalmente administrada para hospedar aplicaciones web personalizadas.

  • Azure Active Directory B2C (Azure AD B2C) es una extensión de Microsoft Entra ID que la aplicación puede usar para administrar identidades externas de clientes o partners con fines de acceso y autorización. Puede usar la plataforma de identificación de Microsoft para integrar fácilmente la identidad y la autorización en las aplicaciones personalizadas.

Detalles del escenario

El éxito y la adopción de cualquier plataforma de API depende en gran medida de lo bien considerada que esté en Marketplace. Además de los recursos digitales que ofrece la plataforma, la facilidad de búsqueda y uso de las API influye mucho en que los clientes usen una plataforma. Los clientes deben poder encontrar documentación y recibir soporte técnico en caso de problemas. La plataforma también debe facilitar la contribución de la comunidad para ayudar a los clientes a ajustar sus API a sus necesidades. Como publicador de API, necesita un sitio web que las comercialice de forma eficaz y ayude a los clientes a distinguir las ofertas. Una vez seleccionadas las API, debe poder proporcionar acceso solo a los usuarios autenticados, administrar el consumo y entregar facturas de uso precisas. En este escenario de ejemplo, se muestra cómo puede usar el servicio de Azure GitHub crear una plataforma que haga todo esto y mucho más.

Posibles casos de uso

Puede usar esta solución para facilitar a los desarrolladores de API lo siguiente:

  • Descubrir y comprender sus ofertas de productos de API.
  • Suscribirse a las distintas aplicaciones y canales, e integrarse en ellas.
  • Obtener ayuda y solucionar problemas.
  • Promover la contribución de la comunidad e intercambiar ideas y conocimientos.

Cadena de valores de API

Diagrama que describe la cadena de valor API.

En la parte superior de la cadena de valores se encuentra el proveedor de servicios de API. A continuación, se encuentran los consumidores o integradores de API, que diseñan y crean las experiencias para los posibles consumidores de destino. Los usuarios finales y los clientes son los últimos beneficiarios de la cadena de valor.

La experiencia del desarrollador de API

Diagrama de las características y capacidades de la experiencia mejorada del desarrollador de API.

Descargue un archivo de PowerPoint de este diagrama.

La experiencia del desarrollador de API incluye tres portales:

  • Portal para consumidores. El portal para consumidores actúa como un sitio web de marketing que muestra los distintos productos de API que ofrece la empresa.

  • Portal para desarrolladores. El portal para desarrolladores proporciona a los desarrolladores de terceros documentación sobre los distintos servicios de API y cómo usarlos en sus aplicaciones.

  • Portal de cuentas. Los usuarios registrados administran sus suscripciones y realizan otras actividades relacionadas con la cuenta en el portal de cuentas.

Requisitos funcionales

De forma genérica, los requisitos funcionales de una plataforma de API empresarial se clasifican en tres categorías: productización, administración de la plataforma y experiencias del consumidor.

Diagrama que muestra tres amplios requisitos funcionales de una plataforma API a escala empresarial.

En las secciones siguientes, se describen con más detalle las funcionalidades de cada área de características.

Productización

El objetivo de la productización es identificar y definir las API rentabilizadas, su administración y una estrategia para venderlas como productos digitales. Como resultado, abarca:

  • Funcionalidades, como la identificación de variantes de los productos y su correspondiente asignación a los recursos físicos.
  • Definición de los planes de precios y tarifas, junto con los metadatos necesarios.
  • Contenido que se debe crear para impulsar la experiencia del consumidor.

La productización consta de las siguientes funcionalidades:

  • Productos de API. Este catálogo de API está disponible para los consumidores. Se puede ofrecer un producto para su compra o como un servicio gratuito.

  • Variantes. La experiencia del desarrollador debe identificar las variantes de cualquier producto de API que se rentabilice.

  • Planes de precios. Defina los distintos planes de precios para que sean atractivos para los consumidores.

  • Taxonomía y contenido. Defina y cree el contenido (texto, PDF, imágenes, entre otros) necesario para la estrategia de marketing de estos productos de API.

  • Recursos físicos. Esto comprende los servicios en la nube reales que forman parte del producto de API específico, y su administración del ciclo de vida correspondiente. Tenga en cuenta el costo de las operaciones de mantenimiento de estos servicios a la hora de establecer los planes de precios.

Administración de la plataforma

La administración de la plataforma se centra en el hospedaje, la administración y la gobernanza generales de la plataforma de API. También proporciona una solución integral de administración de las distintas aplicaciones y servicios de línea de negocio. Las principales áreas son la administración de suscripciones y la facturación. La administración de la plataforma también permite obtener información y análisis para presentar el estado general del servicio, incluidos sus aspectos financieros y operativos.

La administración de la plataforma consta de las siguientes funcionalidades:

  • Registro de usuarios. Identifique cómo se registran los usuarios en la plataforma. Defina los flujos de trabajo de aprobación necesarios, en función del segmento de usuarios.

  • Catálogo de API. Identifique los recursos de API que se publican a través de API Management. Aplique directivas para controlar el acceso y el uso de las API. Administre las suscripciones de los usuarios.

  • Información y análisis. Capture los datos de telemetría para generar distintas métricas. Visualice los datos en distintos paneles, como Power BI, para extraer las conclusiones necesarias para los responsables de la toma de decisiones de la empresa y de TI.

  • Facturación. Defina los flujos de trabajo relacionados con las suscripciones, la administración de pedidos y la facturación.

  • Soporte técnico. Establezca herramientas y procesos para controlar las solicitudes de soporte técnico.

Experiencia del consumidor

La adopción de la plataforma de API depende en gran medida de la facilidad con la que los consumidores puedan hacer lo siguiente:

  • Descubrir las API que necesitan.
  • Revisar las especificaciones y el contenido técnico en el portal para desarrolladores.
  • Registrarse para suscribirse.
  • Pagar por los productos de API que seleccionó.
  • Empezar a usar las API en sus aplicaciones.

Normalmente, una experiencia de consumidor se entrega a través de un portal web, una aplicación móvil o ambos. Puede usar Azure AD B2C para facilitar el registro de los usuarios y la administración de identidades. Azure AD B2C incluye compatibilidad con proveedores de identidades openID, como Microsoft y Google.

Las experiencias de consumidor incluyen los siguientes componentes:

  • Catálogo de productos (API). Cree una experiencia de Marketplace para los usuarios, tanto anónimos como registrados.

  • Administración de cuentas y suscripciones. Establezca procedimientos para registrarse e iniciar sesión en función de los tipos de usuarios que espera usar la API. Acepte las preferencias de los usuarios, como el uso de proveedores de identidades sociales existentes. Habilite un modo de autoservicio para la administración de suscripciones, los servicios de activación y desactivación, y el pago de los cargos facturados.

  • Interfaz de usuario (UI), experiencia del usuario (UX). Identifique y defina las experiencias de los canales que admita para las experiencias del usuario final. Incluya funcionalidades multidispositivo, autenticación multifactor y un diseño moderno de la interfaz de usuario. Enriquezca la experiencia mediante estudios de facilidad de uso.

Consideraciones

Los componentes de este escenario abordan problemas de rendimiento, confiabilidad y seguridad.

API Management admite escalado automático, que expande rápidamente las funcionalidades de API Management en respuesta al aumento del número de solicitudes entrantes. API Management también admite redundancia de zona e implementaciones multirregión para proporcionar resistencia y alta disponibilidad. Para más información sobre la redundancia de zona, consulte Compatibilidad con la zona de disponibilidad para Azure API Management. Para obtener más información sobre la seguridad de API Management, consulte Línea de base de seguridad de Azure para API Management.

App Service es una plataforma como servicio totalmente administrada que incluye seguridad integrada y escalado automático, con un Acuerdo de Nivel de Servicio que ofrece alta disponibilidad. App Service cumple las normas ISO, SOC y PCI, y admite la autenticación de usuarios con cuentas de Microsoft Entra ID, Google, Facebook, Twitter o Microsoft. Con App Service, también puede crear restricciones de direcciones IP.

Azure AD B2C ofrece alta disponibilidad y escalado para admitir cientos de millones de usuarios. Azure AD B2C admite OpenID Connect y diversos proveedores de identidades, para que los clientes puedan elegir su proveedor preferido. Azure AD B2C también admite la autenticación multifactor basada en aplicaciones y basada en directivas, lo que agrega capas de seguridad adicionales. Para más información sobre Azure AD B2C, consulte ¿Qué es Azure Active Directory B2C? Para más información sobre el uso de identidades externas, consulte Microsoft Entra ID External Identities.

GitHub incorpora las revisiones de seguridad como una parte automatizada de las revisiones de código, y analiza cada nuevo commit en busca de posibles problemas de seguridad. Este servicio ayuda a detectar problemas en cuanto se ofrecen como adiciones a la base de código. La seguridad de GitHub permite personalizar las búsquedas de problemas de seguridad e integrar motores de análisis de terceros. Para más características y detalles, consulte Seguridad en GitHub.

Optimización de costos

Puede desarrollar el portal de consumidores con el plan de precios Team o Enterprisede GitHub. Consulte el cuadro de características para identificar qué plan se adapta mejor a su empresa.

Para API Management, puede usar los niveles de servicio Estándar o Prémium. Para comprender mejor las diferencias entre los niveles, consulte Opciones de precios de API Management.

Para Azure App Service, consulte las opciones de precios que están disponibles para los entornos Windows y Linux para hospedar sus aplicaciones.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Pasos siguientes