Automatisierte Prozesse für Entwicklung, Testing und Operations
Verify.
Deploy.
Operate.
DevOps
Softwareentwicklung und Software-basierte Produkte benötigen nicht nur gute Entwickler, sondern auch Qualitätssicherung, Testing und einen Rollout- bzw. Deployment-Prozess. Die Herausforderungen sind dabei häufig die Anforderungsvielfalt und die zu berücksichtigenden Schnittstellen.
Embedded- bzw. Mechatronische Systeme fügen dem DevOps Prozesse weitere spezielle Herausforderungen hinzu. Für einen performanten DevOps Prozesse muss nicht nur die Durchführung von Build und Tests automatisiert werden (CI/CD/CT), sondern auch die Messbarkeit von Zuständen möglich sein, um Performance-Indikatoren zu extrahieren.
DevOps und CI/CD
für Industrie 4.0 Software
Grundsätzlich beginnt DevOps bei der Definition einer Branching Strategie im Source Code Management, was ultimativ in einen Release Prozess mündet. Dazwischen liegen Build-Prozesse und mehrere Stufen aus Unit-, Module-, System- und Integration-Tests.
Bei Embedded- und Robotik-Systemen kommen zusätzliche Anforderungen durch Continuous Deployment und Testing auf HIL Systemen hinzu. Die CI/CD Pipelines deployen kompilierte Software auf bereitgestellter Hardware und überwachen weitere Tests. Häufig finden auch SIL Ansätze bzw. Simulation Testing Ansätze Anwendung, da sie die vielen möglichen Kombinationen an HIL Testaufbauten von Platz auf Rechenzeit verlagern.
Werden Embedded Produkte mit IoT Fähigkeiten ausgestattet kommen durch Data Engineering und Cloud Native Themen zusätzliche Technologien hinzu. Datenbanken, Streaming Technologien und deren Skalierung, Qualitätssicherung bzw. Resilienz haben ganz eigene Herausforderungen. Im Kontext Cybersecurity und Machine Learning spricht man dann von DevSecOps und MLOps, was bald kaum mehr trennbar ist.
Mitarbeiter*innen aus 4 Nationen arbeiten täglich an der Automation von Software Lifecycles