
Estoy muy contento de presentar finalmente Operon , el reemplazo de alto rendimiento para Ansible Engine. Operon está diseñado para grandes instalaciones y se distribuye por suscripción. Lanza libros de jugadas, módulos, complementos y herramientas de terceros sin modificaciones, utilizando un motor avanzado, aumenta significativamente el número real de nodos direccionados en una ejecución, lo que puede ahorrar horas con cada llamada.
Operon se instala por separado y junto con Ansible Engine: puede transferir gradualmente sus proyectos o usarlo en el inicio si lo desea.
A continuación se muestra un gráfico de la ejecución de 416 tareas common.yml de DebOps 0.7.2 implementadas a través de SSH:

En comparación con Clean Ansible Operon, reduce el tiempo de ejecución por nodo en aproximadamente un 60%. Pero con los lanzamientos masivos, la ventaja es mucho mayor. Eche un vistazo a cómo crece el tiempo de funcionamiento (hardware: 24 GB, Xeon E5530 de 8 núcleos; implementado en máquinas virtuales Google Cloud a través de SSH en 18 ms):

Para cada ejecución, se realizaron 416 tareas en cada nodo, incluidos los elementos de bucle. En una ejecución de 1024 nodos, se completaron 540 496 tareas en 54 minutos; rendimiento promedio: 151 tareas / segundo. La escala horizontal es obvia: casi 4 veces, de 256 a 1024 nodos.
La ejecución de Ansible de 256 nodos tuvo que cancelarse: durante un largo período de tiempo no produjo resultados, tuvo que reiniciarse muchas veces, reduciendo el número de procesos de 40 a 10 para que Ansible no agotara sus recursos de RAM. Podría haber funcionado con 13 procesos, pero tuvimos que rechazar más intentos: ya pasamos 2 días de tiempo en la máquina.
Para la ejecución final, antes de cancelar, Ansible completó el 89% de las tareas en 6 horas y 13 minutos:

Operon desplegado en todos los nodos durante cada ejecución paralela. Realizando 1024 procesos en 8 núcleos, da un aumento apenas notable en la carga, y en 24 núcleos el número de procesos crece hasta 6144. Si ejecutamos la misma cantidad de tareas en ese número de nodos, solo con 16 núcleos, pensamos que correríamos completa no en 54 minutos, sino en 27.
El consumo de memoria es muy predecible y en gran medida separado de los procesos. Con 256 procesos, Operon consume cuatro veces menos que Ansible consume con 10; Al mismo tiempo, el procesador consume al menos 15 veces menos tiempo de procesador.

Aquí la curva entra en declive: Ansible se ejecuta en 64 nodos con 40 procesos, mientras que en 256 nodos se ejecuta desde 10. Ansible se ejecuta en 256 nodos tomó 1,6 Gb / proceso; entonces, independientemente de los recursos de RAM disponibles, se ha creado una restricción severa en el paralelismo alcanzable.
Operon es un nuevo paso en el enfoque de desarrollo que debutó con Mitogen para Ansible . Hereda las mejoras masivas en el rendimiento de bajo nivel que necesitan miles de usuarios:


No solo software
La productividad es un efecto secundario del cambio cultural hacia una mayor orientación del usuario, compatibilidad e internalización de costos. Tenemos algo que mostrar, pero para que experimente plenamente el sabor del nuevo producto, me complace anunciar que habrá una garantía de sintaxis de libro de jugadas con compatibilidad directa, además de restaurar algunas construcciones de Ansible Engine obsoletas.
incluyen :
- include: "i-will-always-work.yml"
bucles "con"
- debug: msg={{item}} with_items: ["i", "will", "always", "work"]
"acciones de squash"
- apt: name: "{{item}}" with_items: ["i", "will", "always", "work"]
guiones en los nombres de los grupos
$ cat hosts [i-will-always-work.us.mycorp.com] host1
fusión de hash
# I will always work [defaults] hash_behaviour = merge
Los envíos de Operon con sintaxis compatible con Ansible 2.9 recibirán soporte continuo , y la desactivación de la sintaxis en Ansible Engine no afectará a Operon en el futuro. Tales cambios dañan las instalaciones de trabajo sin mejorar sus capacidades, y son la principal fuente de trabajo para corregir errores durante las actualizaciones.
Con el tiempo, esta garantía se extiende a la semántica del motor y más allá.
¿Cómo unirse?
Inicialmente, Operon se distribuirá con el apoyo de Network Genomics , y esta es una experiencia y un compromiso con un servicio que no obtendrá en ningún otro lugar. Si su equipo está atrapado en la trampa de la implementación o está cansado de arreglar actualizaciones durante años, considere solicitar una evaluación y, sin demora, escríbame un correo electrónico para cualquier pregunta y puntos incomprensibles.
El mejor software está en el dominio público, por lo que se realizará un lanzamiento público cuando podamos proporcionar un cierto nivel de soporte gratuito. Suscríbase a nuestro boletín para estar informado a tiempo sobre futuras versiones.
¿Operon mejorará el rendimiento de Windows?
Si Si tienes problemas de rendimiento durante tus implementaciones de Windows, solo mantente atento por ahora.
¿Operon mejorará el rendimiento del dispositivo de red?
Si Operon presenta un rediseño arquitectónico que se extiende mucho más allá de la capa de transporte y es igualmente aplicable a todo tipo de conexiones.
¿Operon es una rama de Ansible?
No Operon es una reescritura incremental del motor, un pequeño componente de aproximadamente 60k líneas de código, de las cuales aproximadamente una cuarta parte han sido reemplazadas. Cada instalación de Ansible incluye aproximadamente 715k líneas, de las cuales la gran mayoría, como Operon, son compatibles de forma independiente con la gran comunidad de Ansible.
¿Mejorará Operon Ansible Engine?
Si Operon ya está promoviendo una mejora dentro de Ansible Engine, y dado que es un refinamiento, existe un incentivo para hacer una contribución, para corregir el código cuando sea necesario.
¿Es gratuito Operon?
Si Operon se lanza bajo la misma GPL que Ansible, y puede usar libremente el código de esta licencia.
¿Operon rompe la compatibilidad?
No Operon no viola la compatibilidad con el conjunto estándar de módulos, interfaces de plug-in o el ecosistema Ansible circundante, y no planea violarlo. Compatibilidad: en primer lugar: no debe quedarse atrás en futuras mejoras, así como olvidarse de la compatibilidad con versiones anteriores, como la estabilidad mejorada de la sintaxis del libro de jugadas.
¿Necesito Operon si tengo planes para un solo nodo?
Operon asegurará la competitividad continua de las habilidades en las que ha invertido tanto. Ofrece una mayor flexibilidad que antes simplemente no existía: libertad para elegir un motor. Con Operon, ganas, incluso si no lo usas directamente.