Con las instancias de spot de Amazon EC2, redujimos los costos fácilmente entre un 85 % y 90 %. A su vez, esto nos permite realizar pruebas con menor riesgo y, en definitiva, desarrollar productos de mayor calidad para nuestros clientes. 
Joe Gardner Arquitecto principal de la nube

National Instruments (NI), fundada en 1976, trabaja con ingenieros y científicos para encontrar respuestas a las preguntas más desafiantes. NI les proporciona soluciones de tecnología avanzada diseñadas con el propósito de acelerar la productividad y la innovación en áreas que abarcan desde la tecnología sanitaria y la informática móvil hasta la investigación espacial. Los más de 35 000 clientes de NI superaron los innumerables obstáculos tecnológicos que se presentaron a lo largo del camino y lograron lanzar al mercado cientos de miles de productos. Con su sede central en Austin, Texas, NI cuenta con aproximadamente 7400 empleados en alrededor de 50 países en distintas partes del mundo. La empresa tuvo un ingreso anual de 1230 millones de dólares en 2015, del cual invirtió el 16 % en procesos de investigación y desarrollo.  

Entre otros productos tecnológicos, National Instruments ofrece a los clientes LabVIEW, un entorno de desarrollo de software para crear aplicaciones personalizadas. Con el módulo LabVIEW FPGA, LabVIEW se amplía para permitir a los ingenieros incorporar a sus aplicaciones tecnología sofisticada de matriz de puertas programables (FPGA) o chips de silicio reprogramables. Para poder implementar un diseño de FPGA, primero hay que compilarlo, y esto requiere que los ingenieros realicen un proceso de compilación que consume gran cantidad de recursos y mucho tiempo en una máquina configurada con recursos de hardware significativos y paquetes de software necesarios.

Históricamente, los equipos de desarrollo de NI probaban nuevas características para productos como estos en las instalaciones. Sin embargo, a medida que la empresa crecía, fue necesaria una mayor infraestructura. Al mismo tiempo, los diseños de FPGA se volvían cada vez más complejos, y esto generó la necesidad de aumentar la capacidad de cómputo. Para reducir los costos y mejorar los tiempos de desarrollo, el equipo de LabVIEW de NI comenzó a investigar sobre la informática en la nube. “Los transistores son cada vez más pequeños, y nosotros tenemos más puertas que pueden programarse, lo que implica diseños más grandes y complejos que requieren de mayor potencia de cómputo para realizar la compilación”, manifiesta Joe Gardner, arquitecto principal de la nube de NI.  

Tras considerar distintas opciones, en 2010 el equipo de FPGA decidió ampliar el módulo y ofrecer un servicio de compilación de FPGA alojado en las instancias bajo demanda de Amazon Elastic Compute Cloud (Amazon EC2). El equipo de FPGA también utilizó AWS para las tareas internas de desarrollo y pruebas. El equipo de FPGA eligió AWS por sus características de Auto Scaling, el control que ofrece a los desarrolladores y las instancias de spot de Amazon EC2. Todo ello permitió a National Instruments reducir considerablemente los costos informáticos a la hora de probar nuevas características de productos.

Con AWS Auto Scaling, NI puede escalar rápido sus recursos de AWS EC2 en forma ascendente a medida que aumentan las cargas de trabajo de los clientes. “En el pasado, contábamos con un proceso de escalado interno que podía tomar entre 5 y 30 minutos en escalar como respuesta a cargas de trabajo adicionales”, afirma Gardner. “Con AWS, alcanzamos el mismo resultado en menos de 5 minutos, lo que resulta muy beneficioso, ya que significa que nuestros clientes no tienen que esperar”.

El equipo de FPGA también eligió AWS por la facilidad de uso que ofrece a los desarrolladores. “AWS es más sencillo que otros entornos en la nube, nos proporciona mayor control y no nos obliga a realizar actualizaciones que afectarían la compatibilidad”, comenta Gardner. “Asimismo, AWS es fácil de utilizar, es decir, podemos crear productos sin contratar a un experto en Hadoop o IoT, por ejemplo. En cambio, podemos aprovechar el talento que ya tenemos”.

Quizá lo más importante sea que el equipo de FPGA descubrió que puede obtener enormes ahorros si utiliza las instancias de spot de Amazon EC2 durante las etapas de desarrollo y pruebas. Esto permite equilibrar la oferta y la demanda, ya que los usuarios pueden ofertar por la capacidad de cómputo libre de Amazon EC2. “El ahorro es considerable”, explica Gardner. “Por ejemplo, probar uno de nuestros productos cuesta alrededor de 500 USD con las instancias de spot”. Si lo hubiéramos hecho con el procesamiento bajo demanda, el costo habría sido 10 veces mayor: 5000 USD.

