11 Dic APIs en la transformación digital
Como parte de la transformación digital, las organizaciones necesitan comunicarse con sus clientes de forma multicanal, integrando un ecosistema servicios y nuevas tecnologías, como son tecnologías de nube, aplicaciones móviles, aplicaciones web, conectarse con la comunidad de desarrolladores, hacer uso de las redes sociales, conectarse con socios de negocio y otras divisiones de la organización y hasta conectarse con dispositivos con las nuevas tecnologías de internet de las cosas.
Para lograr esta conexión, hay retos que se tienen que afrontar:
- Poder habilitar la exposición información de aplicaciones legadas
- Exponer fuera de la organización la información de la organización de forma segura
- Administrar el ciclo de vida de las API
- Reducir el tiempo y costo de la creación de APIs, combinado con un adecuado monitoreo del desempeño y seguridad, para poder obtener calidad y cumplimiento, por lo que se debe de tener:
- La habilidad de integrar diversos sistemas, como middelware, bases de datos, por medio de protocolos de adaptación, mediación y transformación.
- Agregar datos de diversas fuentes: integrar BD SQL y no SQL con accesos de datos detallados y flexibles para poder desplegar y escalar de acuerdo a las arquitecturas del negocio.
- Integrar y orquestar sistemas basados en nube y on-premise
- Generar de forma rápida APIs REST de múltiples fuentes de datos con procesamiento lógico para aplicar las reglas del negocio en las llamadas de las APIs.
Beneficios y ventajas de utilizar APIs
- Mas productos y servicios para los usuarios: en la medida que las APIs son utilizadas por desarrolladores, partners y clientes, se pueden tener más servicios hacía los usuarios liberando presión de TI.
- Habilitar funcionalidades existentes en nuevos servicios por medio de las APIs
- Al liberar las APIs, los partner pueden personalizar los servicios de acuerdo a las demandas de los usuarios
- Las APIs aceleran la velocidad de desarrollo de las aplicaciones
- Son los building blocks de la transformación digital
- Como ejemplo, expedia genera 90% de su revenue por medio da APIs, eBay con un 60%
- Las organizaciones líderes del futuro serán las que adopten APIs para crear soluciones integradas
- Utilizando el ecosistema de APIs de redes sociales o de servicios actuales, se puede enriquecer los servicios que se prestan a los ciudadanos.
- Las APIs deben de hacer más fácil la vida de los desarrolladores
Caracteristicas de las APIs
- Aplicaciones multicanal, cualquier dispositivo desde PCs hasta relojes
- Any time, any place, any device
- Una pieza de software que se comunica con otra que requiere la ejecución de una función o servicio previamente definida
- El uso más común de una API es en el desarrollo de aplicaciones móviles, para múltiples plataformas de plataformas específicas como IOS, Windows, etc..
- Web APIs, cambian lo anterior porque pueden ser agnósticas a la plataforma y ser accedida vía internet, lo que implica que cualquier plataforma puede acceder a la misma funcionalidad, no importa donde corra la APP
Ciclo de vida de las APIs
Dentro del ciclo de vida de las APIs se consideran:
- Monitoreo
- Definición
- Diseño
- Despliegue
- Promoción
- Protección
- Optimización
Con el monitoreo se deben de poder responder preguntas como, quien está consumiendo mis APIs, y que tan frecuente lo hacen, que APIs cumplen con las metas de la organización, identificar problemas de latencia, poder saber si las APIs escalaran en picos de demanda, todo esto se contesta con analitics, por lo que se debe de proporcionar:
- Análisis de desempeño: velocidad de la transacción, disponibilidad, latencia
- Análisis de negocio: uso y consumo de socios externos y desarrolladores
- Análisis de la experiencia de la aplicación: métricas del uso de la app, revenue generado en el ciclo de vida de la app
La seguridad y las APIs
Para los desarrolladores APIM representa una forma segura, estable y escalable de acceder a la información y back end
En la seguridad de las APIs, se puede aplicar single sign-on en las aplicaciones, y acceso privilegiado de usuarios, esto puede incluir:
- Detección de amenazas y neutralización de vulnerabilidad como son SQL injections, cross-site scripting y DoS
- Acceso controlado con SSO y manejo de la identidad
- Proteger desde el front-end hasta el back end , acceso controlado en todos los touch points
- Acceso a los datos de forma simplificada y controlada,
- por naturaleza las APIs nos son seguras, se debe de asegurar que las APIs no comprometan la información sensible, y que solo los usuarios, app y dispositivos autorizados pueden acceder las APIs por medio de los controles apropiados. Se puede utilizar encriptación, una robusta autenticación y manejo de riesgos
El API Gateway ayuda a dar orden y control en términos de seguridad a las APIs, resolviendo los riesgos asociados a tener una gran cantidad de servicios donde la seguridad puede ser un problema.
Para no comprometer la seguridad del sistema, se recomienda asegurar la invocación de los endpoints APIs de los microservicios utilizando un API Gateway.
Impacto de las APIs por cada roll dentro de la organización.
- Ejecutivos:
- representa una estrategia para lanzar nuevos productos, dan seguimiento a la planeación y reveneu de las APIs, ROI.
- API owners/product managers:
- roadmaps y determinar las prioridades de las APIs
- Arquitectos empresariales:
- provee las herramientas para modelar, diseñar, optimizar y dar forma a las integraciones críticas entre infraestructura legada y moderna.
- Desarrolladores:
- representa una forma estable y segura, así como escalable a los sistemas en la nube y on premise, para liberar APIs rápidamente.
- Seguridad:
- Proveen protección de amenazas avanzada, encriptación de datos, autenticación,
- Grupo de soporte a las APIs:
- monitoreo avanzado para asegurar el óptimo acceso a las APIs
Implementando las APIs
Aplicar APIs solo donde se agrega valor
Se debe de asegurar que son claras y que proveen valor, cada nueva API debe de tener al menos un usuario para asegurar que se diseñó en base a una necesidad concreta.
Planear y construir para un largo plazo:
Las APIs pueden ser utilizadas muchos años, se debe de mantener la mínima cantidad de APIs, se deben de hacer con calidad
Enfocarse en los desarrolladores:
los desarrolladores son la audiencia objetivo de tus APIs, se debe de maximizar la productividad del desarrollador, se deben de soportar, seguimiento a problemas y resolverlos
Escalabilidad, seguridad y desempeño:
se debe de asegurar que no se compromete la confianza de los clientes, solo los usuarios autorizados deben de tener acceso a las APIs,
La integración de la información con APIs
Reducir el tiempo y costo de la creación de APIs, combinado con un adecuado monitoreo del desempeño y seguridad, para poder obtener calidad y cumplimiento, por lo que se debe de tener:
- La habilidad de integrar diversos sistemas, como middelware, bases de datos, por medio de protocolos de adaptación, mediación y transformación.
- Agregar datos de diversas fuentes: integrar BD SQL y no SQL con accesos de datos detallados y flexibles para poder desplegar y escalar de acuerdo a las arquitecturas del negocio.
- Integrar y orquestar sistemas basados en nube y on-premise
- Generar de forma rápida APIs REST de múltiples fuentes de datos con procesamiento lógico para aplicar las reglas del negocio en las llamadas de las APIs.
Etapas de madurez en la implementación de las APIs en la organización
- Servicios digitales
- Integración de partners
- Generación de infraestructura para partners
- Construir un ecosistema
APIs y microservicios
Los microservicios como tal no tienen todo el valor hasta que se comunican entre ellos por medio de su interfaz o API, en donde encontramos dos casos:
- Orientadas a los mensajes
- Adoptando la arquitectura orientada a Mensajes, los desarrolladores pueden exponer puntos de entrada generales a un componente por ejemplo una IP y puerto y recibir mensajes con tareas específicas.
- Se pueden utilizar JSON sobre HTTP para comunicar a los clientes externos, internamente se puede utilizar AVRO, PROTOBUF, THRIFT sobre TCP/IP
- Hypermedia-driven
- En etas instancias el mensaje enviado entre componentes contiene más que datos, contiene descripciones de posibles acciones.
Diseño de microservicios orientados a las capacidades y no a los datos: Por su misma naturaleza las APIs esconden los detalles de la implementación de los servicios, ejemplo ventas y contabilidad necesitan acceder a una tabla que contiene el tipo de cambio, si lo realizamos de otra forma y el tipo de cambio es un tercer servicio, de esta forma escondemos la arquitectura del tercer servicio y podemos actualizar la base de datos de SQL a Casandra sin que los usuarios lo noten.
Monitoreo y alertamiento
Aunque la arquitectura de microservicios trae muchos beneficios, también trae consigo muchas partes movibles a diferencia de una aplicación monolítica
Se necesita saber si los microservicios están saludables, no solo si están corriendo, por ejemplo, si responden en cierto puerto o URL inclusive que respondan a un health check.
Se puede implementar un health check basado en push, el servicio es responsable para verificar periódicamente.
Una vez que los health check están implementados, se pueden instalar un plug in como Consul alerts para que envíe notificaciones a los departamentos de manejo de incidentes.
Sorry, the comment form is closed at this time.