|
| 1 | +--- |
| 2 | +title: Python Applikationsmodernisierung |
| 3 | +company: AFV Beltrame Group |
| 4 | +logo: ../../../assets/customers/beltrame.svg |
| 5 | +pubDate: 2026-01-22 |
| 6 | +results: |
| 7 | + - Über 800 Unittests zur Risikoreduktion bei Code-Änderungen |
| 8 | + - Migration auf die neueste Python-Version mit Dependency Management |
| 9 | + - Signifikante Reduzierung der Incidents nach Deployments |
| 10 | + - Proaktives Monitoring mit Prometheus, Grafana und Loki |
| 11 | +quote: |
| 12 | + "Mit bespinian haben wir unser Legacy-MES-System abgesichert und stabilisiert, |
| 13 | + wodurch die betriebliche Kontinuität und eine klarere Governance gewährleistet |
| 14 | + wurden. Ihre Arbeit hat nicht nur die Release- und Monitoring-Prozesse |
| 15 | + gestärkt, sondern auch unser Verständnis der von der Applikation unterstützten |
| 16 | + Produktionsprozesse verbessert. Ein zuverlässiger und ergebnisorientierter |
| 17 | + Partner." |
| 18 | +authorName: Martina Catozzo |
| 19 | +authorTitle: Group IT Coordination |
| 20 | +authorImage: ../../../assets/customers/beltrame-martina.jpeg |
| 21 | +--- |
| 22 | + |
| 23 | +## Kunde |
| 24 | + |
| 25 | +Die [AFV Beltrame Group](https://gruppobeltrame.com/en/), die in der Schweiz |
| 26 | +über die |
| 27 | +[Stahl Gerlafingen AG](https://gruppobeltrame.com/en/stahl-gerlafingen-ag/) |
| 28 | +tätig ist, ist auf die Herstellung von Langstahlprodukten spezialisiert – in |
| 29 | +erster Linie Bewehrungsstahl für Beton und Baustahl-Profile. Mit einer |
| 30 | +Belegschaft von rund 2'900 Mitarbeitenden verfügt die Gruppe über eine jährliche |
| 31 | +Produktionskapazität von rund 3 Millionen Tonnen und beliefert sowohl den |
| 32 | +heimischen als auch den breiteren europäischen Markt. |
| 33 | + |
| 34 | +Die Gruppe zeichnet sich durch ein Industriemodell aus, das auf dem Recycling |
| 35 | +von Stahlschrott und fortschrittlichen Stahlherstellungsverfahren basiert, und |
| 36 | +etabliert sich damit als grösster Produzent von Recycling-Stahl in der Schweiz. |
| 37 | +Ihre Produkte werden in kritischen Anwendungen im Hochbau, in der |
| 38 | +Infrastrukturentwicklung, im Maschinenbau, in der Automobilherstellung, im |
| 39 | +Energiesektor, in der Öl- und Gasindustrie sowie in diversen industriellen |
| 40 | +Anwendungen eingesetzt. |
| 41 | + |
| 42 | +## Ausgangslage |
| 43 | + |
| 44 | +Vor rund 15 Jahren entstand der Bedarf, Daten aus mehreren industriellen |
| 45 | +Steuerungssystemen an einer zentralen Stelle zu sammeln und mit zusätzlichen |
| 46 | +Betriebsdaten, wie Produktionsaufträgen aus ERP-Systemen, zu kombinieren. Zu |
| 47 | +diesem Zweck wurde eine Python-basierte Webapplikation entwickelt, um Geräte und |
| 48 | +Umsysteme zu verwalten und die Daten den Benutzenden zugänglich zu machen. |
| 49 | +Später wurde die Software erweitert, um den Produktionsprozess zu unterstützen. |
| 50 | +Im Jahr 2023 wurde bespinian beauftragt, die Applikation zu modernisieren, |
| 51 | +betriebliche Unterstützung zu leisten und ein robustes Monitoring zu |
| 52 | +implementieren. |
| 53 | + |
| 54 | +## Projektziele |
| 55 | + |
| 56 | +Das Ziel war es, die Software auf eine nachhaltige und wartbare Basis zu stellen |
| 57 | +und einen zuverlässigen Betrieb zu gewährleisten. Zu den wichtigsten Aktivitäten |
| 58 | +gehörten die Migration auf die neueste Python-Version, die Einführung eines |
| 59 | +Dependency Managements, die Implementierung eines automatisierten |
| 60 | +Deployment-Prozesses und die Einrichtung eines Monitorings. Darüber hinaus |
| 61 | +sollten Unittests geschrieben werden, um die Zuverlässigkeit zu verbessern. |
| 62 | + |
| 63 | +## Rolle von bespinian |
| 64 | + |
| 65 | +### Betriebsunterstützung |
| 66 | + |
| 67 | +bespinian unterstützt die IT-Abteilung beim Betrieb der Applikation und agiert |
| 68 | +als Troubleshooter, wenn Probleme auftreten. Zudem wurden mehrere Change |
| 69 | +Requests implementiert. |
| 70 | + |
| 71 | +### Modernisierung der Applikation |
| 72 | + |
| 73 | +Nach der Einführung von Git zur Versionsverwaltung haben wir über 800 Unittests |
| 74 | +geschrieben, um das Risiko bei Code-Änderungen zu reduzieren. Diese Tests werden |
| 75 | +nun vor jedem Deployment automatisch in einer GitLab Pipeline ausgeführt. Dies |
| 76 | +hat die Anzahl der Incidents nach einem Deployment drastisch reduziert. Danach |
| 77 | +konnten wir Python auf die neueste unterstützte Version migrieren und einzelne |
| 78 | +Python-Dateien, teilweise mit über 6'000 Zeilen Code, in übersichtliche Module |
| 79 | +aufteilen. |
| 80 | + |
| 81 | +### Monitoring |
| 82 | + |
| 83 | +Für die proaktive Überwachung der Applikation und ihrer Umgebung setzen wir die |
| 84 | +Open-Source-Produkte Prometheus, Grafana und Loki ein. Anstatt auf Meldungen der |
| 85 | +Benutzenden zu reagieren, können die IT und wir nun proaktiv agieren und |
| 86 | +Probleme mittels übersichtlicher Dashboards und zentralem Logging untersuchen. |
| 87 | +Zusätzlich haben wir für Prometheus einen OPC XML Exporter geschrieben, mit dem |
| 88 | +wir PLCs (Maschinensteuerungen) überwachen können. |
| 89 | + |
| 90 | +## Technologien |
| 91 | + |
| 92 | +- **Versionsverwaltung**: GitLab |
| 93 | +- **Back End**: Python |
| 94 | +- **Monitoring**: Prometheus & Grafana |
| 95 | +- **Logging**: Loki |
| 96 | +- **Datenbank**: Microsoft SQL Server |
| 97 | +- **Integrationssystem**: ERP |
| 98 | +- **Industrielle Kommunikation**: OPC XML |
0 commit comments