Yuneta

./static/yuneta.png

Presenter Notes

Dominio

./static/dominio_yuneta.png

Presenter Notes

¿Qué es Yuneta?

Una herramienta que integra desarrollo y producción (DevOps)

Desarrollo:

  • Framework de desarrollo rápido de alto nivel.

Producción:

  • CLI y GUI para despliegue, monitorización y operación de aplicaciones.

Presenter Notes

Background

Expertos en:

  • Código abierto (open source)
  • No inventamos la rueda: integramos las mejores librerías de código abierto.

Sistemas Operativos:

  • Linux

Lenguajes:

  • Back-end: C
  • Front-end: Javascript
  • Utilidades: Python

Presenter Notes

Filosofía

  • Normalizamos el trabajo de desarrollo y operación
  • Para hablar el mismo lenguaje que negocio.

Describe tu sistema o negocio mediante:

  • Actores con role y/o nombre (yunos).
  • Interconecta los yunos mediante servicios (SaaS, Microservices, FaaS) y mensajes (MOP).

Distribución, potencia y fiabilidad:

  • Construye redes, distribuye los yunos en multiples nodos organizados en reinos.

Presenter Notes

Filosofía

Ley de Correspondencia o Ley de Analogía.

  • Como es arriba es abajo. Como es abajo es arriba.

Teoría de grafos.

  • Grafo: conjunto de Vertices/Aristas
  • Todo lo que se pueda describir con grafos se puede implementar con Yuneta.
./static/grafo.png

Presenter Notes

Filosofía

Arbol jerárquico de objetos dentro de un yuno.

./static/grafo_inside_yuno.png

Los objetos se comunican mediante mensajes (evento + kw json).

Presenter Notes

Filosofía

Reinos y yunos en un negocio de trazabilidad.

static/grafo_outside_yuno.png

Dentro del sistema los yunos se comunican mediante mensajes json.

Los mensajes entrantes al sistema se normalizan con un esquema json adaptado a cada negocio.

Los mensaje salientes del sistema se adaptan al periférico destino.

Presenter Notes

CLI / GUI

CLI

  • Mendiante el CLI (consola linux) podemos desplegar yunos, arrancarlos, pararlos, crear nodos nuevos, clonarlos, monitorizarlos, etc.

GUI

  • Mediante el GUI (aplicación Web) podemos monitorizar y realizar tareas básicas de operación. O complejas, depende de lo que quiera el cliente. El GUI se hace a medida del cliente.

Presenter Notes

Ambitos de aplicación

Yuneta es fundamentalmente una herramienta de comunicaciones, ideal para:

  • un mundo distribuido, interconectado, por ejemplo:

Puede integrar cualquier tecnología gracias al uso de los lenguajes C y python y el mundo open source:

Presenter Notes

Librerías en las que se basa Yuneta

Yuneta está construido principalmente sobre las siguientes librerías de código abierto:

Además de otras como:

Presenter Notes

Depliegue y Operación

Con la propia herramienta se han construido una serie de yunos standalone para facilitar el despliegue y operación de yunos.

  • yuneta_agent: Agente de reinos, se instala uno en cada nodo de Yuneta.
  • yuneta: CLI (Command Line Interface), consola para operar el nodo local o nodos remotos.
  • ybatch: Ejecuta comandos del agente en nodo local o remoto.
  • ylist: Lista los yunos corriendo en un nodo.
  • yshutdown: Apaga todos los yunos de un nodo, incluido el agente.
  • ystats: Obtiene estadísticas de un yuno local o remoto.
  • ytestconfig: Verifica un fichero de configuración json.

Presenter Notes

Reíno de utilidades

Yuneta suministra también un reino de utilidades, con yunos ciudadanos, útiles para controlar y monitorizar cada nodo:

  • emailsender: yuno para envio de emails.
  • logcenter: yuno centralizador de todos los logs del nodo.
  • statscenter: yuno capturador de datos de otros yunos del nodo, generador de estadísticas y gráficas.

Presenter Notes