Código abierto y su papel en la automatización de flujos de trabajo

Código abierto y su papel en la automatización de flujos de trabajo

El código abierto ha traído grandes beneficios a las empresas y al desarrollo de software por su flexibilidad y accesibilidad. Esto les ha permitido adaptar sus sistemas para cualquier necesidad que requieran sus empresas. En este mundo donde cada día la competencia es más grande, la agilidad de los sistemas para poder lograr lo cambios que se requieren para acomplarse a los nuevos modelos de negocio es vital. En este artículo te contamos los beneficios del uso del código abierto en la automatización de flujos de trabajo.

El éxito del código abierto

“Cada compañía es una compañía de software”, afirma Satya Nadella, CEO de Microsoft. Esto es evidente cuando se observa el tamaño de los equipos de desarrollo de software de las organizaciones. Amadeus IT Group, un líder global en la industria de viajes, tiene un equipo de desarrollo de más de 5,000 personas. Goldman Sachs tiene un ejército de 11,000 ingenieros y programadores. Ya no se trata solo de comprar e implementar software. Las organizaciones digitales de hoy buscan diferenciarse a través de un software que cumpla con los requisitos específicos de la empresa.

En este mercado impulsado por el desarrollo, el código abierto está emergiendo como la nueva norma en software empresarial. Después de un cierto escepticismo inicial, el código abierto ahora se ha extendido, y se adopta para respaldar procesos comerciales de misión crítica y está integrado en gran medida en productos comerciales. En este momento, es probable que esté ejecutando más código abierto de lo que podría pensar.

Las razones para la adoptarlo incluyen:

» Control
El código abierto puede modificarse para cualquier necesidad organizativa específica, mejorarse y compartirse en una comunidad colaborativa.

» Agilidad
El código abierto promueve los principios de la metodología ágil: colaboración abierta, transparencia, proceso simplificado, entrega frecuente, retro-alimentación inmediata. Por lo tanto, se puede cambiar fácilmente a la velocidad que requiere el negocio.

» Colaboración / Longevidad
A diferencia de las aplicaciones personalizadas, cuyo ciclo de vida depende completamente del conjunto de habilidades internas y termina cuando el conjunto de habilidades sale de la organización, el ciclo de vida de código abierto está determinado por el ecosistema que lo rodea, y cuando el ecosistema es exitoso, puede durar mucho y evolucionar rápidamente.

Sin embargo, el costo aún se cita como uno de los beneficios más significativos de adoptar el código abierto. Pero el costo del software de código abierto, exactamente como el costo del software comercial, es mucho más que el precio inicial de la licencia. Al considerar los costos, debes considerar el costo total de propiedad, que es el monto a largo plazo, e incluir los gastos adicionales asociados con el soporte y mantenimiento del software.

El costo total de propiedad de código abierto puede verse influenciado por muchos elementos, como:

» Costos del ciclo de vida del desarrollo de software
Cualquier que genere las habilidades y capacitaciones, costos de hardware y software asociados con el SDLC de código abierto.

» Costos de licencia adicionales
La comunidad puede cobrar mejoras de código abierto.

» Costos de mantenimiento adicional
El código abierto puede venir con pagos periódicos o pagos únicos.

» Costos de soporte adicionales
Se puede cobrar código abierto por consultoría y soporte técnico.

¿Qué software es el más adecuadas para el código abierto?

No hay mejores o peores. Cualquier categoría de software puede ser potencialmente adecuada para el código abierto. Si miras a tu alrededor, puedes encontrar soluciones de código abierto en sistemas operativos, es decir, Linux; infraestructuras y servidores, como, Apache, OpenStack, Ken; bases de datos, por ejemplo, MySQL, PostgreSQL; ERP, ERPNext y MixERP, y muchos más. Pero las mejores categorías de software, donde puede encontrar una gran cantidad de implementaciones de código abierto, son: lenguajes y entornos de desarrollo, big data y devops. En esas categorías están las tecnologías de nube de código abierto más populares. Algunos ejemplos son:

» Lenguajes y entornos de desarrollo
PHP, Rails, Perl, Node.js, Eclipse, etc.

» Big data
Apache Hadoop and its sub-projects Hadoop Distributed File System (HDFS), YARN, MapReduce, Spark, Hive, Impala, Kafka, Pig, etc.

» DevOps
Subversion, Jenkins, Docker, Pepino, Jazmín, Ansible, Chef, Puppet, OpenShift, Cloud Foundry, Kubernetes, etc.

