¿Cuál es la diferencia entre orquestación y automatización?

Durante mucho tiempo, parecía que lo único que le importaba a cualquier administrador de sistemas era la automatización. Recientemente, sin embargo, el mantra parece haber cambiado de la automatización a la orquestación, lo que lleva a muchos administradores perplejos a preguntarse: "¿Cuál es la diferencia?"

La diferencia entre la automatización y la orquestación radica principalmente en la intención y las herramientas. Técnicamente, la automatización puede considerarse un subconjunto de la orquestación. Mientras que la orquestación sugiere muchas partes móviles, la automatización generalmente se refiere a una sola actividad o a un pequeño número de actividades fuertemente relacionadas. La orquestación trabaja a un nivel superior y se espera que tome decisiones basadas en condiciones y requisitos cambiantes.

Sin embargo, este punto de vista no debe tomarse demasiado literalmente porque ambos términos:automatización Y orquestación—Tiene implicaciones cuando se usa. Los resultados de ambos son funcionalmente los mismos: las cosas suceden sin su intervención directa. Pero la forma en que logra estos resultados y las herramientas que usa para lograrlos son diferentes, o al menos los términos se usan de manera diferente según las herramientas que haya usado.

Por ejemplo, la automatización generalmente implica secuencias de comandos, a menudo en Bash o Python o similares, y a menudo sugiere programar algo para que suceda en un momento específico o en función de un evento específico. Sin embargo, la orquestación a menudo comienza con una aplicación creada específicamente para una variedad de actividades que pueden ocurrir de manera errática, bajo demanda o como resultado de cualquier cantidad de eventos desencadenantes, y los resultados exactos también pueden depender de una variedad de condiciones.

Índice

    Orquestación y toma de decisiones de TI

    La automatización sugiere que un administrador de sistemas ha inventado un sistema para hacer que un ordenador haga algo que normalmente tendría que hacerse manualmente. En la automatización, el administrador del sistema ya ha tomado la mayoría de las decisiones sobre lo que se debe hacer y todo lo que el ordenador debe hacer es ejecutar una "receta" de tareas.

    La orquestación sugiere que un administrador de sistemas ha configurado un sistema para hacer algo por sí mismo en función de un conjunto de reglas, parámetros y observaciones. En orquestación, el administrador del sistema conoce el resultado final deseado, pero deja que el ordenador decida qué hacer.

    Considere Ansible y Bash. Bash es un popular lenguaje de script y shell utilizado por los administradores de sistemas para hacer casi todo lo que hacen durante un día de trabajo determinado. La automatización con Bash es simple: en lugar de escribir comandos en una sesión interactiva, los escribe en un documento de texto y guarda el archivo como un script de shell. Bash ejecuta el script de shell, ejecutando cada comando en sucesión. Hay espacio para algunas decisiones condicionales, pero por lo general no es más complejo que simples declaraciones si-entonces, cada una de las cuales debe codificarse en el script.

    Ansible, por otro lado, utiliza libros de jugadas en los que un administrador del sistema describe el estado deseado del ordenador. Enumere los requisitos que deben cumplirse antes de que Ansible pueda considerar el trabajo realizado. Cuando se ejecuta Ansible, toma medidas según el estado actual del ordenador frente al estado deseado, según el sistema operativo del ordenador, etc. Un libro de jugadas no contiene comandos específicos, sino que deja esas decisiones en manos de Ansible.

    Por supuesto, es particularmente revelador que se haga referencia a Ansible como una herramienta de automatización, no como una herramienta de orquestación. La diferencia puede ser sutil y los términos definitivamente se superponen.

    Orquestación y la nube

    Suponga que necesita convertir un tipo de archivo que sus usuarios cargan regularmente en su servidor.

    La solución manual sería verificar el contenido cargado en un directorio todas las mañanas, abrir el archivo y luego guardarlo en un formato diferente. Esta solución es lenta, ineficiente y probablemente solo podría ocurrir una vez cada 24 horas porque es una persona ocupada.

    [Read next: How to explain orchestration]

    Podrías automatizar la tarea. Si hiciera eso, podría escribir un script PHP o Node.js para detectar cuándo se cargó un archivo. El script realizará la conversión y enviará una advertencia o creará una entrada de registro para confirmar que la conversión se realizó correctamente. Podría mejorar la secuencia de comandos con el tiempo para permitir que los usuarios interactúen con el proceso de carga y conversión.

    Si tuviera que orquestar el proceso, podría comenzar con una aplicación en su lugar. Su aplicación personalizada estaría diseñada para aceptar y convertir archivos. Podría ejecutar la aplicación en un contenedor en la nube y, con OpenShift, podría lanzar instancias adicionales de su aplicación cuando el tráfico o la carga de trabajo superen un cierto umbral.

    Automatización y orquestación del aprendizaje.

    No existe una única disciplina para la automatización o la orquestación. Estas son prácticas generales que se aplican a muchas tareas diferentes en muchas industrias diferentes. Sin embargo, el primer paso para aprender es dominar la tecnología que debe orquestar y automatizar. Es difícil orquestar (de forma segura) el escalado de una serie de servidores web si no comprende cómo funciona un servidor web, qué puertos deben estar abiertos o cerrados, o qué puerto es. Básicamente, es posible que usted no sea la persona que abre los puertos o configura el servidor; es posible que tenga la tarea de administrar OpenShift sin saber realmente o preocuparse por lo que hay dentro de un contenedor. Pero los conceptos básicos son importantes porque se aplican ampliamente a la usabilidad, la resolución de problemas y la seguridad.

    También necesita familiarizarse con las herramientas más comunes del mundo de la orquestación y la automatización. aprende un poco Intento, comience a usar Git y diseñe algunos ganchos de Git, aprenda algo de Python, siéntase cómodo YAML y Ansible, y prueba Minikube, OK, Y OpenShift.

    La orquestación y la automatización son habilidades importantes, tanto para hacer que su trabajo sea más eficiente como para aportar a su equipo. Invierte en él hoy y duplícalo mañana.

    Artículos de interés

    Subir