Mit Amazon EC2 Spot Instances sparen wir locker 85-90 % der Kosten. Damit können wir mit geringerem Risiko experimentieren und letztlich höherwertige Produkte für unsere Kunden entwickeln. 
Joe Gardner Principal Cloud Architect

National Instruments (NI) wurde 1976 gegründet und arbeitet mit Ingenieuren und Wissenschaftlern zusammen, um Antworten für die schwierigsten Fragen zu liefern. NI rüstet sie mit fortschrittlicher Technologie aus, die dafür entwickelt wurde, Produktivität und Innovation in fortschrittlichen Feldern, wie Technologie im Gesundheitswesen, mobiles Computing und Weltraumwissenschaften, zu fördern. Die über 35.000 Kunden von NI haben Hunderttausende von Produkten auf den Markt gebracht und dabei unzählige technologische Hindernisse überwunden. Das Unternehmen hat seinen Firmensitz in Austin, Texas, und verfügt über 7.400 Angestellte in fast 50 Ländern überall auf der Welt. Der Umsatz des Unternehmens lag 2015 bei 1,25 Mrd. USD. Davon wurden 16 % in Forschung und Entwicklung investiert.  

Neben anderen Technologien bietet National Instruments mit LabVIEW seinen Kunden eine Softwareentwicklungsumgebung zur Erstellung von individuellen Anwendungen. Das LabVIEW FPGA-Modul erweitert LabVIEW und ermöglicht Ingenieuren, komplexe Field Programmable Gate Arrays (FPGA) — oder wieder-programmierbare Silikon-Chips — in ihre Anwendungen einzubauen. Das FPGA-Design muss kompiliert werden, bevor es eingesetzt wird, und erfordert, dass Ingenuere einen zeit- und ressourcenintensiven Kompilierungsprozess auf einer Maschine durchführen, die mit umfangreicher Hardware-Ressourcen und erforderlichen Softwarepaketen ausgestattet ist.

Traditionell testen die Entwicklungsteams von NI neue Funktionen für Produkte, wie diese, vor Ort. Allerdings wurde durch das Wachstum des Unternehmens eine größere Infrastruktur benötigt. Gleichzeitig wurden FPGA-Designs komplexer und komplexer, was eine höhere Rechenkapazität erforderte. Um die Kosten zu senken und die Entwicklungszeiten zu verbessern, begann das LabVIEW-Team von NI mit der Untersuchung von Cloud Computing. Joe Gardner, verantwortlicher Cloud-Architekt bei NI: „Transistoren werden immer kleiner und kleiner. Und wir haben mehr Gates, die programmiert werden können. Das bedeutet größere und komplexere Designs, die mehr Rechenkapazität benötigen, um die Kompilierung durchzuführen.“  

Nach Prüfung verschiedener Optionen erweiterte das FPGA-Team im Jahr 2010 sein Modul durch die Bereitstellung eines FPGA-Kompilierungsdienstes, der auf Amazon Elastic Compute Cloud (Amazon EC2) On-Demand Instanzen gehostet wird. Das FPGA-Team verwendet AWS auch für interne Entwicklung und Tests. Das FPGA-Team hat sich für AWS wegen seiner Auto Scaling-Funktion, der Entwicklern zur Verfügung gestellten Kontrolle und Amazon EC2 Spot Instances entschieden — All dies ermöglicht National Instruments, seine Kosten für das Testen von neuen Produktfunktionen erheblich zu senken.

Mit AWS Auto Scaling kann NI schnell seine AWS EC2-Ressourcen bei erhöhtem Kundenaufkommen skalieren. „Zuvor hatten wir einen hauseigenen Skalierungsprozess, der als Reaktion auf zusätzliche Workloads zwischen 5 und 30 Minuten in Anspruch nehmen konnte,“, sagte Gardner. „Mit AWS geschieht dies in weniger als 5 Minuten, was ein großer Vorteil für uns ist, da unsere Kunden nicht mehr lange warten müssen.“

Das FPGA-Team entschied sich auch für AWS, weil es den Entwicklern eine einfache Nutzung bietet. „AWS ist einfacher als andere Cloud-Umgebungen, bietet uns bessere Kontrolle und zwingt uns nicht dazu, Updates anzuwenden, die die Kompatibilität beeinträchtigen“, sagt Gardner. „Außerdem ist AWS einfach zu nutzen. Dadurch können wir Produkte entwickeln, ohne beispielsweise einen Hadoop- oder IoT-Experten einstellen zu müssen. Stattdessen nutzen wir unsere bereits vorhandenen Talente.“

Und was vielleicht am wichtigsten ist: Das FPGA-Team realisierte, dass enorme Einsparungen durch die Verwendung von Amazon EC2 Spot Instances bei der Entwicklung und bei Tests erzielt werden können. Hierbei können Angebot und Nachfrage ausgeglichen werden, dadurch dass Nutzer auf freie Amazon EC2-Rechenkapazitäten zugreifen können. „Die Einsparungen sind beträchtlich“, erklärt Gardner. „Beispielsweise kostet der Test eines unserer Produkte mit Spot Instances ungefähr 500 USD. Hätten wir dies mit On-Demand-Verarbeitung durchgeführt, würden die Kosten 10 mal höher liegen — bei 5.000 USD.”

