Inside RTIs IIoT Lab: Von Hardware zu Advanced Build & Test Systemen
„Stellen Sie sicher, dass Sie ihnen von den Softwaresystemen erzählen, die das Labor betreiben“, erinnerte mich mein Team, als ich mich darauf vorbereitete, eine Tour durch RTIs Industrial IoT (IIoT) Lab während der Silicon Valley Edition der Connext Conference zu leiten. Während die Lab-Wände mit Servern, Raspberry Pis und anderer Hardware gesäumt sind, ist es die zugrundeliegende Software, die den Raum in eine voll funktionsfähige Testumgebung verwandelt. Unsere In-House-Orchestrierungstools integrieren eng mit RTIs internen Build, Test und Support Pipelines.
Bevor wir in Details eintauchen, betrachten Sie die Breite der Softwareentwicklung, die das Lab unterstützt. RTI Connext Software läuft auf mehr als 100 Prozessor/OS/Toolchain-Kombinationen – von Mainstream Linux auf Intel x86 bis zu Nischen Echtzeit-Betriebssystemen auf custom Embedded Plattformen. Es unterstützt multiple Networking Transports und interfaced mit verschiedenen Datenbanken. Unsere Library Suite deckt C, C++, Java, C#, Ada, Lua, Python, JavaScript und Go ab, und unser Produktportfolio umfasst über 20 einzelne Angebote. Um Legacy-Kunden glücklich zu machen, shipten wir Patches zurück zu Software-Versionen, die ein Jahrzehnt alt sind.
Bei RTI betreiben wir unsere eigene Build- und Test-Infrastruktur. Während einige Workloads zu Cloud-Providern wie AWS, Azure oder Atlassian Cloud migrieren könnten, bleiben die bulk unserer Lab-Fähigkeiten On-Premises. Hier ist ein Snapshot dessen, was wir laufen.
Das RTI IIoT Lab besteht aus drei großen Gruppen von Systemen:
- Der Build und Test Cluster – läuft diverse x86/x64 Virtual Machines
- Die Enterprise und Embedded Test Target Maschinen – eine Kombination aus Spezialhardware, Echtzeit-Betriebssystemen und weniger gängigen Systemen
- Die Skalierbarkeits- und Performance-Maschinen – ein Set mächtiger Testmaschinen und eine große Bank von Raspberry Pi Boards
Der Build und Test Cluster
Jeden Tag triggern Entwickler und unser Continuous Integration (CI) System Dutzende Builds und Test Runs auf unserem Cluster. Aufgebaut auf OpenStack und Ceph, virtualisiert der Cluster Compute- und Storage-Ressourcen. Wir nutzen derzeit Atlassian Bamboo für CI, transitionieren aber zu Jenkins, um moderne CI/CD-Tooling zu nutzen.
Wöchentlich starten wir einen umfassenden Build- und Regressionstest-Zyklus, der alle unterstützten Architekturen spannt, inklusive Virtual Machines und realer Enterprise- und Embedded-Targets.
Wir nutzen Custom Scripts, um den wöchentlichen Build zu automatisieren. Diese Skripte initiieren native und Cross-Compilation, reseten Embedded Boards, führen Tests auf Enterprise- und Embedded-Targets aus, aggregieren Ergebnisse und surfacen sie auf einem developer-freundlichen Dashboard. Konsistente Ergebnisse über heterogene Plattformen zu erreichen verlangt tiefe Expertise in Porting Software, Verständnis von OS-Nuancen und Meisterung von Embedded Automation.
Die Enterprise und Embedded Test Target Maschinen
Bestimmte Test Targets können nicht virtualisiert werden – unser Lab hostet AIX auf IBM Power, Solaris auf SPARC und sogar OpenVMS auf DEC Alpha Systemen. In einem einzigartigen Fall haben wir eine PlayStation 3 Konsole repurposed, um Linux zu laufen, was eine kosteneffektive Alternative zu custom Cell-Processor Rigs bietet. Wir laufen auch multiple macOS Versionen und gehärtete Redhawk Linux Deployments von Concurrent.
Die Mehrheit unserer Targets sind embedded, viele als SoCs. Wir unterstützen x86, PowerPC, MIPS, ARM (inkl. Zynq und NVIDIA Tegra X2) und eine breite Palette von Echtzeit-Betriebssystemen – VxWorks, VxWorks 653, Integrity, LynxOS, QNX, Nucleus, FreeRTOS, Echtzeit-Linux, DEOS und Intime. Wenn Kunden proprietäre Hardware, OS und BSPs bereitstellen, integriert unser Platform Team den Stack, oft als Erste, die neue Hardware oder BSPs validieren.
Die Skalierbarkeits- und Performance-Maschinen
Die dritte Gruppe umfasst High-Performance x64 Maschinen, isoliert für Latenz- und Throughput-Messung, sowie einen Raspberry Pi Cluster für Netzwerk-Topologie-Tests. Mit unserem custom „Polygraph“ Framework verifizieren wir Discovery-Protokolle at Scale, messen CPU, Memory, Bandbreite und Discovery-Latenz. Unser Research Team baute ein leichtes System, um Test-Applikationen zu deployen und Ergebnisse über große Cluster zu sammeln.
Networking
Wir validieren Middleware gegen diverse Networking-Technologien – 10/100 Mbps, Gigabit, 10 GbE, Wi-Fi, InfiniBand und sogar Satellitenlinks – während wir Packet Loss und Corruption simulieren. Unser robustes Kabelmanagement und Wireless Testbed erlauben uns, Transport Mobility Features zu stress-testen. Remote Access wird via networked Power Switches und Serial Server facilitated, enabling Ingenieure weltweit, jedes System von überall zu steuern.
Das Next Generation Build System
Während unsere aktuelle Infrastruktur uns gut gedient hat, entwickeln wir ein Next-Generation Build System, um Produktivität zu boostern: schnellere Builds, moderne Toolchains wie CMake, Conan.io, JFrog Artifactory, Docker und Jenkins; parallelisierte Job Execution; und vereinfachte Maschinenreservierung. Dieses neue System wird unsere Engineering und Release Teams weiter empowern.
Das RTI IIoT Lab operiert 24/7, 365 Tage im Jahr, um sicherzustellen, dass die missionskritischen verteilten Systeme unserer Kunden zuverlässig und performant bleiben. Bleiben Sie dran für mehr Updates zum kommenden Build System.
Internet der Dinge-Technologie
- Industrial Control Systems und IIoT sichern in wachsender Bedrohungslage
- Industrial Internet of Things sichern: Strategien, Standards und die Chain of Trust
- Cybersecurity nachrüsten: Legacy-Industriesysteme im IIoT-Zeitalter absichern
- AR & VR transformieren Training, Lagereffizienz und Montagegenauigkeit
- Analoge Controls nutzen, um industrielle IoT-Operationen abzusichern
- Die Lücke schließen: Wie ERP und MES Systeme sich an die Industrial IoT Revolution anpassen
- TE Connectivity's IIoT Testbed für Smart Factory Sensoren entdecken
- ISA IIoT & Smart Manufacturing Virtual Conference 2021: Einblicke & Best Practices
- Wie 5G-fähiges IIoT die Einführung von Industry 4.0 beschleunigt
- Effizienz freisetzen: 5 bewährte Schritte zur Modernisierung von Legacy-Systemen mit IIoT