Simulación, Emulación o Virtualización en el proceso de Desarrollo para Canales de Venta

Antecedentes 

  • Proceso de Desarrollo. 
  • Auditoria, SOX.
  • Generar evidencias

Conceptos

Virtualización

Es una implementación (mediante software y hardware) que puede representar un sistema físico complejo (invitado) para ser contenido dentro de otro sistema (huésped) de mayor capacidad de procesamiento, memoria y almacenamiento y que permite el control del sistema invitado.

Ejemplos en aplicaciones POS, canal presencial:

  • Integración Continua para Desarrollo.
  • Pruebas Unitarias.
  • Generar flujos de entradas de información.

Simulación

Es obtener mediante un sistema basado en una caja de arena (sandbox), que se encuentra autocontenido para representar a un sistema físico mediante un modelo abstracto, el ámbito de operación de un simulador es solo en las fronteras definidas para el modelo (sandbox). Un simulador no es un emulador ya que el primero no puede reemplazar un sistema real, el segundo si.

Un ejemplo de ello, son los simuladores de vuelo usados por los pilotos de avión, "simulan" un vuelo pero no te trasladan realmente de un lugar a otro, por lo que no reemplazan un avión.

Emulación

Es un sistema que puede reemplazar por completo o parcialmente a un sistema real, permitiendo las mismas actividades realizadas por un sistema real.

La emulación entra a trabajar con foco en el punto final de la cadena, donde confluye todo y se necesita garantizar que opere todo sobre equipamiento real. La emulación nace de la necesidad de poder automatizar (controlar y monitorear) dispositivos o equipamiento, para eliminar trabajo manual.

Integración Continua (CI) y el proceso de desarrollo

Misión de Desarrollo:

  • Construir componentes de SW que cumple con los requerimientos del negocio.
  • Pruebas unitarias de desarrollo, funcionalidades específicas.
  • Probar flujos.
  • Generar flujos de entrada de información.

Pruebas QA y Canales de Venta Presencial

Misión de QA: 

  • Asegurar la calidad de los sistemas a productivo.
  • Rendimiento, el hardware, el software, usabilidad.
  • Múltiples formatos, configuraciones de hardware, sistema operativo, aplicaciones, look and feel.
  • Captar el tiempo de respuesta, rendimiento, el hardware, el software, usabilidad.
  • Sistemas de pagos electrónicos, Pinpad y móviles, promociones, membresías.
  • Probar el conjunto de componentes que permiten el proceso de venta en los canales de venta.
  • Realizar pruebas en ambientes reales.
  • Solución a aquellos que probar en términos reales.
  • 80/20 de las configuraciones.
  • No incluye teclado corto y largo.

Delivery (CD) y Canales de Venta Presencial 

Misión del Delivery:

  • Realizar deploy de aplicaciones a las tiendas de forma segura.

Conclusion

Cada uno de los conceptos presentados tienen aplicabilidad según el objetivo buscado.

La virtualización y simulación suenan atractivos desde el punto de vista de CI/CD pero carece de peso en pruebas en ambientes reales donde el rendimiento, el hardware y la misma usabilidad pueden jugar en contra, también carecen de fortaleza en un ecosistema de distintos sistemas que deben interactuar entre sí para generar un resultado final, la venta exitosa y experiencia grata. Ambas son abstracciones que suelen tener valor para la agilidad en el proceso de desarrollo pero que aplicable a un punto de venta final como un POS o un SCO pueden dejar al debe algunos aspectos y ahí es donde la emulación tiene su fuerte.

La virtualización muchas veces requiere tener hardware que soporte incorporar varios sistemas virtualizados en un solo ambiente (hypervisor), por lo cual es un equipamiento que tiene características muy superiores a los sistemas que se van a virtualizar (procesamiento, memoria y almacenamiento), por lo que en términos de costos este puede superar fácilmente la suma de los sistemas reales a virtualizar, sin mencionar que virtualizar tiene puede llegar a tener un límite si no se piensa en tener la infraestructura de gigantes como AWS, Google Cloud, Oracle y otros. Es cierto que su flexibilidad es muy atractiva pero no soluciona todo.

En cuanto a la simulación, tal como su nombre lo describe “simula” por lo que puede ser usado como referencia para una prueba de tipo unitaria o de ámbito rápido para desarrollo, pero no garantiza la operatividad con equipamiento real, ya que muchas veces los simuladores no usan los canales formales de comunicación de los equipos reales o no interactúan con todos los sistemas en una cadena de procesos.

La emulación entra a trabajar con foco en el punto final de la cadena, donde confluye todo y se necesita garantizar que opere todo sobre equipamiento real. La emulación nace de la necesidad de poder automatizar (controlar y monitorear) dispositivos o equipamiento, para eliminar trabajo manual.

Simulación, Emulación o Virtualización en el proceso de Desarrollo para Canales de Venta
Etiquetado en:                 

Deja una respuesta

Tu dirección de correo electrónico no será publicada.