NI erweitere im August 2014 seine Nutzung von AWS auf sein LabVIEW Software-Entwicklungsteam, welche jetzt Amazon EC2 Spot Instances verwendet, um Überlauf-Test-Workloads zu verarbeiten, wenn die Infrastruktur vor Ort ausgelastet ist. „Die Anzahl der Tests stiegen an und das LabVIEW-Entwicklungsteam verfügte nicht über die erforderlichen Rechenkapazitäten, um sie abzuschließen,“ sagt Gardner. „Sie kamen zu uns, da sie wussten, dass wir Cloud-Erfahrung haben. Und innerhalb einer Woche führten sie Überlauftests in der Cloud durch.“

Neben Amazon EC2 Spot Instances nutzt NI auch einige andere AWS-Services, einschließlich:Amazon Simple Storage Service (Amazon S3)für hochskalierbare Objektspeicherung; Amazon Relational Database Service (Amazon RDS) als relationale Datenbank; Amazon DynamoDB als schnelle und flexible NoSQL-Datenbank; und Amazon Route 53 als skalierbarer Cloud Domain Name System Webservice. NI nutzt auchAWS CloudFormation, sodass Entwickler einfacher damit verbundene AWS-Ressourcen erstellen und managen können, und AWS CloudTrail, welches AWS API-Aufrufe aufzeichnet und einen Verlauf der Protokolldateien bietet.

Mit dem Preismodell von Amazons Spot Instance kann National Instruments interne Workloads zu einem Bruchteil des Preises der On-Demand-Verarbeitung ausführen. Das spart dem Unternehmen Zehntausende von Dollars, wenn neue Funktionen getestet werden. Mit Amazon EC2 Spot Instances sparen wir locker 85-90 % der Kosten“, sagt Gardner. „Damit können wir mit geringerem Risiko experimentieren und letztlich höherwertige Produkte für unsere Kunden entwickeln.“

NI hat ebenfalls die Kosten für den Aufbau einer größeren Infrastruktur vor Ort gespart. Beispielsweise hat das LabVIEW-Team Amazon EC2 Spot Instances für die Ausführung von Testversionen über mehr als 30.000 Server-Stunden pro Monat verwendet. Die Verarbeitung von dieser Menge an Auslastung vor Ort hätte eine Verdoppelung der Größe der internen Infrastruktur des Teams zu einem Preis von 1 Million US-Dollar an Hardware- und Wartungskosten erfordert. Mit AWS kann National Instruments schnell skalieren, um aktuelle Anforderungen zu erfüllen, und vermeidet gleichzeitig zusätzlichen Personalbestand und Verzögerungen bei der Beschaffung, die mit einer Erweiterung der lokalen Infrastruktur einhergehen.

Die Ausführung der Entwicklungs- und Testworkloads auf AWS hat auch eine höhere Agilität für NI mit sich gebracht. Da Testworkloads sehr während der Lebenszyklus der Softwareentwicklung variieren, kann NI die Kosten mit leerlaufenden Servern zu den Zeiten, wenn weniger Tests benötigt werden, vermeiden. Gleichzeitig kann das Unternehmen schnell skalieren, wenn der Bedarf an Tests steigt. Hierbei erhält es die benötigte Rechenkapazität, um schnell neue Funktionen zu analysieren und diese den Kunden vorzustellen. Beispielsweise musste das FPGA-Team für die Entwicklung einer Funktion einen umfangreichen Testprozess durchführen, der mehr als 900 Kompilierungen umfasste. Hätte das Team diese Kompilierungen mit einem einzelnen Server vor Ort durchgeführt, hätte dies mehr als drei Wochen in Anspruch genommen. Aber mit Amazon EC2 Spot Instances und Parallelisierung war das Team in der Lage, diese Tests in weniger als 10 Stunden und mit niedrigeren Kosten als 50 USD pro Ausführung durchzuführen. Die Verwendung von AWS hat uns Monate an Entwicklungszeit eingespart“, sagt Gardner. „Wenn ich weitere Server benötige, kann ich einfach auf diese zugreifen, ohne Hin und Her.“

NI könnte diese Agilität auch an seine Kunden weitergeben. Dadurch dass der FPGA Compile Cloud Service vollständig auf der Cloud durchgeführt wird, können Ingenieure den Service bei Bedarf verwenden, ohne dass sie Tausende an Dollar für eigene Hardware ausgeben müssen. „In der Vergangenheit konnte es passieren, dass unsere Kunden 5.000 bis 10.000 USD für die benötigten Server für das Kompilieren ausgaben. Nur um dann ein paar Monate später nicht mehr verwendet zu werden“, sagt Gardner. „Da die Durchführung von Kompilierungen nach dem Prinzip Alles oder Nichts läuft, passt AWS sehr gut zu dem, was wir tun.“

Während NI weiter wächst, plant das Unternehmen, seine Verwendung von AWS auf andere Entwicklungsumgebungen anzuwenden. Außerdem erwägt es, zusätzliche AWS-Services zu verwenden, wie AWS IoT und Amazon QuickSight, um seinen Kunden neue Produkt anbieten zu können. „AWS erlaubt viel mehr Experimente“, sagt Gardner. „Es gibt uns eine große Auswahl an Werkzeugen und beschleunigt die Entwicklung und den Einsatz von neuen Produkten. Das ist ein Schlüsselfaktor für den Erfolg unseres Unternehmens.“

Weitere Informationen dazu, wie AWS bei der Entwicklung und bei Tests helfen kann, finden Sie auf unserer Informationsseite zu Entwicklung und Tests.