En agosto de 2014, NI extendió el uso de AWS a su equipo de desarrollo de software de LabVIEW, el cual ahora utiliza instancias de spot de Amazon EC2 para procesar cargas de trabajo de pruebas de desbordamiento cuando la infraestructura local opera al máximo de su capacidad. “La cantidad de pruebas aumentaba, y el equipo de desarrollo de LabVIEW no tenía los recursos informáticos necesarios para completarlas”, comenta Gardner. “Recurrieron a nosotros porque sabían que teníamos experiencia en la nube y, a la semana, ya estaban ejecutando las pruebas de desbordamiento en la nube”.

Además de las instancias de spot de Amazon EC2, NI utiliza muchos otros servicios de AWS, entre los que se encuentran Amazon Simple Storage Service (Amazon S3) para el almacenamiento de objetos altamente escalables, Amazon Relational Database Service (Amazon RDS) como base de datos relacional, Amazon DynamoDB como base de datos NoSQL rápida y flexible, y Amazon Route 53 como servicio web escalable en la nube del sistema de nombres de dominio. NI también utilizaAWS CloudFormation para proporcionarles a los desarrolladores una manera sencilla de crear y administrar recursos de AWS relacionados y AWS CloudTrail, que registra llamadas a la API de AWS y entrega un historial de archivos de registro.

Con el modelo de precios de las instancias de spot de Amazon, National Instruments puede ejecutar cargas de trabajo internas por un precio mucho menor al del procesamiento bajo demanda, lo que le permite a la empresa ahorrar decenas de miles de dólares cuando prueba nuevas características. “Con las instancias de spot de Amazon EC2, redujimos los costos fácilmente entre un 85 % y 90 %”, afirma Gardner. “A su vez, esto nos permite realizar pruebas con menor riesgo y, en definitiva, desarrollar productos de mayor calidad para nuestros clientes”.

NI también se ahorró el costo de construir una infraestructura local más grande. Por ejemplo, el equipo de LabVIEW ha utilizado las instancias de spot de Amazon EC2 para ejecutar más de 30 000 horas de servidor de compilaciones de pruebas por mes. Para manejar esa cantidad de trabajo en las instalaciones, habría sido necesario duplicar el tamaño de la infraestructura interna del equipo con una inversión de 1 millón de dólares en costos de hardware y mantenimiento. Con AWS, NI puede escalar rápidamente para cubrir las demandas actuales y evitar al mismo tiempo la contratación de personal adicional y los retrasos en el aprovisionamiento asociados a la expansión de la infraestructura local.

Ejecutar sus cargas de trabajo de desarrollo y pruebas en AWS también le permitió a NI volverse más ágil. Debido a que las cargas de trabajo de pruebas varían considerablemente durante el ciclo de vida de desarrollo de software, NI puede evitar los costos relacionados con los servidores inactivos cuando se necesita realizar menos pruebas. Asimismo, la empresa puede escalar en forma ascendente con rapidez a medida que la necesidad de pruebas aumenta. Esto le permite obtener la capacidad informática que necesita para analizar rápidamente nuevas características y ofrecérselas a sus clientes. Por ejemplo, para desarrollar una de estas características, el equipo de FPGA tuvo que completar un proceso de prueba integral que incluyó más de 900 compilaciones. Si el equipo hubiera realizado estas compilaciones con un único servidor local, se habría demorado más de tres semanas. Sin embargo, con las instancias de spot de Amazon EC2 y la paralelización, el equipo pudo completar estas pruebas en menos de 10 horas con un costo inferior a 50 USD por ejecución. “Con AWS redujimos la cantidad de meses del ciclo de desarrollo”, manifiesta Gardner. “Si necesito más servidores, puedo acceder a ellos sin ningún inconveniente”.

NI ha podido trasladar esta agilidad a sus clientes. Con la totalidad del Servicio de Compilación en Nube de FPGA en AWS, los ingenieros pueden utilizar el servicio cuando lo necesiten sin gastar miles de dólares en hardware propio. “Antes, nuestros clientes gastaban entre 5000 USD y 10 000 USD en los servidores de compilación que necesitaban, solo para dejar de utilizarlos pocos meses después”, explica Gardner. “Debido a que realizar compilaciones es un proceso a todo o nada, AWS es un buen complemento para lo que hacemos”.

A medida que NI continúa creciendo, la empresa planea extender el uso de AWS a otros entornos de desarrollo. Asimismo, está considerando el uso de servicios de AWS adicionales, comoAWS IoT y Amazon QuickSight, a fin de crear nuevas ofertas de productos para sus clientes. “AWS nos ha permitido experimentar aún más”, comenta Gardner. “Nos brinda una amplia gama de herramientas con las que podemos trabajar y acelera el desarrollo y la implementación de nuevos productos, lo que es esencial para el éxito de nuestra empresa”.

Para obtener más información sobre cómo AWS puede ayudar en las etapas de desarrollo y pruebas, visite la página de detalles sobre desarrollo y pruebas.