Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stahl Gerlafingen Reference Story #75

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
251 changes: 127 additions & 124 deletions package-lock.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/lib/customers/citechsensors-en.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
},
{
"title": "Transitioning to DevOps",
"body": "With the introduction of Kubernetes-based infrastructure and a highly-available microservice architecture, the CI Tech Sensors team undertook a natural step towards a DevOps-way of working. bespinian guided CI Tech Sensors through this transition by coaching, and consulting the teams involved, as well as by establishing the necessary tooling and processes."
"body": "With the introduction of Kubernetes-based infrastructure and a highly-available microservice architecture, the CI Tech Sensors team undertook a natural step towards a DevOps-way of working. bespinian guided CI Tech Sensors through this transition by coaching, and supporting the teams involved, as well as by establishing the necessary tooling and processes."
}
]
},
Expand Down
45 changes: 45 additions & 0 deletions src/lib/customers/stahl-gerlafingen-de.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"name": "Stahl Gerlafingen",
"title": "Modernisierung einer Python Webapplikation",
"logo": {
"file": "stahl-gerlafingen.png",
"alt": "Stahl Gerlafingen"
},
"customer": "Die <a href=\"https://www.stahl-gerlafingen.ch/\" target=\"_blank\">Stahl Gerlafingen AG</a> stellt in Gerlafingen im Kanton Solothurn Bewehrungs- und Profilstahl her. Mit rund 540 Mitarbeitenden produziert das Unternehmen jährlich rund 700'000 Tonnen Stahlprodukte für den Bedarf im In- und Ausland und ist damit der grösste Recycling-Stahlproduzent der Schweiz. Die Produkte finden sich in Gebäuden, Brücken, Tunneln, Lastwagen und in einer Vielzahl von Maschinen und Apparaten wieder.",
"background": "Vor rund 15 Jahren kam der Bedarf im Werk auf, Daten aus den vielen industriellen Steuerungsanlagen in einer zentralen Stelle zu sammeln und mit weiteren Betriebsdaten, zum Beispiel Produktionsaufträge aus SAP, zusammenzuführen. Dafür wurde mit Python die Webapplikation “Petrinetz” entwickelt, welche die Geräte und Umsysteme ansteuert und die Daten für Benutzende im ganzen Betrieb aufbereitet. Später wurde die Software erweitert, sodass mit den vorhandenen Daten der ganze Produktionsprozess ab dem Walzwerk gesteuert wird. Da Petrinetz ein zentraler Teil des Stahlwerks ist, wurde bespinian 2023 angefragt, die Applikation zu modernisieren, bei auftretenden Problemen im Betrieb als Troubleshooter zu helfen und ein robustes Monitoring für Petrinetz und seine Infrastruktur einzurichten.",
"goal": "Das Ziel unseres Einsatzes war es, die Software auf eine nachhaltige und pflegbare Basis zu stellen und den Betrieb bis zur Ablösung mit einer Standardlösung in zwei bis drei Jahren zu sichern. Nebst der Implementierung von anstehenden Änderungsanträgen, sollte die Applikation auf die neuste Python Version migriert, ein Dependency Management eingeführt und ein automatisierter Deployment-Prozess umgesetzt werden. Ausserdem sollte die Applikation von einem Monitoringsystem überwacht werden. Um Änderungen zuverlässiger umzusetzen, sollten für die ganze Applikation Unittests geschrieben werden.",
"contribution": {
"intro": "",
"topics": [
{
"title": "Unterstützung beim Betrieb",
"body": "Die Applikation Petrinetz ist für den Produktionsbetrieb bei Stahl Gerlafingen zentral. bespinian unterstützt die IT-Abteilung beim Betrieb der Software und springt als Troubleshooter ein, wenn etwas nicht mehr tut, wie es soll. Zudem haben wir einige Change Requests implementiert."
},
{
"title": "Modernisierung der Applikation",
"body": "Nach der Einführung von Git zur Versionsverwaltung haben wir über 800 Unittests geschrieben, um das Risiko bei Änderungen am Code zu reduzieren. Diese Tests werden nun vor jedem Deployment in einer GitLab Pipeline automatisiert ausgeführt. Dies hat die Zahl der Incidents nach einem Deployment drastisch reduziert. Danach waren wir in der Lage Python auf die neuste unterstützte Version zu migrieren und einzelne Python Dateien, mit zum Teil über 6000 Zeilen Code, in übersichtliche Module aufzuteilen."
},
{
"title": "Monitoring",
"body": "Zur proaktiven Überwachung der Applikation und deren Umgebung setzen wir die Open Source Produkte Prometheus, Grafana und Loki ein. Anstatt auf Meldungen der Benutzenden zu reagieren, können die IT und wir jetzt proaktiv reagieren und mittels übersichtlicher Dashboards und zentralem Logging Probleme untersuchen. Zudem haben wir für Prometheus einen OPC XML Exporter geschrieben, mit dem wir die PLCs (Maschinensteuerungen) überwachen können."
}
]
},
"technologies": [
"GitLab",
"Python",
"Prometheus & Grafana",
"Loki",
"Windows Server",
"Microsoft SQL Server",
"SAP",
"OPC XML – Industrial Communication"
],
"quote": {
"body": "",
"stakeholder": {
"name": "Andrea Scordia",
"role": "Leiter IT"
}
}
}
45 changes: 45 additions & 0 deletions src/lib/customers/stahl-gerlafingen-en.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
{
"name": "Stahl Gerlafingen",
"title": "Modernisierung einer Python Webapplikation",
"logo": {
"file": "stahl-gerlafingen.png",
"alt": "Stahl Gerlafingen"
},
"customer": "Die <a href=\"https://www.stahl-gerlafingen.ch/\" target=\"_blank\">Stahl Gerlafingen AG</a> stellt in Gerlafingen im Kanton Solothurn Bewehrungs- und Profilstahl her. Mit rund 540 Mitarbeitenden produziert das Unternehmen jährlich rund 700'000 Tonnen Stahlprodukte für den Bedarf im In- und Ausland und ist damit der grösste Recycling-Stahlproduzent der Schweiz. Die Produkte finden sich in Gebäuden, Brücken, Tunneln, Lastwagen und in einer Vielzahl von Maschinen und Apparaten wieder.",
"background": "Vor rund 15 Jahren kam der Bedarf im Werk auf, Daten aus den vielen industriellen Steuerungsanlagen in einer zentralen Stelle zu sammeln und mit weiteren Betriebsdaten, zum Beispiel Produktionsaufträge aus SAP, zusammenzuführen. Dafür wurde mit Python die Webapplikation “Petrinetz” entwickelt, welche die Geräte und Umsysteme ansteuert und die Daten für Benutzende im ganzen Betrieb aufbereitet. Später wurde die Software erweitert, sodass mit den vorhandenen Daten der ganze Produktionsprozess ab dem Walzwerk gesteuert wird. Da Petrinetz ein zentraler Teil des Stahlwerks ist, wurde bespinian 2023 angefragt, die Applikation zu modernisieren, bei auftretenden Problemen im Betrieb als Troubleshooter zu helfen und ein robustes Monitoring für Petrinetz und seine Infrastruktur einzurichten.",
"goal": "Das Ziel unseres Einsatzes war es, die Software auf eine nachhaltige und pflegbare Basis zu stellen und den Betrieb bis zur Ablösung mit einer Standardlösung in zwei bis drei Jahren zu sichern. Nebst der Implementierung von anstehenden Änderungsanträgen, sollte die Applikation auf die neuste Python Version migriert, ein Dependency Management eingeführt und ein automatisierter Deployment-Prozess umgesetzt werden. Ausserdem sollte die Applikation von einem Monitoringsystem überwacht werden. Um Änderungen zuverlässiger umzusetzen, sollten für die ganze Applikation Unittests geschrieben werden.",
"contribution": {
"intro": "",
"topics": [
{
"title": "Unterstützung beim Betrieb",
"body": "Die Applikation Petrinetz ist für den Produktionsbetrieb bei Stahl Gerlafingen zentral. bespinian unterstützt die IT-Abteilung beim Betrieb der Software und springt als Troubleshooter ein, wenn etwas nicht mehr tut, wie es soll. Zudem haben wir einige Change Requests implementiert."
},
{
"title": "Modernisierung der Applikation",
"body": "Nach der Einführung von Git zur Versionsverwaltung haben wir über 800 Unittests geschrieben, um das Risiko bei Änderungen am Code zu reduzieren. Diese Tests werden nun vor jedem Deployment in einer GitLab Pipeline automatisiert ausgeführt. Dies hat die Zahl der Incidents nach einem Deployment drastisch reduziert. Danach waren wir in der Lage Python auf die neuste unterstützte Version zu migrieren und einzelne Python Dateien, mit zum Teil über 6000 Zeilen Code, in übersichtliche Module aufzuteilen."
},
{
"title": "Monitoring",
"body": "Zur proaktiven Überwachung der Applikation und deren Umgebung setzen wir die Open Source Produkte Prometheus, Grafana und Loki ein. Anstatt auf Meldungen der Benutzenden zu reagieren, können die IT und wir jetzt proaktiv reagieren und mittels übersichtlicher Dashboards und zentralem Logging Probleme untersuchen. Zudem haben wir für Prometheus einen OPC XML Exporter geschrieben, mit dem wir die PLCs (Maschinensteuerungen) überwachen können."
}
]
},
"technologies": [
"GitLab",
"Python",
"Prometheus & Grafana",
"Loki",
"Windows Server",
"Microsoft SQL Server",
"SAP",
"OPC XML – Industrial Communication"
],
"quote": {
"body": "",
"stakeholder": {
"name": "Andrea Scordia",
"role": "Leiter IT"
}
}
}
Binary file added src/lib/images/stahl-gerlafingen.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/lib/locales/ch.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"team": {
"nav_item": "Team",
"title": "Üses Team",
"body": "Mir si Cloud Software Engineers vor erste Stung mit Bruefserfahrig sowohl i Grossungernähme als ou i Start-ups. Mir si stolz uf üsi Fähigkeite als kompetänti Berater:inne, ifühlsami Coaches u erfahreni Coder:inne. Interessiert üs z träffe? De chum eifach ungeniert über Social Media uf üs zue, triff üs amne Meetup ir Nechi oder nütz ds Kontaktformular unge.",
"body": "Mir si Cloud Software Engineers vor erste Stung mit Bruefserfahrig sowohl i Grossungernähme als ou i Start-ups. Mir si stolz uf üsi Fähigkeite als kompetänti Architekt:inne, ifühlsami Coaches u erfahreni Coder:inne. Interessiert üs z träffe? De chum eifach ungeniert über Social Media uf üs zue, triff üs amne Meetup ir Nechi oder nütz ds Kontaktformular unge.",
"mathis": {
"catchphrase": "Keeper of Simple",
"body": "Softwarearchitekt u Mitgründer. Spezialisert uf Microservices, Container-Technologie and Cloud-Native Engineering."
Expand Down
2 changes: 1 addition & 1 deletion src/lib/locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"team": {
"nav_item": "Team",
"title": "Unser Team",
"body": "Wir sind Cloud Software Engineers der ersten Stunde mit Berufserfahrung sowohl in Grossunternehmen als auch in Start-ups. Wir sind stolz auf unsere Fähigkeiten als kompetente Berater:innen, einfühlsame Coaches und erfahrene Coder:innen. Interessiert, uns zu treffen? Dann komm einfach ungeniert über Social Media auf uns zu, triff uns an einem Meetup in deiner Nähe oder nutze das Kontaktformular unten.",
"body": "Wir sind Cloud Software Engineers der ersten Stunde mit Berufserfahrung sowohl in Grossunternehmen als auch in Start-ups. Wir sind stolz auf unsere Fähigkeiten als kompetente Architekt:innen, einfühlsame Coaches und erfahrene Coder:innen. Interessiert, uns zu treffen? Dann komm einfach ungeniert über Social Media auf uns zu, triff uns an einem Meetup in deiner Nähe oder nutze das Kontaktformular unten.",
"mathis": {
"catchphrase": "Keeper of Simple",
"body": "Softwarearchitekt und Mitgründer. Spezialisiert auf Microservices, Container-Technologien und Cloud-Native Engineering."
Expand Down
2 changes: 1 addition & 1 deletion src/lib/locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
"team": {
"nav_item": "Team",
"title": "The Team",
"body": "We are cloud-native software engineers with experience in both the corporate and the startup world. We pride ourselves in being expert consultants, competent coaches and seasoned coders at the same time. Interested in meeting us? You are welcome to approach us on social media or at a meetup near you.",
"body": "We are cloud-native software engineers with experience in both the corporate and the startup world. We pride ourselves in being expert architects, competent coaches and seasoned coders at the same time. Interested in meeting us? You are welcome to approach us on social media or at a meetup near you.",
"mathis": {
"catchphrase": "Keeper of Simple",
"body": "Software Architect and co-founder. Specialized in microservices, container technologies and cloud-native engineering."
Expand Down
2 changes: 1 addition & 1 deletion src/routes/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
<title>bespinian - Cloud Native Citizens</title>
<meta
name="description"
content="bespinian offers cloud native consulting and engineering based on a wide range of technologies and platforms like Kubernetes, OpenShift, AWS, Azure and GCP."
content="bespinian offers cloud native engineering and architecting based on a wide range of technologies and platforms like Kubernetes, OpenShift, AWS, Azure and GCP."
/>
</svelte:head>

Expand Down
4 changes: 3 additions & 1 deletion src/routes/Customers.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import bfh from '$lib/images/bfh.webp';
import kalaidos from '$lib/images/kalaidos.webp';
import xovis from '$lib/images/xovis.svg';
import stge from '$lib/images/stahl-gerlafingen.png';

interface Customer {
name: string;
Expand All @@ -35,7 +36,8 @@
{ name: 'Skoor', logo: skoor, link: 'https://www.skoor.com' },
{ name: 'Zeilenwerk', logo: zeilenwerk, link: 'https://zeilenwerk.ch' },
{ name: 'Berner Fachhochschule', logo: bfh, link: 'https://bfh.ch/' },
{ name: 'Kalaidos Fachhochschule', logo: kalaidos, link: 'https://kalaidos-fh.ch' }
{ name: 'Kalaidos Fachhochschule', logo: kalaidos, link: 'https://kalaidos-fh.ch' },
{ name: 'Stahl Gerlafingen', logo: stge, link: '/customers/stahl-gerlafingen' }
];
</script>

Expand Down
11 changes: 11 additions & 0 deletions src/routes/customers/[slug]/+page.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ import citechLogo from '$lib/images/citechsensors-wide.webp';
import swisssignEn from '$lib/customers/swisssigngroup-en.json';
import swisssignDe from '$lib/customers/swisssigngroup-de.json';
import swisssignLogo from '$lib/images/swisssigngroup.svg';
import stgeEn from '$lib/customers/stahl-gerlafingen-en.json';
import stgeDe from '$lib/customers/stahl-gerlafingen-de.json';
import stgeLogo from '$lib/images/stahl-gerlafingen.png';
import xovisEn from '$lib/customers/xovis-en.json';
import xovisDe from '$lib/customers/xovis-de.json';
import xovisLogo from '$lib/images/xovis.svg';
Expand Down Expand Up @@ -58,6 +61,14 @@ export const load: PageLoad = ({ params }) => {
logo: cometGroupLogo
}
};
case 'stahl-gerlafingen':
return {
customer: {
en: stgeEn,
de: stgeDe,
logo: stgeLogo
}
};
}

throw error(404, 'Not found');
Expand Down
8 changes: 4 additions & 4 deletions src/routes/jobs/+page.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<div class="column is-half">
<h3 class="title is-2 is-spaced">Cloud Solutions Engineer 60-100%</h3>
<p>
We are looking to extend our team of consulting software engineers. They each advise
We are looking to extend our team of software engineers and architects. They each advise
multiple customers holistically on different technologies and architectures in various cloud
and container environments. If you like to get to know and work with new bleeding edge
technologies every day and feel at home in public, private and hybrid cloud environments,
Expand All @@ -59,24 +59,24 @@
</li>
<li>You are excited about all things DevOps</li>
<li>You like to work with multiple customers and technologies</li>
<li>You are fluent in German and English</li>
<li>You have worked as a software architect but also as a developing engineer</li>
<li>You are fluent in German and English</li>
</ul>
<br />
<h4 class="title is-4">Nice to Have</h4>
<ul>
<li>You speak French</li>
<li>You have experience developing front end applications</li>
<li>You have experience developing back end applications</li>
<li>You have experience developing microservice architectures</li>
<li>You have experience with writing automation and infrastructure as code</li>
<li>You have an existing professional network in the Swiss cloud market</li>
<li>You speak French</li>
</ul>
<br />
<h4 class="title is-4">Tasks</h4>
<ul>
<li>
You consult our customers on engineering in and around container orchestration and the
You support our customers on engineering in and around container orchestration and the
cloud
</li>
<li>You co-create software architectures with customers</li>
Expand Down