El papel de el código abierto en la automatización de flujos de trabajo

¿Cuál es el papel que juega el código abierto en la automatización de flujos de trabajo y cuál es su relación con la programación de trabajo y las diciplinas de la orquestación de flujos de trabajo? Primero, como estos tres términos se usan indistintamente, voy a tratar de aclarar cuáles son las principales diferencias entre ellos.

» Las herramientas de programación de trabajos
Generalmente basadas en plataformas, automatizan y monitorean la ejecución de flujos de trabajo (es decir, scripts Linux concatenados, comandos de Windows, JCL de mainframe) activados por reglas de calendario.

» Las herramientas de automatización de flujos de trabajo
Elevan la programación de trabajos al más alto nivel, donde las aplicaciones comerciales están automatizadas en múltiples plataformas y sistemas, en un enfoque dinámico, basado en eventos y SLA.

» La orquestación del flujo de trabajo (o automatización de negocios digitales)
Representa la última evolución de la automatización. Aporta automatización a nuevos marcos y ámbitos, simplificando la complejidad del análisis de datos y brindando agilidad en la aplicación, tanto en infraestructuras locales y elásticas como temporales, multi-nube y en contenedores.

Si bien las herramientas de programación de trabajo son esenciales para impulsar la eficiencia de TI, las herramientas de orquestación de flujo de trabajo son imprescindibles para que la empresa simplifiquen la complejidad producida por la transformación digital e impulse el éxito de las iniciativas digitales.

Por esta razón, las tres disciplinas están ampliamente pobladas por implementaciones de código abierto, así como por herramientas comerciales. A continuación se muestran algunos ejemplos de implementaciones de código abierto:

» Airflow, Activeeon, Azkaban, CloudSlang, Luigi, ARM Workload Automation, SOS JobScheduler, Schedulix, Fenzo, OpenLava, Google Cloud Composer

Desarrollar vs Comprar

Elegir entre código abierto y soluciones comerciales se convierte en una pregunta de tipo desarrollo vs compra, para la cual no hay una sola respuesta o una fórmula científica disponible para el proceso de selección.

Sin embargo, puede aplicar algo de lógica a la ecuación si consideras tres puntos clave y decides cuál es tu posición sobre ellos. Estos son los tres puntos que debe considerar al tomar la decisión:

1. Cuál es la necesidad comercial
¿Qué problemas está intentando resolver? ¿Qué escenarios empresariales imagina que requieren la programación de trabajos, la automatización de la carga de trabajo o la orquestación del flujo de trabajo para tener éxito? ¿Qué tan importantes son esos escenarios para su negocio? ¿Qué capacidades son clave para implementar esos escenarios y cumplir con los requisitos reglamentarios? ¿Qué tan urgentes son los escenarios del negocio y qué tan rápido proyecta crecer?

2. Considera todos los costos
El análisis anterior formará la base para evaluar los costos y los riesgos de adoptar una solución de código abierto. Si su solución de código abierto no cubre todas sus necesidades comerciales, entonces debe realizar una evaluación de factibilidad e inversión para implementar y mantener una codificación adicional.

Por ejemplo, Airflow, Luigi, Azkaban, de código abierto se hicieron para administrar las dependencias de Hadoop y las canalizaciones de datos respectivamente, en AirBNB, Spotify y LinkedIn, todavía se están centrando en escenarios de análisis de datos. Si planea usarlos para administrar las funciones comerciales centrales, como la administración de la cadena de suministro, la facturación y las facturas, es posible que deba agregar nuevas capacidades e integrar aplicaciones además de plataformas adicionales como SAP, Oracle y mainframe.

Otro ejemplo, Schedulix y OpenLava ofrecen capacidades que caen en la categoría de programación de trabajo más que en la categoría de orquestación de flujo de trabajo. Si tiene la intención de expandir su aplicación en escenarios de Big Data o DevOps, es posible que necesite mucha codificación adicional.

La codificación adicional no es un problema en sí, de hecho, nos permite dar forma a los productos según las necesidades del negocio e impulsa la innovación y la competitividad. Sin embargo, su costo es algo que debe ser valorado, como ya se discutió al comienzo de este artículo. Además, para las soluciones de código abierto de automatización de flujos de trabajo, considere los siguientes aspectos:

» La competencia técnica en la automatización de flujos de trabajo puede ser difícil de encontrar y costosa de desarrollar.

