
[03/06/2019] Por sí misma, una aplicación o un sitio web no puede hacer mucho. Es cuando trabaja en conjunto con otros servicios, que se vuelve verdaderamente poderoso. IFTTT -for If This Then That- popularizó la unión de múltiples sitios web y servicios en flujos de trabajo basados en eventos, que casi todo el mundo podría utilizar.
IFTTT no es el único que puede proporcionar esta facilidad, especialmente si es un programador. Aquí hay cinco ofertas -tres servicios alojados y dos proyectos de código abierto- que proporcionan integraciones de tipo IFTTT, tanto para desarrolladores independientes como para desarrolladores que trabajan en entornos empresariales.
Zapier
Zapier se parece mucho a IFTTT. Puede elegir entre un catálogo de más de mil servicios disponibles, elegir acciones de un servicio que sirvan de desencadenante y, a continuación, conectarlo a acciones de otros servicios, utilizando una interfaz de usuario similar a un diagrama de flujo. El mayor inconveniente de Zapier es que aún es bastante nuevo, ya que algunas funciones e integraciones siguen sin ser entregadas.
Zapier cuenta con una amplia lista de integraciones específicas de la empresa y centradas en el desarrollador: GitHub, Slack, OneDrive, Monday, Trello. Navegue por la categoría de herramientas para desarrolladores y lo más probable es que encuentre casi todas las herramientas que ya utiliza, así como algunas que no conocía.
Algunas integraciones están disponibles solo para usuarios Premium, como AWS Lambda, pero la gran mayoría (incluyendo las mencionadas anteriormente) pueden ser accedidas en el nivel libre. Otras integraciones están todavía en beta, como Okta o CloudBoost. Y hay otras que están planeadas, pero aún no están disponibles, como Code Climate, CircleCI, Amazon RedShift y Active Directory.
El hecho de que Zapier sea atractivo para los desarrolladores no significa que sea críptico. Cada etapa de una integración va acompañada de instrucciones claras, y cada paso puede ser probado para asegurar que se comporta como se espera, antes de pasar al siguiente paso. Algunas integraciones tienen soporte para partidas o arrays (por ejemplo, una aplicación de facturación), aunque esa variedad de soporte sigue siendo limitada.
Las cuentas de pago desbloquean varios tipos de funciones. A menos que compre un plan de equipo o de empresa, estará limitado a un cierto número de integraciones. Por ejemplo, el plan "Profesional" de 50 dólares permite 50 integraciones. La lógica condicional para integraciones, o integraciones con más de dos pasos, también se limita a los planes pagados. El plan de equipo de 250 dólares por mes lo desbloquea todo. Dicho esto, algunas funciones de nivel empresarial, como el inicio de sesión único y los registros de auditoría, aún no están disponibles.
Tray
"Clics, no código" es el eslogan de Tray. Es apropiado, dado que gran parte de su campo son integraciones para usuarios no técnicos en ventas, soporte y marketing. Pero Tray también tiene muchas integraciones para programadores, y sus casos de uso centrados en el desarrollador incluyen webhooks, integración de API, integración de bases de datos e incrustación de aplicaciones.
Las integraciones de Tray se pueden activar manualmente, de forma programada o a través de un servicio o webhooks web. Muchas integraciones están disponibles como plantillas, y pueden ser reutilizadas tal cual o modificadas. Las integraciones son todas de varios pasos y se crean con un editor de flujo de trabajo, esencialmente un creador de diagramas de flujo gráficos. Si solo aplica una plantilla tal cual, no necesita utilizar el editor de flujo de trabajo.
El precio comienza en 595 dólares por mes, para dos flujos de trabajo y usuarios ilimitados. Los planes empresariales, con características como inicio de sesión único y registro/auditoría, no tienen un precio fijo, pero se personalizan para cada implementación. Un nuevo nivel de precios "incrustado" proporciona una personalización profunda y centrada en el desarrollador a través de las APIs de GraphQL.
StackStorm
StackStorm es un proyecto de código abierto, escrito en Python y diseñado explícitamente en la línea de IFTTT. Los sensores registran los eventos que pueden disparar desencadenantes de acciones, controlados por reglas, combinados en flujos de trabajo y gestionados con controles de auditoría. Los grupos de integraciones pueden agruparse como paquetes y ponerse a disposición de otros para su reutilización.
Esta última característica le da a StackStorm un sabor distintivo de proyecto comunitario. Un intercambio en línea enumera todas las integraciones contribuidas por la comunidad disponibles para StackStorm, instalables a través de una herramienta de línea de comandos tipo npm.
Docenas de integraciones listas para usar cubren muchos casos comunes de uso de desarrolladores: repositorios de código (GitHub, Bitbucket, Gitlab), gestión de configuración (Ansible, Chef, Puppet), notificaciones (Slack), CI (Circle CI, Jenkins), servicios en nube (AWS, Azure, Google), infraestructura local (Kubernetes, Active Directory), y muchos más.
Existen múltiples opciones para configurar StackStorm en sus propios sistemas. Puede utilizar un script de instalación que se ejecute en la mayoría de las distribuciones de Linux compatibles, o extraer un contenedor Docker, o ejecutar un playbook Ansible o un módulo Puppet. Puede desplegar un gráfico de Helm para ejecutar StackStorm en Kubernetes con alta disponibilidad. O si quiere la máxima personalización, puede configurar las cosas a mano.
Además del producto de código abierto StackStorm, licenciado bajo la licencia Apache Versión 2, hay disponible una edición empresarial con soporte profesional y herramientas de composición de flujos de trabajo de alto nivel. Puede probar la edición Enterprise gratis durante 90 días.
Microsoft Connectors
Microsoft ofrece su propio tipo de encarnación de IFTTT, llamado Connectors, utilizado para crear integraciones para tres ofertas diferentes de Microsoft: Microsoft Flow, PowerApps y Logic Apps. Aunque estos tres productos están dirigidos a mercados diferentes, utilizan una lista común de integraciones y conectores.
Los más destacados de los aproximadamente 250 conectores de Microsoft son para productos de Microsoft como Office, OneDrive y Azure, pero también hay integraciones para algunos otros servicios orientados a desarrolladores: GitHub, Slack, PagerDuty, Trello, Jira, Azure Service Bus y Basecamp. Faltan las integraciones para las herramientas de gestión de configuración como Chef, Puppet, Salt y Ansible, pero puede enrollar sus propios conectores con un poco de esfuerzo.
Microsoft Flow es el más orientado al usuario final, y el más expresamente diseñado para asemejarse a IFTTT. Los flujos, o integraciones de servicios con la lógica, se crean utilizando una interfaz web o una aplicación móvil. Sin embargo, no hay una manera directa de crear su propio conector. Además, aunque Flow tiene un nivel gratuito, algunas de sus integraciones están disponibles solo en el nivel de pago, que comienza en cinco dólares por usuario y mes.
PowerApps es el sistema de creación de aplicaciones de código bajo de Microsoft para aplicaciones empresariales personalizadas, más avanzado que Flow, pero menos oneroso para un desarrollador que la creación manual de todo. PowerApps le permite utilizar el ecosistema de Connector para integrar diferentes servicios. De nuevo, si lo que necesitas no está en la lista de integraciones, puedes crearlo usted mismo con algo de trabajo.
Azure Logic Apps, la más avanzada de las tres, está pensada para desarrolladores que construyen herramientas empresariales en Azure. Proporciona herramientas más sofisticadas que Flow para crear integraciones. El modelo de precios también es diferente. Como ocurre con otros servicios cloud, las aplicaciones de Logic se facturan por llamada y no por usuario. Además, según Flow, algunos conectores -principalmente los de los sistemas empresariales- están disponibles solo como complementos de primera calidad.
Huginn
Huginn -denominado así por uno de los cuervos que se sentaba sobre los hombros de Odín y le informaba de los acontecimientos del mundo- es un proyecto de código abierto escrito en Ruby. Entre el amplio conjunto de funciones de Huginn, proporciona integraciones ("agentes") profundamente personalizables entre una gran cantidad de servicios comunes. Sus mayores desventajas son que usted mismo necesita hospedarlo, y requiere cierta experiencia con Ruby para que sea totalmente útil.
Sin embargo, es fácil de desplegar en un contenedor Docker, y hay instrucciones disponibles para guiarlo a través de la configuración en entornos como DigitalOcean o un clúster Docker. Los agentes proporcionados con Huginn incluyen no solo integraciones con servicios, sino también tareas básicas como el análisis de JSON o CSV, la recepción de webhooks de fuentes o la comprobación del estado HTTP de una URL determinada. Muchos de los servicios integrados con Huginn se centran en el desarrollador: Jira, Slack, Basecamp, Amazon S3, etc. Cuando no se dispone de una integración específica, normalmente se puede recurrir a una de las integraciones más generales de Huginn (por ejemplo, un webhook).
El Wiki de Huginn en GitHub proporciona todo tipo de información útil sobre cómo trabajar con el proyecto. Las guías de configuración, tanto para expertos como para principiantes, explican los pasos necesarios para producir un servidor Huginn en ejecución, configurar aplicaciones OAuth y crear nuevos agentes.
Serdar Yegulalp, InfoWorld (EE.UU.)