Por John Maddison | 26 de julio de 2018
Una suposición hecha por muchos profesionales de la seguridad es que las diferencias de rendimiento entre dispositivos de seguridad física se eliminan cuando esas imágenes de software de seguridad se ejecutan en hardware en la nube idéntico. Pero la verdad es que todavía existen importantes diferencias de rendimiento entre las soluciones, y esas diferencias pueden ser críticas tanto desde el punto de vista del procesamiento como del costo.
Debido a que el rendimiento de la nube es un requisito básico para competir en el mercado digital, las organizaciones no pueden permitirse que la seguridad sea un cuello de botella. Las transacciones deben ser inspeccionadas a velocidades digitales. Por supuesto, la escalabilidad elástica ayuda a eliminar esos cuellos de botella, por lo que la nube es una plataforma ideal. Pero la escalabilidad tiene un costo. Por ejemplo, crear firewalls adicionales innecesariamente puede tener un impacto real en su costo de hacer negocios.
Parte del desafío es que la escala de rendimiento es más compleja de lo que parece. En aras de la simplicidad, dividamos la escalabilidad en dos funciones: escalar y escalar.
Escalar los recursos de la nube
Cuando hablamos de escalabilidad de la nube, generalmente nos referimos a la idea de ampliar la escala. Esta función le permite cumplir con las demandas de rendimiento al aumentar la cantidad de instancias virtuales separadas de una solución. Por ejemplo, le permite girar y desplegar automáticamente más instancias de cortafuegos a medida que el tráfico carga pico, y luego descartarlos cuando el tráfico vuelve a la normalidad.
Sin embargo, no solo se trata de mejorar el rendimiento, sino también el precio del rendimiento. Por ejemplo, una solución de mayor rendimiento significa que no tiene que comprar instancias adicionales de firewall fuera del mercado de la nube tan a menudo como lo haría con una solución más lenta. Esto puede ser crítico para la gestión de los gastos sin dejar de cumplir los requisitos de capacidad. Y el rendimiento, incluso en software que se ejecuta en un hardware idéntico, puede verse afectado por dos cosas: el diseño y la optimización del software.
El diseño arquitectónico afecta el rendimiento
El otro tipo de escalabilidad que a menudo pasamos por alto es la ampliación. Esto se refiere al tamaño del hardware virtual en el que se ejecuta una solución de software, medida en la cantidad de núcleos que usa una VM. Las máquinas virtuales simples utilizan un solo núcleo, y aumentan a partir de ahí duplicando el número de núcleos que usa una VM (1, 2, 4, 8, etc.). Determinar qué tan grande es la VM que necesita para ejecutar de manera efectiva su solución de seguridad es una de las consideraciones más importantes que hace una organización al diseñar su entorno de nube. Sin embargo, la ampliación puede verse significativamente afectada por la eficacia con que una solución puede utilizar la potencia de procesamiento disponible, a menudo denominada rendimiento por núcleo. Si necesita una VM de CPU grande y multi-core, por ejemplo, es vital saber cuánto rendimiento puede proporcionar una solución de software para cada núcleo que está pagando.
El escalado es un ejemplo perfecto de cómo las cosas que pueden parecer iguales en la superficie, es decir, que todos los proveedores pueden ejecutar sus soluciones en la misma máquina virtual, pueden ser realmente diferentes en su aplicación práctica. La verdad es que no todo el software está diseñado de la misma manera.
La ejecución de software en una VM requiere una arquitectura construida alrededor de un plano de administración y un plano de datos. La forma en que los distintos arquitectos diseñan cómo distribuyen esos requisitos puede variar ampliamente. Por ejemplo, la arquitectura de muchos proveedores requiere que dediquen un núcleo completo para la administración, generalmente, uno de cada cuatro. Entonces, si compra un sistema de dos núcleos para ejecutar su servicio, solo la mitad de esos recursos están disponibles para procesar tráfico y datos. Y a medida que amplía, nunca menos del 25 por ciento de los recursos básicos están disponibles para el procesamiento de datos. El software del proveedor que utiliza este modelo arquitectónico de uno en cuatro puede tener un impacto significativo en el rendimiento. Del mismo modo, muchos proveedores han diseñado su software para fijar una sola sesión (IKE SA) a un solo núcleo en lugar de poder distribuir el tráfico IPSec entre múltiples núcleos.
Paralelización
Básicamente, toda informática prefiere una arquitectura paralela construida alrededor de factores de dos (2, 4, 8, 16, 32 …). Esto permite la máxima eficiencia e impacta el rendimiento potencial. La utilización efectiva de la paralelización es una razón importante por la que un proveedor puede lograr un mayor rendimiento que otro en el mismo entorno de nube. Sin embargo, debido a las opciones arquitectónicas del software, a menudo hechas por proveedores sin experiencia en el desarrollo de hardware personalizado, muchos proveedores asignan un núcleo dedicado para controlar la administración del avión.
Esta estrategia de diseño rompe el modelo de paralelización y reduce la eficiencia y el rendimiento. No solo tiene menos núcleos disponibles para inspección y procesamiento, sino que solo tiene tres o seis núcleos disponibles para la inspección de datos, en lugar de factores de dos, afecta seriamente la capacidad del software para distribuir y procesar de manera eficiente esos datos, lo que reduce el rendimiento aún más.
No todos los programas en la nube son creados iguales
Algunos argumentan que los proveedores de hardware especializado pierden su ventaja de rendimiento en un entorno de nube. Pero la optimización de pila completa puede proporcionar un aumento significativo en el rendimiento, incluso cuando todos los demás factores son idénticos. Los ingenieros deben optimizar drásticamente su software para lograr el rendimiento necesario en un chip. Desafortunadamente, ese tipo de optimización en la pila es algo que muchos proveedores de software nunca hacen. En su lugar, tienden a abordar el problema lanzando más CPU de fábrica al problema. El software full stack optimizado puede diferenciar significativamente un proveedor de otro en la nube porque afecta directamente la eficiencia y el rendimiento.
Conclusión
La elección de soluciones de seguridad escalables y de alto rendimiento permite a las organizaciones cumplir con las crecientes demandas de rendimiento del mercado digital actual. Y el rendimiento es una consideración crítica incluso cuando se selecciona una solución de seguridad basada en la nube. Las soluciones de mayor rendimiento no solo le permiten cumplir de manera efectiva las crecientes demandas de los consumidores a velocidades digitales, sino que también son más rentables. Sin embargo, no todas las soluciones de seguridad en la nube son iguales. El análisis cuidadoso de los enfoques de optimización y diseño subyacentes de un proveedor le permitirá seleccionar la solución que mejor se adapte al desempeño y los requisitos presupuestarios de su organización.