Está en la página 1de 28

API Owner

Arquitectura

Escuela de APIs
Todos los derechos reservados.
Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Rafael Granados
{
"Name": "Rafael Granados ",
"email": "rgranadosd@gmail.com",
"job": "API Product Manager",
"Hashtags": [
"Passionate Api & Cloud ",
"Open Source Lover ",
"Tecky ",
”Retrocomputer addict ",
"Speaker "
],
"Social Networks": {
"LinkedIn": "https://www.linkedin.com/in/rafagranados/",
"Twitter": "@rgranadosd"
}
}

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Todos los derechos reservados.
Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Índice Activo de
negocio
{ API }

Desarrollador
Equipo de App Usuari
proveedor Aplicaciones s o
de APIs final

• EL ROLE DE LA ARQUITECTURA
• API MANAGEMENT SYSTEM
• API SOBRE KUBERNETES (PAAS)
• TIPOS DE APIS
• DEFINICIÓN DE APIS
• MICROSERVICIOS
• CAPACIDADES
• MONITORIZACIÓN
• CRITERIO SELECCIÓN API
MANAGER
• PRINCIPALES PLAYERS
• BIBLIOGRAFIA

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
ROL ARQUITECTURA APIs

Alta disponibilidad Automatización Alta cohesión y bajo acoplamiento


Escalabilidad Mantenibilidad Eficiencia
Observabilidad Seguridad
Baja latencia Reutilización

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
ROL ARQUITECTURA APIs IV

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
API MANAGEMENT SYSTEM

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
APS - API GATEWAY
API GATEWAY - API MANAGER - API PORTAL

La pieza fundamental de un API


Management:

• Expone las APIs


• Intermediario entre los
consumidores y los backends.
• Controla las peticiones
• Transforma mensajes
• Ejecuta políticas y valida la
seguridad.
• Genera logs y trazas.

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
APS - API MANAGER I
API GATEWAY - API MANAGER - API PORTAL

○ Publicación: Expone las APIs en el componente API Gateway


definiendo su endpoint.
○ Edición: Herramienta para el diseño de la interfaz de la API.
○ Gestor del ciclo de vida: Permite gestionar los diferentes
estados por lo que pasa una API, así como su versión o
deprecación.
○ Gestor de políticas de uso: Herramienta para la configuración
de reglas de uso tales como pay per use, SLAs, QA, etc.
○ Consumo: Monitorización del uso de las APIs y sistema de
configuración de alertas según los parámetros de consumo.
○ Gestor de políticas de seguridad: Gestiona todas la
configuración de seguridad de una API.

○ Monetización: En base a consumos

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
APS- API MANAGER II
Componentes estándar en API Managers

API
Monitoring y API Provider
API Consumer Analytics API Manager • Administran ciclo de vida de
• Descubren, prueban y Developer (UI) APIs
usan APIs de la empresa. Portal (UI) • Diseñan e implementan APIs.
• Crean aplicaciones que • Monitoreo de uso de APIs
se integran a las APIs.

API Gateway

• Fuentes de datos a nivel


• Canales digitales, Apps y Identity empresarial
Access
aplicaciones de terceros • Cores, aplicaciones
Managem
que interactúan con las ent legadas, recursos
APIs tecnológicos.
DevOps
( Developer
Toolkit)

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
APS – API MANAGER II

API Management:

Pieza o conjunto de piezas que


permite gestionar las APIs de
una compañía

Un API Manager debe soportar


estas capacidades.

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
APS - API PORTAL
API GATEWAY - API MANAGER - API PORTAL
1. Comunidad de desarrollo: Publicaciones de noticias y comentarios
referentes al uso, configuración, errores y soluciones de las APIs
publicadas.

2. Discovery: Buscador de API registradas en el sistema, con varios


filtros de consulta como estado, versión, mejor valoración, etc.

3. APIs Store: donde se localizan las API publicadas, accesos directos


a las comunidades de consumidores, herramientas de testing,
monitorización, recomendaciones de usuarios, etc.

4.Testing: Sistema integrado de testeo de cada API.

5. Documentación: Repositorio de documentación referente a las


APIs publicadas.

6. Estadísticas de uso: Sistemas de monitorización y análisis desde


la perspectiva del consumidor: timming, status…

7. Subscripción: En portales externos

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DISEÑO ARQUITECTURA KUBERNETES
Receta I

Diseño de un Integration Gateway

Propósito

• Tráfico B2B desde y hacia internet

Receta

• Capa de aislamiento para todas las aplicaciones y servicios


fuera del PAAS
• Se necesita una BBDD para mantener la configuración entro
los nodos
• Se utiliza Redis como cache para la autenticación y no hacer
la llamada al IdP en cada petición

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DISEÑO ARQUITECTURA KUBERNETES II
Receta II

Diseño de un PaaS APIGateway

Propósito
• Acceso desde y hacia los servicios que esta en el PaaS

Receta

• Distribución hibrida (control plane / data plane)


