Skip to content

Commit 3a9c92a

Browse files
committed
Add Beltrame Group customer story
1 parent f26c1f6 commit 3a9c92a

File tree

8 files changed

+198
-9
lines changed

8 files changed

+198
-9
lines changed

package-lock.json

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
87.5 KB
Loading

src/assets/customers/beltrame.svg

Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
---
2+
title: Python Modernisierung
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
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
---
2+
title: Python Application Modernization
3+
company: AFV Beltrame Group
4+
logo: ../../../assets/customers/beltrame.svg
5+
pubDate: 2026-01-22
6+
results:
7+
- Over 800 unit tests to reduce risk of code changes
8+
- Migration to latest Python version with dependency management
9+
- Significant reduction of incidents after deployments
10+
- Proactive monitoring with Prometheus, Grafana, and Loki
11+
quote:
12+
"With bespinian, we secured and stabilised our legacy MES system, ensuring
13+
operational continuity and clearer governance. Their work not only
14+
strengthened release and monitoring processes but also enhanced our
15+
understanding of the production processes supported by the application. A
16+
reliable and results-oriented partner."
17+
authorName: Martina Catozzo
18+
authorTitle: Group IT Coordination
19+
authorImage: ../../../assets/customers/beltrame-martina.jpeg
20+
---
21+
22+
## Customer
23+
24+
[AFV Beltrame Group](https://gruppobeltrame.com/en/), operating through
25+
[Stahl Gerlafingen AG](https://gruppobeltrame.com/en/stahl-gerlafingen-ag/) in
26+
Switzerland, specializes in manufacturing long steel products—primarily
27+
reinforcing steel for concrete and structural steel profiles. With a workforce
28+
of approximately 2,900 employees, the Group maintains an annual production
29+
capacity of around 3 million tonnes, serving both domestic and broader European
30+
markets.
31+
32+
The Group distinguishes itself through an industrial model centered on ferrous
33+
scrap recycling and advanced steelmaking processes, establishing its position as
34+
Switzerland's largest producer of recycled steel. Its products serve critical
35+
applications across civil construction, infrastructure development, mechanical
36+
engineering, automotive manufacturing, energy sectors, oil & gas industries,
37+
and diverse industrial applications.
38+
39+
## Initial Situation
40+
41+
About 15 years ago, there was a need to collect data from multiple industrial
42+
control systems in a central location and combine it with additional operational
43+
data, such as production orders from ERP systems. For this purpose, a
44+
Python-based web application was developed to manage devices and peripheral
45+
systems and make data available to users. Later, the software was extended to
46+
support the production process. In 2023, bespinian was engaged to modernize the
47+
application, provide operational support, and implement robust monitoring.
48+
49+
## Project Goals
50+
51+
The goal was to place the software on a sustainable and maintainable foundation
52+
and ensure reliable operations. Key activities included migrating to the latest
53+
Python version, introducing dependency management, implementing an automated
54+
deployment process, and setting up monitoring. Additionally, unit tests were to
55+
be written to improve reliability.
56+
57+
## bespinian's Role
58+
59+
### Operational Support
60+
61+
bespinian supports the IT department in operating the application and acts as a
62+
troubleshooter when issues arise. Several change requests have also been
63+
implemented.
64+
65+
### Application Modernization
66+
67+
After introducing Git for version control, we wrote over 800 unit tests to
68+
reduce the risk of code changes. These tests are now automatically executed in a
69+
GitLab pipeline before each deployment. This has drastically reduced the number
70+
of incidents after a deployment. After that, we were able to migrate Python to
71+
the latest supported version and split individual Python files, some with over
72+
6,000 lines of code, into manageable modules.
73+
74+
### Monitoring
75+
76+
For proactive monitoring of the application and its environment, we use the open
77+
source products Prometheus, Grafana, and Loki. Instead of reacting to user
78+
reports, IT and we can now respond proactively and investigate problems using
79+
clear dashboards and centralized logging. Additionally, we wrote an OPC XML
80+
exporter for Prometheus that allows us to monitor PLCs (machine controllers).
81+
82+
## Technologies
83+
84+
- **Version Control**: GitLab
85+
- **Back End**: Python
86+
- **Monitoring**: Prometheus & Grafana
87+
- **Logging**: Loki
88+
- **Database**: Microsoft SQL Server
89+
- **Integration System**: ERP
90+
- **Industrial Communication**:OPC XML

src/i18n/ch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ const ts = {
216216
"openbao.subtitle":
217217
"Digitali Souveränität mit Enterprise-Grade Secrets Management",
218218
"openbao.description":
219-
"Fully managed Secrets Management uf Open-Source-Basis. Sichere dini API-Keys, Zertifikat u Zuegangsdatä mit 24×7-Support vo Schwiizer Expert:inne.",
219+
"Fully managed Secrets Management uf Open-Source-Basis. Sichere dini API-Keys, Zertifikat u Zuegangsdatä mit 24×7-Support vo Schwiizer Expert:inne dür Servala und VSHN.",
220220
"openbao.cta": "Mit OpenBao starte",
221221
"openbao.about.title": "Was isch OpenBao?",
222222
"openbao.about.description1":

src/i18n/de.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ const de = {
222222
"openbao.subtitle":
223223
"Digitale Souveränität mit Enterprise-Grade Secrets Management",
224224
"openbao.description":
225-
"Fully managed Secrets Management auf Open-Source-Basis. Sichere deine API-Keys, Zertifikate und Zugangsdaten mit 24×7-Support von Schweizer Expert:innen.",
225+
"Fully managed Secrets Management auf Open-Source-Basis. Sichere deine API-Keys, Zertifikate und Zugangsdaten mit 24×7-Support von Schweizer Expert:innen durch Servala und VSHN.",
226226
"openbao.cta": "Mit OpenBao starten",
227227
"openbao.about.title": "Was ist OpenBao?",
228228
"openbao.about.description1":

src/i18n/en.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ const en = {
214214
"openbao.title": "OpenBao",
215215
"openbao.subtitle": "Sovereign, Enterprise-Grade Secrets Management",
216216
"openbao.description":
217-
"Fully managed secrets management built on open standards. Secure your API keys, certificates, and credentials with 24×7 support from Swiss experts.",
217+
"Fully managed secrets management built on open standards. Secure your API keys, certificates, and credentials with 24×7 support from Swiss experts powered by Servala and VSHN.",
218218
"openbao.cta": "Get Started with OpenBao",
219219
"openbao.about.title": "What is OpenBao?",
220220
"openbao.about.description1":

0 commit comments

Comments
 (0)