2026-06-02 16:47:58 +00:00
2026-06-02 16:46:19 +00:00
2026-06-02 16:47:58 +00:00
2026-06-02 16:47:58 +00:00
2026-06-02 16:47:58 +00:00
2026-06-02 16:47:58 +00:00

Cloud Conversion

Cloud Conversion es un proyecto Python para apoyar evaluaciones de migracion cloud. Descarga y transforma catalogos de precios de AWS y OCI, compara inventarios de servidores contra shapes cloud, genera archivos MATCH-* con recomendaciones y costos, y ofrece una interfaz grafica local en Streamlit para operar el pipeline sin depender de comandos manuales.

La ruta recomendada para arquitectos es la interfaz grafica. Los scripts CLI siguen disponibles para automatizacion, troubleshooting o ejecuciones controladas.

Quick Start

  1. Crear y activar ambiente virtual:
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
  1. Configurar variables opcionales:
cp .env.example .env
  1. Abrir la interfaz grafica:
streamlit run cloud_conversion_ui/Home.py
  1. En la GUI:
  • Selecciona o sube un inventario en Inventario.
  • Actualiza catalogos en Catalogos si necesitas precios recientes.
  • Ejecuta AWS Match y OCI Match en Ejecucion.
  • Revisa costos y cobertura en Dashboard.
  • Descarga CSVs, EDA y logs en Logs y Artefactos.

Flujo Operativo

Interfaz grafica

La aplicacion Streamlit vive en cloud_conversion_ui/ y usa cloud_conversion_ui/Home.py como entrada. Es el camino recomendado para uso diario porque agrupa inventarios, catalogos, ejecucion, resultados y descargas en una sola consola local.

Al ejecutar matching desde la GUI, los inventarios no se archivan automaticamente. Internamente la GUI llama los pipelines con move_to_done=False; si quieres archivar un inventario, hazlo desde la pagina Inventario.

Scripts CLI

Los scripts estan en scripts/. El pipeline AWS tipico es:

python scripts/aws_fetch_offer.py
python scripts/aws_eda.py
python scripts/aws_match.py --inventory input/inventario.xlsx --skip-llm

El pipeline OCI tipico es:

python scripts/oci_fetch_offer.py
python scripts/oci_match.py --inventory input/inventario.xlsx --skip-llm

Documentacion

Comandos Utiles

Comando Uso
streamlit run cloud_conversion_ui/Home.py Inicia la GUI local.
python scripts/aws_match.py --help Muestra parametros de AWS Match.
python scripts/oci_match.py --help Muestra parametros de OCI Match.
python scripts/cloud-chat.py --ask "Cuanto cuesta m7a.xlarge en virginia?" Consulta el catalogo AWS desde CLI.
python scripts/whatsapp_chatbot.py Inicia webhook Flask para WhatsApp Cloud Chat.
python -m pytest -q Ejecuta la suite de pruebas.

Datos y Seguridad

  • .env contiene secretos locales y no debe subirse.
  • .env.example es la plantilla segura para compartir.
  • Los datos actuales se conservan para uso interno, pero antes de publicar el repo se debe revisar sensibilidad de inventarios, clientes, precios y logs.
  • data/ puede ser grande; en este workspace pesa aproximadamente 8 GB.
  • logs/, .venv/, caches y archivos temporales estan ignorados por Git.

Validacion antes de Compartir

Ejecuta:

python -m pytest -q
python scripts/aws_match.py --help
python scripts/oci_match.py --help
python scripts/aws_eda.py --help
python scripts/cloud-chat.py --help
python scripts/whatsapp_send.py --help
streamlit run cloud_conversion_ui/Home.py

Para validar Streamlit en una VM, confirma que el navegador abre la pagina inicial y que el sidebar muestra Inventario, Catalogos, Ejecucion, Dashboard y Logs y Artefactos.

Description
Cloud Conversion es un proyecto Python para apoyar evaluaciones de migración cloud. Descarga y transforma catálogos de precios de AWS y OCI, compara inventarios de servidores contra shapes cloud, genera archivos MATCH-* con recomendaciones/costos, y además incluye un chatbot local/WhatsApp para consultar precios y capacidades de instancias.
Readme 2 MiB
Languages
Python 100%