¡Bienvenido!

¡Comparta y comente sobre contenido e ideas acerca de Ignition! Este foro está dedicado a la comunidad hispana, con el objetivo de que exista un espacio en Español. 

Inscribirse

Esta pregunta ha sido marcada
1 Responder
284 Vistas

Buenas tardes,


Nos encontramos desarrollando un proyecto en perspective para un cliente. Normalmente tenemos sesiones para revisar los avances del proyecto, sin embargo, nos gustaría poder compartir con el cliente el proyecto de manera que ellos puedan ir viendo los avances sin tener que hacer sesiones, entonces mi consulta es la siguiente: 

¿Hay alguna manera de poder compartir solamente al visualización del Launch Session con ellos para que ellos entren a ese URL y puedan visualizar el proyecto en ejecución?


Quedo atento, 


Gracias.

Avatar
Descartar

Hola Oscar, un placer saludarte.

La solución a tu predicamento va muy de la mano de las variables del contexto que concierne a las capacidades técnicas tanto propias como de tu cliente.

Por lo cual, te daré varias opciones para el despliegue de tu aplicación, y sobre todo para el acceso de la misma desde un nivel de red externo del host que alberga tu Gateway o servidor de Ignition, las cuales irán incrementando en dificultad según las capacidades técnicas de ambas partes que están involucradas en el proyecto.

  1. Despliegue y habilitación de la conexión mediante VPN a la red a la que pertenece el host que alberga el Gateway de Ignition.

    La solución consta de implementar una conexión a la red en la que se encuentra el host del Gateway de tu proyecto mediante una VPN, ya sea utilizando soluciones más configuracionales tipo software propietario para desplegar un servidor para la VPN y los clientes de este, así como implementándolo de forma personalizada en donde se requiere un mayor conocimiento a nivel de tecnologías de la información y redes de comunicación.

    Una vez desplegada la VPN, el cliente solo debe instalar el software de cliente de la VPN o configurar su host como cliente (en caso de implementar la VPN personalizada), y acceder a la red donde se hostea la aplicación desarrollada.

    El acceso a la aplicación es tan simple como acceder al Gateway y desplegar el proyecto como si se estuviera de manera presencial conectado a la red en donde se encuentra el host de esta.

    A mi parecer, esta solución es de las más utilizadas debido a los bajos requerimientos tanto de nivel técnico como de implementación.

    Esta solución es comentada y discutida por varios usuarios en el siguiente enlace:

    Open Perspective Access to the Internet

    Cabe resaltar que las siguientes dos soluciones representan un salto cuantitativo de requerimientos técnicos y de implementación.

  2. Despliegue de una unidad EC2 y una VPC AWS para hosteo de un Gateway de Ignition en la nube.

    Dejando de lado las implementaciones de Ignition a nivel local, se puede configurar, desplegar y dar acceso de internet un host en la nube para la ejecución de un Gateway de Ignition.

    Esto permitiría que el cliente acceda cuantas veces desee y necesite a la aplicación desarrollada mediante un buscador web y un enlace puntual al host, con todos los protocolos de seguridad necesarios para garantizar acceso a la aplicación por solo las partes interesadas del proyecto y eliminando vulnerabilidades mediante la robustez de una plataforma de servicios web como lo es AWS.

    Sin embargo, cabe destacar que esta solución requiere un conocimiento medio en los servicios AWS para su configuración y despliegue, lo que podría equivaler a poseer el certificado de desarrollador asociado de AWS, así como seguir los pasos indicados en la siguiente guía oficial de despliegue:

    Ignition by Inductive Automation on AWS Partner Solution Deployment Guide

    Además, si se presentará conexiones a dispositivos, habría que tomar en cuenta la seguridad para los datos de dichos dispositivos o implementar una arquitectura completa basada en servicios de AWS, como se detalla en el enlace a continuación:

    AWS Outposts Architecture

    Cabe destacar que esta solución implica un costo económico agregado, ya que Amazon carga un costo por el uso y configuración seleccionada de sus servicios y por el tiempo que esté levantada/disponible la unidad de computación en la nube EC2, por lo cual es un factor a tomar en cuenta en caso de implementar esta opción.

  3. Habilitación del acceso al host del Gateway de Ignition a nivel externo mediante Ethernet.

    Como la opción de mayor nivel de requerimientos técnicos y de implementación, se encuentra el poner disponible a nivel externo mediante Ethernet el acceso al servidor local y su información, mediante los siguientes pasos base conceptualmente:

    - Definir la IP pública en la cual se encuentra la conexión a Ethernet de la red del host del Gateway de Ignition.

    - Generar e implementar certificados SSL/TLS para el host del Gateway de Ignition y activar el redireccionamiento de HTTPS en este para garantizar el mínimo nivel de seguridad solo al acceso del Gateway de Ignition.

    - Garantizar la seguridad a todo el resto de infraestructura de red que implique acceder al host del Gateway de Ignition, ya que al abrir la red interna a nivel externo mediante Ethernet conlleva que cada punto sobre el cual se cruce para alcanzar el host deseado es un punto de vulnerabilidad y potencial brecha de seguridad latente. (Este apartado no se profundiza, ya que es meramente relacionado con la infraestructura de red que se posea y las capacidades técnicas que se posean)

    -Adquirir un nombre de dominio para el acceso de la aplicación con un enlace personalizado (si así se deseara).

    - Generar un redireccionamiento de puertos adecuado desde la IP pública hasta el host del Gateway de Ignition para el acceso desde Ethernet del host del Gateway de Ignition.

    Como se logra denotar, la complejidad de esta solución es mucho mayor, ya que requiere conocimientos de administración y seguridad de tecnologías de la información y se presentan costos asociados al necesitarse certificados provistos por entes acreditados.

Como complemento, se presentan dos opciones alternativas de colaboración en proyectos que conllevan acuerdos previos de uso de la información y desarrollo de una aplicación como servicio, además de requerimientos técnicos y de despliegue más elevados por parte del cliente:

  • Implementación de un sistema de control de versiones distribuidas como lo es git/github para la obtención de la versión más reciente de todos los archivos del Gateway de Ignition de desarrollo local hacia un Gateway de Ignition de producción del cliente.

    Este apartado se explica con detalle en los siguientes enlaces:

    Ignition Version Control
    Ignition 8 Deployment Best Practices

    Cabe destacar que esta solución implica compartir toda la información fuente de la aplicación en desarrollo con el cliente y que este ejecute, ya sea de forma manual o automatizada mediante codificación o inclusive el levantamiento de un servicio de sistema operativo, comandos para la generación de una copia fidedigna en un host local de un Gateway de Ignition.

  • Implementación de un sistema de control de versiones distribuidas como lo es git/github para la obtención de la versión más reciente del respaldo de imagen del Gateway de desarrollo local para su levantamiento en un Gateway de producción del cliente.

    Esta solución implica el levantamiento de un respaldo cada cierto tiempo, de forma manual o automatizada, de una imagen de Gateway para la visualización por parte del cliente, en un host de Gateway de Ignition propio, del avance realizado hasta la fecha en su proyecto.

Como se puede denotar, hay diversas opciones para abarcar el despliegue de una aplicación del módulo perspective para su valoración como usuario por parte de un cliente.

Cabe destacar que no se ahonda en profundidad en las soluciones planteadas, debido a que se requiere un mayor contexto del sistema a desarrollar y un nivel de personalización en la atención del caso mucho más elevado, lo cual no es el objetivo de este foro de primera mano.

Déjame saber si te es de ayuda la información brindada.

Avatar
Descartar