• CONTROL PLANE son los unos componentes que interactúan con la
BBDD Central y admiten la Administración de la API
• DATA PLANE son los nodos que manejan las solicitudes y obtienen la
configuración desde el CP
• Se necesita BBDD para mantener la configuración entre los
nodos
• Se utiliza redis como cache para auth

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Cómo podemos clasificar a las APIs
Es recomendable definir un modelo estructurado de exposición de las APIs

Experiencia
APIs de Canal / Experiencia
Destinadas a mejorar la experiencia de usuario

Negocio
APIs de Negocio APIs de propósito general, promueven funcionalidad
agnóstica en toda la organización

Técnica
APIs Técnicas Funcionalidad técnica reutilizable. Integración a
plataformas

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
TIPOS DE APIs I
Antes de seleccionar una plataforma, Es importante definir que estilos de API usar:

Ejemplo: REST Ejemplo: REST + links Ejemplo: GraphQL Ejemplo: GRPC, SOAP Ejemplo: MQ, pub/sub

El estilo más usado en las Madurez en URI Style. Modelo de datos estructurado Colección de funciones que Colección de eventos que
APIs. Colección de recursos Colección de recursos que se puede consultar y pueden ser invocadas pueden ser publicados por
que permiten diversos tipos interconectados al igual que actualizar con un lenguaje de remotamente proveedores y pueden ser
de interacción. los recursos en la Web. consulta genérico. suscritos por consumidores.

Ventajas: Ventajas: Ventajas: Ventajas:


Ventajas:
Muchas herramientas de Mejora el descubrimiento de Flexibilidad para el Optimiza comunicaciones
Se basan en un patrón
desarrollo, patrones muy recursos y redirecciones. consumidor, eficiencia en la punto a punto, reduciendo
asíncrono. Alto
intuitivos. integración. latencia y tamaño del mensaje
desacoplamiento.
Limitaciones:
Limitaciones: Clientes difíciles de construir. Limitaciones: Limitaciones:
Limitaciones:
No hay un estándar definido. Mensajes con demasiado Las consultas complejas Pocas herramientas de
Complicado manejo de
información. dificultan el desarrollo de desarrollo, no soporta caché.
transaccionalidad.
manera exponencial.

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
TIPOS DE APIS II

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DEFINICIÓN API. REST

{
"car": {
"vin": "KNDJT2A23A7703818",
"make": "kia",
"model": "soul",
"year": 2010,
"links": {
"service": "/cars/KNDJT2A23A7703818/service",
"sell": "/cars/KNDJT2A23A7703818/sell",
"clean": "/cars/KNDJT2A23A7703818/sell"
}
}
}

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DEFINICIÓN API. GraphQL

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DEFINICIÓN API. gRPC

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
DEFINICIÓN API

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
MICROSERVICIOS

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor. 22
CAPACIDADES
Administración Exposición de API Identidad
y Operaciones Protección y acceso
Autorización y Seguridad (OWASP Throttling
TLS
Ciclo de vida de autenticación Top 10)
APIs Administración
Cuotas y planes de de usuarios y
CORS Ruteo
uso roles
Diseño y
mockups de Versionado y Redacción y
APIs Logging Caching Manejo de errores
deprecado Documentación

Implementación Composición de Definición de Conversión de


Pruebas de APIs Balanceo de carga
y definición de APIs modelos formato
políticas de uso
Federación de
Servicios de capacidad de negocio identificación
Portal de APIs

Transformación de
Orquestación Validación de data
Monitoreo y data
Analytics
Conversión de Tiempo de ejecución Administración
Conectividad
Monetización y protocolo compartido de acceso
cobro por uso de
APIs

DevOps
Desarrollo Testing Despliegue
Integración Continua Code Review
colaborativo automatizado automatizado

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
MONITORIZACIÓN

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Criterios para elegir un API Manager
La elección depende de los criterios definidos por la organización y debe estar alineado a su estrategia de negocio y de TI

Despliegue Licenciamiento Capacidades Servicios

• OpenSource • API Manager • Soporte


Pago por elementos • API Gateway • Consultoría y capacitación
Pago por soporte • Developer Portal • Comunidad de desarrolladores
• API Monitoring y Analytics
• Pago por uso • Automatización (CLI, APIs)
• Catálogo de APIs
• Por rango de peticiones • Soporta estándares de industria.
• Conectores, utilitarios
• Por licencia • Integración con otras plataformas
de APIs

Self Hosted

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Principales API Managers
Existen diversas alternativas de API Management en el mercado…

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Bibliografía

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.
Facebook
ApiAddicts

DATOS DE in
Linkedin
API Addicts

CONTACTO Twitter
@APIAddicts

Meet Up
+34 91 764 79 82 API Addicts

contacta@apiaddicts.org
Youtube
www.apiaddicts.org API Addicts

Todos los derechos reservados.


Se encuentra prohibida la reproducción total o parcial de este documento, salvo autorización expresa del autor.

También podría gustarte