Cómo comprender mejor la virtualización para la automatización industrial

La virtualización permite sacar provecho en términos de escalabilidad, portabilidad, seguridad, agilidad y velocidad. Por eso resulta decisivo comprender en qué consiste la virtualización como factor clave en el desarrollo e implementación de aplicaciones industriales.

Dedicado vs virtual

Cuando se utilizan dispositivos basados en hardware dedicado para construir soluciones industriales, la situación se convierte en más compleja y más costosa. Cuando se ingenia una solución recurriendo a equipos dedicados, con el paso del tiempo las empresas se ven obligadas a invertir en más equipos. Así, cuando se llega a esa situación, se requiere un esfuerzo para encontrar modos de interconexión e integración entre los dispositivos. Algo que se convierte en una relación muy lineal, de manera que cuando se desee añadir otra función, hay que agregar otro equipo. Ante un escenario como el descrito, la virtualización aparece en escena como algo muy pertinente. Con esta tecnología se tiene acceso a equipos definidos por software que se ejecutan en plataformas de hardware comunes, de modo que cuando se quiere agregar una función, basta con agregar otra aplicación de software para extender el valor y la flexibilidad del hardware que ya se posee. La situación descrita es ideal para el entorno actual de transformación digital porque no solo se reduce la cantidad de hardware que se necesita comprar, sino que también se incrementa la agilidad y adaptabilidad, de manera que se puede responder más fácilmente a los requisitos comerciales cambiantes. Y la virtualización permite llevarlo a cabo sin grandes ciclos de extracción y reemplazo, reduciendo el bloqueo del proveedor.

De los centros de datos a la industria

Hay que reseñar que la virtualización no es algo nuevo. Se ha estado llevando a cabo en servidores y en centros de datos durante años. En el mundo de los centros de datos y los servidores, la forma en la que funciona la máquina virtual es mediante la adición de una capa de software llamada hipervisor, que se encuentra sobre una pieza de hardware informático. Un hipervisor permite que una pieza de hardware ejecute varias máquinas virtuales. Las máquinas virtuales se ubican sobre ese hipervisor para que cada máquina virtual agrupe un sistema operativo, la aplicación en sí y cualquiera de sus dependencias, bibliotecas o configuraciones necesarias para ejecutar esa aplicación. Y estas máquinas virtuales se replican fácilmente en diferentes plataformas de hardware y son fáciles de ampliar o reducir. Al relacionar este concepto con las aplicaciones industriales, la máquina virtual en el hipervisor no estaría en un centro de datos con una atmósfera controlada, sino en el borde de una red o embebido dentro de un equipo de packaging donde podría estar sujeto a temperaturas más altas y flujo de aire bajo. Y es aquí donde entra en escena el concepto de contenedores (Docker). Los contenedores son una forma más sencilla de virtualización porque comparten el sistema operativo host en lugar de replicar el sistema operativo en cada contenedor. Por lo tanto, solo se necesita un sistema operativo dentro del sistema para cada contenedor para que albergue la aplicación y sus dependencias, bibliotecas y configuraciones. Si hay bibliotecas en el sistema operativo que se comparten entre contenedores, no es necesario replicarlas en cada contenedor. Los contenedores están aislados unos de otros y del mundo exterior; se crean interconexiones a través de redes virtuales dentro de los contenedores o se conectan con el mundo exterior. Debido a que cada contenedor tiene esencialmente su propia red virtual y no tiene acceso a sockets externos u otros contenedores de forma nativa, si esta configuración se administra correctamente, el uso de contenedores puede reducir drásticamente la cantidad de vectores de ataque en la red. Operario ante una pantalla

Aspectos adicionales

Más allá de las ventajas de seguridad de los contenedores, hay otro aspecto que merece la pena destacar: la resistencia. Cuando se construye una aplicación monolítica que contiene el interfaz de usuario y las bases de datos, si una parte de esa aplicación compilada falla, todo desaparece y debe reiniciarse. Sin embargo, en un contenedor se aísla cada una de esas funciones entre sí. Esto significa que una aplicación bloqueada no desactiva toda la máquina. Solo hay que reiniciar ese contenedor en particular, que se puede configurar para que suceda automáticamente. Una ventaja adicional es el de la portabilidad. Dado que los contenedores albergan tanto a la aplicación como a sus dependencias, se pueden mover estos contenedores a través de plataformas de hardware independientemente del tipo de procesador con el que se cuente. Esto es de vital importancia en el ámbito industrial porque normalmente se diseña para ciclos de vida muy largos. Entonces, si necesita reemplazar el hardware dentro de un lustro, por ejemplo, es muy posible que no se pueda adquirir el mismo, con el mismo procesador y la misma configuración de memoria y unidades. Pero como se necesita que la aplicación se ejecute en el nuevo hardware sin problemas y sin dependencias locales, los contenedores brindan esa solución. Otra característica de la virtualización es la de la escalabilidad. Ya que los nuevos contenedores se pueden implementar virtualmente en segundos, resulta muy sencillo implementar una única solución en miles de piezas de hardware y miles de ubicaciones. De esta manera, los contenedores eliminan el problema de que la aplicación trabaje en una máquina pero no en otra, así como los ciclos de depuración asociados con la corrección de dichos problemas. La velocidad y la agilidad son otro conjunto de ventajas que ofrecen los contenedores. Si se necesita actualizar una de las aplicaciones virtualizadas en contenedores, se puede simplemente detener ese contenedor y actualizarlo sin quitar la pieza de hardware superior o el resto de las aplicaciones. O también puede ser que se quiera que las aplicaciones se actualicen siempre a la versión más reciente, o por el contrario, se prefiera que eso nunca tenga lugar y se prefiera que siempre permanezcan fijas en una versión concreta. En todo caso, todo se puede hacer con la configuración adecuada.
Share this