National Instruments Case Study
Founded in 1976, National Instruments (NI) works with engineers and scientists to provide answers to the most challenging questions. NI equips them with advanced technology solutions designed to accelerate productivity and innovation in areas ranging from healthcare technology to mobile computing to space research. NI’s more than 35,000 customers have delivered hundreds of thousands of products to market, overcoming innumerable technological roadblocks along the way. Headquartered in Austin, Texas, NI employs approximately 7,400 employees in nearly 50 countries around the globe. The company had an annual revenue of $1.23 billion in 2015, 16 percent of which is invested in research and development.
With Amazon EC2 Spot Instances, we easily save 85–90% in costs. That, in turn, allows us to experiment with less risk and ultimately develop higher-quality products for our customers."
Principal Cloud Architect, National Instruments
Among the technologies National Instruments offers its customers is LabVIEW, a software development environment for creating custom applications. The LabVIEW FPGA Module extends LabVIEW and enables engineers to build sophisticated field-programmable gate array (FPGA) technology—or reprogrammable silicon chips—into their applications. A FPGA design must be compiled before it can be deployed and requires engineers to perform a resource-intensive and time-consuming compile process on a machine configured with significant hardware resources and necessary software packages.
Historically, NI’s development teams tested new features for products such as these on premises. Yet as the company grew, more infrastructure was required. At the same time, FPGA designs were becoming increasingly complex, requiring a greater amount of compute capacity. To lower its costs and improve development times, NI’s LabVIEW team began investigating cloud computing. “Transistors are getting smaller and smaller, and we have more gates that can be programmed, which means larger and more complex designs that require more compute power to perform the compile,” says Joe Gardner, principal cloud architect at NI.
Why Amazon Web Services
After considering various options, the FPGA team in 2010 extended its module by offering a FPGA compile service hosted on Amazon Elastic Compute Cloud (Amazon EC2) On-Demand instances. The FPGA team also uses AWS for its internal development and testing. The FPGA team chose AWS because of its Auto Scaling features, the control it offers developers, and Amazon EC2 Spot Instances—all of which allow National Instruments to significantly lower its computing costs as it tests new product features.
With AWS Auto Scaling, NI can quickly scale up its AWS EC2 resources as customer workloads increase. “Before, we had a homegrown scaling process that could take anywhere between 5 and 30 minutes to scale in response to additional workloads,” says Gardner. “With AWS, that’s done in less than five minutes, which is a huge benefit for us because our customers don’t have to wait around for things to start.”
The FPGA team also selected AWS because of the ease of use it offers developers. “AWS is simpler than other cloud environments, gave us more control, and didn’t force us to apply updates that would break compatibility,” Gardner says. “Also, AWS is simple to use, which means that we can create products without, for example, hiring a Hadoop expert or IoT expert. Instead, we can use the talent we already have.”
Perhaps most importantly, the FPGA team realized it could achieve dramatic savings by tapping into Amazon EC2 Spot Instances during development and testing, which balance supply and demand by allowing users to bid on spare Amazon EC2 computing capacity. “The savings are substantial,” explains Gardner. “For example, testing one of our products cost about $500 with Spot Instances. Had we done that with on-demand processing, the cost would have been 10 times that amount—or $5,000.”
In August 2014, NI expanded its use of AWS to its LabVIEW software development team, which now uses Amazon EC2 Spot Instances to process overflow test workloads when on-premises infrastructure is at capacity. “The number of tests were increasing, and the LabVIEW development team didn’t have the computing resources to complete them,” says Gardner. “They came to us because they knew we had cloud experience, and within a week, they were running overflow tests in the cloud.”
In addition to Amazon EC2 Spot Instances, NI uses several other AWS services including Amazon Simple Storage Service (Amazon S3) for highly scalable object storage; Amazon Relational Database Service (Amazon RDS) as its relational database; Amazon DynamoDB as a fast and flexible NoSQL database; and Amazon Route 53 as its scalable cloud Domain Name System web service. NI also uses AWS CloudFormation, giving developers an easy way to create and manage related AWS resources, and AWS CloudTrail, which records AWS API calls and delivers a history of log files.
With Amazon’s Spot Instance pricing model, National Instruments can run internal workloads at a fraction of the price of on-demand processing, saving the company tens of thousands of dollars as it tests new features. “With Amazon EC2 Spot Instances, we easily save 85–90 percent in costs,” says Gardner. “That, in turn, allows us to experiment with less risk and ultimately develop higher-quality products for our customers.”
NI has also saved the cost of building out a larger on-premises infrastructure. For example, the LabVIEW team has used Amazon EC2 Spot Instances to run more than 30,000 server-hours of test builds each month. Handling that amount of work on premises would have required doubling the size of the team’s internal infrastructure at a cost of $1 million in hardware and maintenance costs. Using AWS allowed NI to quickly scale to meet current demands while avoiding additional headcount and procurement lag associated with expanding on-premises infrastructure.
Running its development and test workloads on AWS has also made NI more agile. Because test workloads vary significantly during the software development lifecycle, NI can avoid the costs associated with idle servers at times when fewer tests are required. Similarly, the company can quickly scale up as the need for testing increases, obtaining the computing capacity it needs to rapidly analyze new features and release them to customers. For the development of one of its features, for example, the FPGA team needed to complete a comprehensive testing process that included more than 900 compiles. Had the team conducted these compiles using a single server on premises, they would have taken more than three weeks. But with Amazon EC2 Spot instances and parallelization, the team was able to complete these tests in under 10 hours at a cost of less than $50 per run. “Using AWS has shaved months off of the development cycle,” Gardner says. “If I need more servers, I can access them, no questions asked.”
NI has been able to pass this agility on to its customers. With the FPGA Compile Cloud Service completely on AWS, engineers can use the service as needed without spending thousands of dollars on their own hardware. “In the past, our customers could spend $5,000 to $10,000 for the compile servers they needed, only for them to sit idle a few months later,” says Gardner. “Since performing compiles is a feast-or-famine process, AWS is a good match for what we do.”
As NI continues to grow, the company plans to expand the use of AWS to other development environments. In addition, it is considering the use of additional AWS services such as AWS IoT and Amazon QuickSight to create new product offerings for its customers. “AWS has allowed for a lot more experimentation,” says Gardner. “It gives us a large array of tools to work with, and it speeds up the development and deployment of new products, which is key to the success of our company.”
About National Instruments
Founded in 1976, National Instruments (NI) works with engineers and scientists to provide answers to the most challenging questions.
AWS Services Used
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud.
Amazon EC2 Spot Instances
Amazon EC2 Spot Instances let you take advantage of unused EC2 capacity in the AWS cloud.
Amazon Relational Database Service (Amazon RDS) makes it easy to set up, operate, and scale a relational database in the cloud.
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.