» La salud, el crecimiento y la longevidad son requisitos clave, así que mire qué tan activa es la comunidad

» Las soluciones de código abierto requieren mucho tiempo y el tiempo puede ser decisivo para la competitividad

3. ¿Cuál es tu tolerancia al riesgo?
Los riesgos surgen cuando se subestima el costo de inversión y el código abierto no se gestiona adecuadamente. Si no explota el valor potencial de una inversión de código abierto, todas las ventajas posibles pueden convertirse en problemas, ya que, puede encontrarse con errores, riesgos de seguridad e interrupciones de los servicios comerciales.

Para las soluciones de código abierto de automatización de flujos de trabajo, considera los siguientes aspectos:

» A diferencia de los productos comerciales que han funcionado con éxito durante veinte o treinta años, las soluciones de código abierto son nuevas y conllevan un nivel de riesgo desconocido.

» Si no es compatible con un ecosistema exitoso, tu solución de código abierto apenas puede mantenerse al día con la tecnología en evolución.

» La madurez puede ser un requisito crítico para las soluciones que ejecutan sus aplicaciones comerciales en producción y, por lo tanto, tienen el mayor impacto en el valor comercial.

Conclusión

La opción de código abierto para la orquestación del flujo de trabajo debe evaluarse caso por caso. Este artículo proporciona algunos consejos para tener en cuenta en el proceso de selección.

En esta era “siempre activa” de big data y agilidad, debe buscar la orquestación del flujo de trabajo, en lugar de la automatización de flujos de trabajo o la programación del trabajo. Si te encuentras en la búsqueda de una solución comercial como resultado del análisis, considera probar BMC Control-M, su madurez operativa ha demostrado su valor en el mercado.

Las tres categorías descritas anteriormente, de programación del trabajo, automatización de flujos de trabajo y orquestación del flujo de trabajo, que se llevan a cabo individualmente por algunos proveedores, son algo simple para Control-M. Por ejemplo, es utilizado por las aerolíneas para procesar transacciones críticas en todo el mundo y por otras industrias por su innovación continua que ayuda a los clientes a lograr agilidad, orquestar canalizaciones de datos, entrenar modelos de aprendizaje automático y aplicar mantenimiento preventivo.

Comienza tu viaje hoy a través de la automatización de flujos de trabajo con INSITECH y BMC Control-M. Solicita ahora una demostración sin costo hoy mismo y automatiza los flujos de trabajo de big data para simplificar y acelerar el ciclo de vida de los datos de tu negocio.

Consulta la información original en inglés aquí.

Tipos de plataformas low-code

En el siguiente blog analizamos diferentes desafíos que atraviesan las empresas y los tipos de herramientas low-code que pueden ayudarte.

Transformación digital con ayuda de Low-Code

La transformación digital implica muchos desafíos, pero con ayuda de Low-code podemos superar estos problemas y abrir el camino para el cambio

5 consejos para elegir la suite de Gestión de Procesos de Negocio (BPM)

El enfoque de suite de gestión de procesos empresariales ayuda en el ciclo de vida de mejora de procesos como analizamos en este blog.

Plataforma de código abierto low-code, qué es y cuáles son sus ventajas

En el siguiente blog exploramos la definición de las plataformas de código abierto low-code, sus ventajas y desventajas

Plataformas no-code frente a los problemas de TI

Ingresa en nuestro blog para aprender cómo las plataformas no-code ayudan a resolver los problemas en los departamentos de TI

Características de los sistemas de low-code qué los hace mejores

En el siguiente blog hablamos sobre el impacto de los sistemas low-code en el desarrollo de aplicaciones y sus ventajas en los negocios

6 puntos clave para elegir la plataforma RAD adecuada

El siguiente blog analizamos el desarrollo de aplicaciones RAD y las características que debe tener para tu negocio.

No-code: qué es y cómo aplicarlo en el desarrollo sin código

Con la llegada de la programación no-code, diseñar las soluciones que tu empresa necesita es más fácil, descubre cómo lograrlo en este post

Los 6 principales desafíos en adquisiciones que enfrentan las empresas

En este blog analizamos los principales problemas en el área de adquisiciones que enfrentan las empresas de todos los tamaños

7 beneficios de implementar el desarrollo ciudadano

Con el desarrollo ciudadano tu empresa puede eliminar los cuellos de botella y reducir la carga de trabajo de TI. Descubre más en este blog