Planificación
Introducción
Puedes usar OpenFn como un servicio en la nube seguro, estable y escalable, o desplegarlo localmente, con opciones administradas y no administradas. Sea cual sea el camino que elijas, puedes configurar OpenFn para que ningún dato sensible se guarde fuera de las fronteras de tu país.
Gracias a la especificación de portabilidad de OpenFn y a sus herramientas de despliegue de código abierto, puedes pasar de una de estas opciones a otra en cualquier momento. Nos comprometemos a que no dependas de ningún proveedor (no vendor lock-in).
| Opción | Nube gratuita | OpenFn Cloud | Dedicada | Hazlo tú mismo (DIY) |
|---|---|---|---|---|
| Descripción | Pasa a producción hoy mismo en OpenFn.org con proyectos de pequeña escala | Aumenta o reduce la escala y paga solo lo que necesitas | Una instalación de OpenFn dedicada y sin restricciones en cualquier parte del mundo, en nuestros servidores o en los tuyos | Despliega y administra tus propias soluciones con OpenFn |
| Licencia | Gratis para siempre, con límites de uso | Planes SaaS, con SLA personalizados disponibles | Despliegue en tu infraestructura en niveles definidos (consulta más abajo); contacta a enterprise@openfn.org | Úsalo libremente en cualquier solución, pero todas las obras derivadas tienen que ser de código abierto (LGPLv3) |
| Ubicación | Infraestructura en la nube global y segura | Infraestructura en la nube global y segura | Infraestructura local (en el país) o global | Donde quieras |
| Despliegue | Haz clic para empezar en OpenFn.org | Haz clic para empezar en OpenFn.org | Contacta a enterprise@openfn.org | Lee esta página de la documentación y visita nuestro GitHub |
| Soporte | Da y recibe soporte a través de la comunidad | Varios niveles a través de support@openfn.org | Varios niveles a través de support@openfn.org | Da y recibe soporte a través de la comunidad |
Elijas la opción que elijas, puedes configurarla por tu cuenta, trabajar con un implementador certificado o con el equipo principal de OpenFn.
Despliegue local con OpenFn
Si quieres que OpenFn te ayude a desplegar en tu propia infraestructura, en general te aconsejamos pensar en tres niveles. Funcionan como una escalera: empieza con un piloto, demuestra que la integración funciona y luego sube de nivel a medida que tu equipo tenga capacidad.
Todos los niveles dan por hecho un entorno de ejecución de contenedores que funcione (Docker Engine o Kubernetes), que tu equipo proporciona antes de que empiece el despliegue. Si todavía no puedes aprovisionar y operar hosts de Docker o un clúster de Kubernetes, empieza por resolver esa carencia, por ejemplo, con un socio de implementación local.
| Docker Pilot | Resilient Production | Integrated Production | |
|---|---|---|---|
| Propósito | Demostrar que OpenFn puede mover datos reales entre tus sistemas reales | Una plataforma de producción basada en los patrones estándar de OpenFn | OpenFn conectado a las herramientas operativas que ya usas |
| Entorno de ejecución | Un solo host de Docker que tú proporcionas | Docker Engine en 2 o más nodos, o tu clúster de Kubernetes | Tu stack de producción |
| Alta disponibilidad | No | Sí | Sí |
| Lo opera | OpenFn, mientras dura el piloto | Tu equipo | Tu equipo |
| Alcance | Fijo | Fijo | Se define tras una fase de descubrimiento |
Docker Pilot
Un despliegue de nivel de desarrollo y por tiempo limitado, cuyo único objetivo
es confirmar que la integración funciona en tu entorno. Incluye un solo host de
Docker (el tuyo), Postgres en un contenedor, el monitoreo predeterminado de
OpenFn, los secretos en un archivo .env, el correo a través de Mailgun o de tu
servidor SMTP actual, un manual de operaciones (runbook) basado en la plantilla
estándar de OpenFn y la capacitación Deployment 101.
El piloto se ejecuta en un solo host sin redundancia: si ese host falla, el servicio queda caído hasta que se restablece. Eso es aceptable para una prueba por tiempo limitado, pero no para producción.
Resilient Production
La opción predeterminada para producción. Varias instancias de cada servicio de OpenFn se ejecutan en dos o más nodos, así que la plataforma sigue disponible si falla un servidor o un contenedor. Incluye copias de seguridad con procedimientos de restauración probados, monitoreo y alertas según los patrones estándar de OpenFn, administración de secretos con una opción estándar compatible con tu entorno de ejecución, una forma de actualizar y revertir, y un manual de operaciones completo para producción.
Antes de elegir este nivel, define qué persona o equipo va a operar la plataforma. Debería tener ya aplicaciones en contenedores en ejecución.
Integrated Production
Todo lo de Resilient Production, más la integración con tus propias herramientas de monitoreo y alertas (por ejemplo, Prometheus, Grafana, Datadog), tu gestor de secretos (por ejemplo, HashiCorp Vault, AWS Secrets Manager), tus pipelines de CI/CD y tus procesos de control de cambios. Como este trabajo depende de tu entorno, su alcance se define solo después de una fase de descubrimiento.
Qué recibes
Todos los niveles terminan con un repositorio de GitHub para el despliegue, con la configuración de OpenFn, la documentación técnica de traspaso, la capacitación Deployment 101 y un manual de operaciones. Los niveles de producción agregan un informe de verificación de copias de seguridad y restauración; Integrated Production agrega documentación de integración a medida y un informe de descubrimiento y alcance.
Si tu equipo va a necesitar ayuda continua para operar la plataforma después del traspaso, contacta a enterprise@openfn.org.
Ejemplo de plan de despliegue local
Tus requisitos serán distintos, pero este es un ejemplo de plan para lograr un despliegue local a gran escala y con datos muy sensibles.
Si estás considerando una implementación de OpenFn a gran escala o con datos muy sensibles en servidores locales o administrados por el gobierno, podrías:
- Ejecutar una prueba de concepto, un prototipo o una solución en producción por tiempo limitado con el servicio en la nube mientras determinas si se ajusta a tus necesidades y qué valor aporta. (Es una forma más segura, más barata y más rápida de demostrar el valor y la viabilidad de la solución en sí). Si el piloto tiene que ejecutarse en tu propia infraestructura, usa en su lugar un Docker Pilot por tiempo limitado.
- Mientras se ejecuta la primera fase, evaluar el valor y empezar los
preparativos:
- Evalúa el valor de la solución en sí: ¿resuelve los problemas que esperabas?
- Evalúa tus requisitos de residencia de datos: ¿necesitas ejecutar esta solución en el país?
- Evalúa la capacidad de DevOps de tu equipo: ¿cómo van otros despliegues locales de bienes públicos digitales (DPG)?
- Evalúa la infraestructura de cómputo, almacenamiento y redes de tu país: ¿qué opciones* hay disponibles para servidores y conectividad de red?
- Determina si lo mejor para tu ministerio es una solución en la nube de "persistencia cero" o una solución desplegada localmente: con los datos anteriores, haz un análisis de costo-beneficio de ambas opciones.
- Trabajar con OpenFn.org o con un socio certificado para practicar el despliegue, la migración, la reversión, el reinicio, las copias de seguridad, etc. Un Docker Pilot es un buen entorno para hacerlo.
- Con las herramientas de portabilidad de OpenFn, ejecutar una copia local de tu solución alojada en la nube para evaluar si tu despliegue local está listo.
- Establecer con OpenFn un protocolo de conmutación por error para "pasar a
la nube" en el caso de los sistemas críticos.
- ¿Con qué frecuencia se debería respaldar la configuración de la implementación (no los datos sensibles) en la nube alojada por OpenFn.org?
- ¿A qué credenciales o entornos de prueba debería tener acceso la copia de seguridad en la nube?
- Establece un plan para cambiar entre la nube y el despliegue local.
- Establecer un contrato de soporte con proveedores locales certificados por OpenFn o con el equipo principal de OpenFn para que te ayuden a mantener el despliegue local si surgen problemas.
- Pasar por completo a tu despliegue local y mantener la capacidad de dar soporte a tu solución o de volver a desplegarla en otros servidores en la nube o locales.
- Supervisar y ajustar tu estrategia cuando haga falta, a medida que evolucionan los requisitos de uso y de soberanía de datos de tu país.
*Visita la página Requisitos para obtener más información sobre las especificaciones de servidor recomendadas.
Pasar de la nube a un despliegue local
Si planeas una implementación autoalojada, te recomendamos desarrollar y probar la solución inicial en el SaaS de OpenFn (quizás en un plan gratuito) y luego exportarla para usarla en un despliegue local de Lightning.
Así, el implementador puede concentrarse en resolver los requisitos de negocio y técnicos de la automatización antes de asumir los costos del despliegue. Concéntrate en la solución, no en el despliegue. Después, cuando hayas hecho el piloto, hayas demostrado su valor y estés listo para escalarla, puedes migrar tu solución de OpenFn a un despliegue local de Lightning.
Recorrido de un usuario de OpenFn desplegado localmente
- Crea y prueba tus workflows en OpenFn.org.
- Exporta tu proyecto de OpenFn como código con el botón "export" o con la CLI de despliegue.
- Despliega tu instancia local de OpenFn/Lightning.
- Importa tu proyecto (del paso 2) a tu instancia local de OpenFn/Lightning con la CLI de despliegue.
- Vuelve a configurar tus credenciales (los secretos de las credenciales no se incluyen en la exportación).
- Prueba tu proyecto desplegado localmente.
Guías técnicas
Para ver las instrucciones detalladas de despliegue, visita el repositorio de Lightning en GitHub y presta especial atención a:
- Getting Started
- Deployment notes (cifrado, workers, correo, almacenamiento y variables de entorno)
- Workers
- Benchmarking tooling