Files
Cloud-Conversion/docs/UI_GUIDE.md
2026-06-02 16:46:19 +00:00

4.3 KiB

Guia de la Interfaz Grafica

La interfaz grafica de Cloud Conversion es una aplicacion Streamlit multipagina. Es la ruta recomendada para arquitectos porque permite operar el pipeline completo desde una consola local.

Iniciar

Desde la raiz del proyecto:

source .venv/bin/activate
streamlit run cloud_conversion_ui/Home.py

Entrada principal:

cloud_conversion_ui/Home.py

Paginas:

cloud_conversion_ui/pages/01_Inventario.py
cloud_conversion_ui/pages/02_Catalogos.py
cloud_conversion_ui/pages/03_Ejecucion.py
cloud_conversion_ui/pages/04_Dashboard.py
cloud_conversion_ui/pages/05_Logs_Artefactos.py

Home

Muestra resumen de los ultimos artefactos disponibles:

  • Total mensual AWS.
  • Total mensual OCI.
  • Porcentaje de ahorro.
  • Cobertura de matching.
  • Accesos a artefactos recientes.

Si no existen salidas recientes, los indicadores pueden aparecer en cero.

Inventario

Permite dos formas de seleccionar inventario:

  • Subir archivo CSV, XLS o XLSX.
  • Elegir un archivo existente en input/.

Los uploads se guardan en:

input/gui_uploads/

El nombre se normaliza y recibe timestamp, por ejemplo:

input/gui_uploads/20260602_002922_inventario-sbc1.xlsx

El inventario activo queda en st.session_state["selected_inventory_path"]. Si quieres archivarlo despues de usarlo, usa Archivar en input/done.

Catalogos

Muestra estado de catalogos y permite actualizar precios:

Boton Resultado
AWS Fetch Descarga el offer AWS EC2 en data/raw/aws/index.json.
AWS EDA Genera data/catalog/aws/aws_ec2_catalog.csv y reporte Markdown en data/eda/aws/.
OCI Fetch Descarga productos OCI y genera data/catalog/oci/oci_price_list.csv.

Requiere acceso de red para descargar precios.

Ejecucion

Ejecuta los pipelines sobre el inventario activo.

Parametros AWS

  • Region AWS, default us-east-1.
  • Sistema operativo global opcional.
  • Tenancy, default Shared.
  • Unidad, default Hrs.
  • Modelo LLM, default llama3.1:8b.
  • Skip LLM para evitar Ollama.
  • Force LLM para forzar mapeo por LLM.
  • Incluir generaciones anteriores.
  • Incluir capacidad no usada.
  • Prioridad de familia y familia M preferida.
  • Max CPU ratio para familia M.

Parametros OCI

  • Modelo LLM, default llama3.1:8b.
  • Skip LLM para evitar Ollama.
  • Force LLM para forzar mapeo por LLM.
  • Compute series, default E.
  • Compute generation fija opcional.
  • Horas por mes, default 730.

Diferencia importante contra CLI

La GUI llama aws_match.run(...) y oci_match.run(...) con:

move_to_done=False

Esto evita mover el inventario despues de AWS Match y permite ejecutar OCI Match sobre el mismo archivo. En CLI, los scripts pueden mover inventarios exitosos a input/done/ por default.

Dashboard

Lee los ultimos CSVs MATCH-AWS-*.csv y MATCH-OCI-*.csv para mostrar:

  • Costo mensual AWS.
  • Costo mensual OCI.
  • Ahorro porcentual.
  • Cobertura de filas AWS con status MATCH.
  • Tabla de recomendaciones AWS.
  • Resumen BOM OCI.

El dashboard toma los ultimos artefactos por fecha de modificacion. Si necesitas comparar un inventario especifico, genera primero ambos MATCH-* desde la pagina Ejecucion.

Logs y Artefactos

Muestra:

  • Ultimas lineas del log diario logs/log_cloud_conversion_YYYYMMDD.txt.
  • CSVs AWS Match.
  • CSVs OCI Match.
  • Reportes AWS EDA.
  • Logs descargables.

Los botones Descargar entregan el archivo generado desde disco local.

Servicios internos de la GUI

Modulo Responsabilidad
cloud_conversion_ui/services/inventory_files.py Listar, subir y archivar inventarios.
cloud_conversion_ui/services/pipeline_runner.py Ejecutar pasos AWS/OCI y capturar stdout/stderr.
cloud_conversion_ui/services/dashboard_data.py Leer CSVs y calcular metricas comparativas.
cloud_conversion_ui/services/artifacts.py Encontrar artefactos recientes y logs.

Recomendaciones de uso

  • Ejecuta AWS Match y OCI Match sobre el mismo inventario antes de revisar el dashboard.
  • Usa Skip LLM si no tienes Ollama instalado.
  • Actualiza catalogos solo cuando necesites precios recientes; AWS raw puede ser grande.
  • Descarga los artefactos desde Logs y Artefactos para compartir resultados.
  • No expongas Streamlit publicamente sin controles de red o autenticacion externa.