batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion

BATbern
BATbernBATbern
Rail Control System:
Hochverfügbare
Anwendungen für die
Bahnproduktion
E. Wernli / M. Hoffmann
Rail Control System: Hochverfügbare Anwendungen
für die Bahnproduktion
2
Die Schweizerischen Bundesbahnen betreiben eines der weltweit dichtest befahrenen
Bahnnetze der Welt. Zur Überwachung und Steuerung ist seit nunmehr 10 Jahren das
eigenentwickelte Rail Control System (RCS) im Einsatz und wird laufend weiterentwickelt.
In dieser Präsentation stellen wir die auf Event-Verarbeitung basierenden
Lösungsansätze vor, welche die hohen Anforderungen bezüglich Latenz und
Hochverfügbarkeit für Systeme der Bahnproduktion adressieren
Erwann Wernli
Leadarchitekt RCS
@wrnli
Marc Hoffmann
Softwarearchitekt RCS
@marcandsweep
AGENDA
• Problemstellung
▪ Fachlicher Kontext
▪ Hochverfügbarkeit und Disaster Recovery
▪ Technologiestack
• Mechanismen
• Kommunikationsinfrastruktur
• Hochverfügbarkeitsmechanismen
• Verarbeitungsmuster
• Datenhaltung
• Disaster Recovery
• Herausforderung Zukunft
3
Problemstellung
Von der Planung bis zur Zugfahrt
Langfristplanung
Jahresfahrplan
Tagesfahrplan
Disposition
Lenkung
Jahre
Tage
Minuten
Sekunden
Hochverfügbar
> 1000 Msg/s
< 1s Latenz
5
Netzweite
Disposition
Netzweite
Prognose
Echtzeit
Betriebslage
Gleis-/Signal-
genau
➔ Bessere Auslastung des Netzes
➔ Höhere Pünktlichkeit
Regelkreis im System Bahn
Disposition
Optimierung
Prognose
Betriebsabbild Lenkung
7
ClientPersistenz & Caching
Messaging
Runtime
RCS Technologie-Stack
Java 8 OSGi / Equinox
Tibco Rendezvous
Coherence
Oracle DB
Hibernate
Eclipse RCP
8
Definition: Hochverfügbarkeit
9
Aspekte
NFR Kein spürbarere Ausfall auf Service Level
Management Vollautomatisch
Use Cases • Partielle, physische Ausfälle
• Ausfall einzelner Nodes
• Absturz einzelner Services
• (Service Upgrade)
Strategien • Hardware Redundanz
• Logische Redundanz von Services und State
• Evtl. Location Redundanz
https://de.wikipedia.org/wiki/Hochverf%C3%BCgbarkeit
Definition: Disaster Recovery
10
Aspekte
NFR Durch den Business Case gegeben:
• Recovery Time Objective (RTO)
• Recovery Point Objective (RPO)
Management Manueller Eingriff nach bewusster Entscheidung
Use Cases • Physischer Totalverlust (Brand, Naturkatastrophen,
…)
• Vollständiger Stromausfall oder Netzwerkunterbruch
• Fehlmanipulationen
• Bugs
• Kaputter Release ("botched")
Strategien • Standortredundanz
• Vollständige logische Separation
• Restore
https://de.wikipedia.org/wiki/Disaster_Recovery
Verfügbarkeitsanforderungen bei RCS
 Quality Key Attributes
• Verfügbarkeit inkl. Wartungsfenster 99.8%
• Failover Server 20 s
• Disaster Recovery 15 min
• Wartungsfenster (max. 6 pro Jahr) 1 h
→ Mit 99.8% Verfügbarkeit inkl. 6 Wartungsfenster à 1 h verbleiben
11.5 h pro Jahr
11
Mechanismen
RCS Verarbeitungsmodel
• 40+ Prozessgruppen
• 200+ Prozess-Instanzen
• Asynchrone Kommunikation
• Choreographie ohne zentrale Koordination
ClientProzesseProzessorenVerar-beiterVear-beiter
Dispo
Umsysteme
Support Prozesse
D
Br
RT-EXADL HOT
Infr
a
FahrplanIEIST
Taxi CIS FOS
CIS
IProz
FOS Proz
ZLR
LTA+
Obj
Mgr
ZDS
Imp
Pro
g
Prog
CP
IST
DQ
IE
DQ
Fpl
DQ
PSS Proz
(BLS/SBB)
PSS ILTIS
Form
Ver
Hot
Mon
GEMS
Msg
Sche
FEG
Sup
visor
Cli
Prox
Reg
Serv
TW M
Ansc
Rec
Taxi
Ver
Taxi
Proz
GEM
Proz
Adm
Adm
Task
Bta
Proc
(BLS/SBB)
I
DQ
In H
Prox
In H
PT
ALEA
KVZ
Archiv
ZLD
BTA
Zabr
DQ
EMS
Proz
PAIP
RTX
Core
Data
Imp
DiBr
ExIm
UNO
Hot
Opt
nKet
Rech
UNO
Imp
Afi
Ad
IE
Ver
ZLR
FZeit
Last
Mon
Cac
Load
TZD
Gen
Dis
Ver
Fpl
Ver
BL KernVTief Prog
M
Dir
Ses
Mgr
Mgm
Afi
DiBr
ExIm
Lta Proz
Synt Proz
CBT
Prox
GBT
Prox
PAIP
Int
ZN Term
Znt Prox
RV
Prox PTS
Proz
ZKE
ZKE
Int
HOT
ZLV
13
ClientSubnetzServerSubnetz
Hochverfügbarkeit auf Kommunikationsebene
Verteilte Architektur
RVRD
RVRD
RVRD
RVRD
RVD
RVD
RVD
TCP/IP
Queue
TCP/IP
Filtering
Betriebslage
RVD
RVD
Multicast
Zentrale Architektur
Multicast
Tibco Rendez-Vous
(very to many)
(one to few)
14
Hochverfügbarkeit auf Prozess-Ebene
Distributed Queue
DQ
Prozess
A
DQ
Prozess
DQ
Prozess
B C
FT
Prozess
Fault Tolerant Group
FT
Prozess
A
B
C
A
B
C
aktiv
passiv
Redundanz kritischer
Komponenten
Fehlertolerantes
Verhalten
Voraussetzungen für
Hochverfügbarkeit
FT-Prozesse und Statehandling
Non Recoverable State Recoverable
DB, Cache, …
1Deterministische Verarbeitung
garantiert fachlich Äquivalenz
1
Failover
2
3
Failover
2
16
Verarbeitungsmuster
Es gibt zwei primäre Muster in RCS
17
Event-getriebene
Verarbeitungen
Kontinuierliche
Verarbeitungen
Datensicht Local Global
HA DQ FT
Beispiele Dispositionen
Client Requests
Datentransformationen
…
Prognose
Optimierungen
Statehandling Cache / Datenbank In-Memory
Typen von Events
Notification: A Notification of change in the domain
• Zugstandortmeldung
• Fahrempfehlung
• Import completed
• …
Event-Carried State Transfer: Replication of state
• Fahrplanupdate
• Prognose
• …
18
Siehe https://martinfowler.com/articles/201701-event-driven.html
Daten und Temporalität
19
Uni-temporal Bi-temporal
Datenhaltung
Typ Interessen-
bereich
Eigenschaften
In-Memory
Store
[0, +90 M] • In-Process Heap
• Keine Serialisierung
• Volume: GBs / pro Prozess
Distributed
Cache
[-1 H, +4 H] • Verteilter Cache mit
Replication
• Object Serialisierung
• Volume: mehrere GBs
Datenbank [-5 T, + 27 H] • Oracle RAC
• Object-Relational Mapping
• Volume: mehrere GBs
20
Zeit
jetzt
Disaster Recovery
21
Aktive Produktion
Standort A
Passive Produktion
Standort B
Tibco
Router
Dispo Bridge
Umsysteme
>400 RCS-Arbeitsplätze
Herausforderung Zukunft
Steigende Automatisierung
• Verstärkte Abhängigkeit von Softwarelösungen
➔ Grosse Auswirkungen bei Ausfällen
• Umfassende Optimierungen
➔ Hohe Anforderungen an Datengenauigkeit
➔ Steigende Datenmengen und Rechenbedarf
• Feedbackloops mit dem System Bahn
➔ Anspruchsvolle Integrationstests
23
Hochverfügbarkeit und Cloud
Pro
• Flexible und schnelle Entwicklung durch moderne
Deploymentverfahren
• Hohe Skalierbarkeit – wenn die Applikation dafür entwickelt ist
Contra
• Gegenseitige Beeinflussung von Anwendungen auf geteilten
Plattformen
• Unzuverlässige Netzwerkanbindung externer Clouds
• Zu schwache SLAs
• Behandlung von zustandsbehafteten Services
24
Viele Dank!
Fragen?
25
jobs.sbb.ch
Erwann Wernli
Leadarchitekt RCS
@wrnli
Marc Hoffmann
Softwarearchitekt RCS
@marcandsweep
1 de 25

Recomendados

SAP Plant Connectivity (SAP PCo) por
SAP Plant Connectivity (SAP PCo)SAP Plant Connectivity (SAP PCo)
SAP Plant Connectivity (SAP PCo)SERKEM GmbH
273 visualizações8 slides
Nagios Conference 2006 | SAP Monitoring I by Michael Kienle por
Nagios Conference 2006 |  SAP Monitoring I by Michael KienleNagios Conference 2006 |  SAP Monitoring I by Michael Kienle
Nagios Conference 2006 | SAP Monitoring I by Michael KienleNETWAYS
35 visualizações36 slides
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann por
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannOSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
OSMC 2012 | Performance graphing mit inGraph by Eric LippmannNETWAYS
37 visualizações30 slides
Technologieraum übergreifende Programmierung por
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
675 visualizações62 slides
Die Bedeutung der Diagnose in der Fahrzeugentwicklung por
Die Bedeutung der Diagnose in der FahrzeugentwicklungDie Bedeutung der Diagnose in der Fahrzeugentwicklung
Die Bedeutung der Diagnose in der FahrzeugentwicklungSchleissheimer GmbH
1.6K visualizações14 slides
OSMC 2011 | Monitoring "wer kennt wen" mit free and open source software by J... por
OSMC 2011 | Monitoring "wer kennt wen" mit free and open source software by J...OSMC 2011 | Monitoring "wer kennt wen" mit free and open source software by J...
OSMC 2011 | Monitoring "wer kennt wen" mit free and open source software by J...NETWAYS
45 visualizações27 slides

Mais conteúdo relacionado

Similar a batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion

Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br... por
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...
Fische im Rechenzentrum – Was genau ist eigentlich dieses Redfish und wozu br...BOSTON Server & Storage Solutions GmbH
323 visualizações28 slides
Fördertechnik in SAP por
Fördertechnik in SAPFördertechnik in SAP
Fördertechnik in SAPSERKEM GmbH
56 visualizações7 slides
Thomas Mühlehner (automationX) por
Thomas Mühlehner (automationX)Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)Praxistage
34 visualizações33 slides
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ... por
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...NETWAYS
43 visualizações32 slides
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ... por
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
5.4K visualizações80 slides
Mobile Service Manager V4 07 Möbel por
Mobile Service Manager V4 07 MöbelMobile Service Manager V4 07 Möbel
Mobile Service Manager V4 07 Möbelmobicomms
415 visualizações42 slides

Similar a batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion(20)

Fördertechnik in SAP por SERKEM GmbH
Fördertechnik in SAPFördertechnik in SAP
Fördertechnik in SAP
SERKEM GmbH56 visualizações
Thomas Mühlehner (automationX) por Praxistage
Thomas Mühlehner (automationX)Thomas Mühlehner (automationX)
Thomas Mühlehner (automationX)
Praxistage34 visualizações
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ... por NETWAYS
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
NETWAYS43 visualizações
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ... por Niels de Bruijn
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
Niels de Bruijn5.4K visualizações
Mobile Service Manager V4 07 Möbel por mobicomms
Mobile Service Manager V4 07 MöbelMobile Service Manager V4 07 Möbel
Mobile Service Manager V4 07 Möbel
mobicomms415 visualizações
Produktblatt TRANSCONNECT - DE | SQL Projekt AG por SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AGProduktblatt TRANSCONNECT - DE | SQL Projekt AG
Produktblatt TRANSCONNECT - DE | SQL Projekt AG
SQL Projekt AG78 visualizações
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis por netmedianer GmbH
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText BasisAnwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis
Anwender-Case Karl Storz GmbH & Co. KG auf OpenText Basis
netmedianer GmbH3.9K visualizações
Testen hoch 10 - Für den Bahnverkehr der Zukunft por Christoph Wolf
Testen hoch 10 - Für den Bahnverkehr der ZukunftTesten hoch 10 - Für den Bahnverkehr der Zukunft
Testen hoch 10 - Für den Bahnverkehr der Zukunft
Christoph Wolf72 visualizações
Innovative Methoden zur Erhebung der Strassengüterverkehrsstatistik por Paradigma Consulting
Innovative Methoden zur Erhebung der StrassengüterverkehrsstatistikInnovative Methoden zur Erhebung der Strassengüterverkehrsstatistik
Innovative Methoden zur Erhebung der Strassengüterverkehrsstatistik
Paradigma Consulting489 visualizações
BPM-Systeme für ein optimiertes Angebots- und Auftragsmanagement por SoftProject GmbH
BPM-Systeme für ein optimiertes Angebots-  und AuftragsmanagementBPM-Systeme für ein optimiertes Angebots-  und Auftragsmanagement
BPM-Systeme für ein optimiertes Angebots- und Auftragsmanagement
SoftProject GmbH196 visualizações
VIT 3-2014 por Volkmar Langer
VIT 3-2014VIT 3-2014
VIT 3-2014
Volkmar Langer3.6K visualizações
Der Roboter als Cyberphysisches System por Christian Henkel
Der Roboter als Cyberphysisches SystemDer Roboter als Cyberphysisches System
Der Roboter als Cyberphysisches System
Christian Henkel167 visualizações
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru... por SQL Projekt AG
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
Mit TRANSCONNECT® in die Cloud – Anwendungsbeispiele bei der DuMont Mediengru...
SQL Projekt AG355 visualizações
Oracle Open World 2009 Review V1.6 por Torsten Winterberg
Oracle Open World 2009 Review V1.6Oracle Open World 2009 Review V1.6
Oracle Open World 2009 Review V1.6
Torsten Winterberg531 visualizações
Enterprise Content Management - Grundlagen und Praxis por Gerald Pitschek
Enterprise Content Management - Grundlagen und PraxisEnterprise Content Management - Grundlagen und Praxis
Enterprise Content Management - Grundlagen und Praxis
Gerald Pitschek975 visualizações
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit por AWS Germany
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
AWS Germany1.6K visualizações
Service Mesh - Kilometer 30 im Microservices-Marathon por Michael Hofmann
Service Mesh - Kilometer 30 im Microservices-MarathonService Mesh - Kilometer 30 im Microservices-Marathon
Service Mesh - Kilometer 30 im Microservices-Marathon
Michael Hofmann302 visualizações
Anwendungsmodernisierung mit Oracle Application Express (APEX) por Niels de Bruijn
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Niels de Bruijn1.7K visualizações
Apache Kafka por gedoplan
Apache KafkaApache Kafka
Apache Kafka
gedoplan101 visualizações

Mais de BATbern

Embracing Serverless: reengineering a real-estate digital marketplace por
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplaceBATbern
29 visualizações35 slides
Serverless und Event-Driven Architecture por
Serverless und Event-Driven ArchitectureServerless und Event-Driven Architecture
Serverless und Event-Driven ArchitectureBATbern
34 visualizações11 slides
Serverless Dev(Ops) in der Praxis por
Serverless Dev(Ops) in der PraxisServerless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der PraxisBATbern
26 visualizações23 slides
Serverless at Lifestage por
Serverless at LifestageServerless at Lifestage
Serverless at LifestageBATbern
36 visualizações22 slides
BATbern51 Serverless?! por
BATbern51 Serverless?!BATbern51 Serverless?!
BATbern51 Serverless?!BATbern
15 visualizações9 slides
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners por
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersEin Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersBATbern
21 visualizações9 slides

Mais de BATbern(20)

Embracing Serverless: reengineering a real-estate digital marketplace por BATbern
Embracing Serverless: reengineering a real-estate digital marketplaceEmbracing Serverless: reengineering a real-estate digital marketplace
Embracing Serverless: reengineering a real-estate digital marketplace
BATbern29 visualizações
Serverless und Event-Driven Architecture por BATbern
Serverless und Event-Driven ArchitectureServerless und Event-Driven Architecture
Serverless und Event-Driven Architecture
BATbern34 visualizações
Serverless Dev(Ops) in der Praxis por BATbern
Serverless Dev(Ops) in der PraxisServerless Dev(Ops) in der Praxis
Serverless Dev(Ops) in der Praxis
BATbern26 visualizações
Serverless at Lifestage por BATbern
Serverless at LifestageServerless at Lifestage
Serverless at Lifestage
BATbern36 visualizações
BATbern51 Serverless?! por BATbern
BATbern51 Serverless?!BATbern51 Serverless?!
BATbern51 Serverless?!
BATbern15 visualizações
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners por BATbern
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen PartnersEin Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
Ein Rückblick anlässlich des 50. BAT aus Sicht eines treuen Partners
BATbern21 visualizações
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision por BATbern
MLOps journey at Swisscom: AI Use Cases, Architecture and Future VisionMLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
MLOps journey at Swisscom: AI Use Cases, Architecture and Future Vision
BATbern220 visualizações
From Ideation to Production in 7 days: The Scoring Factory at Raiffeisen por BATbern
From Ideation to Production in 7 days: The Scoring Factory at RaiffeisenFrom Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
From Ideation to Production in 7 days: The Scoring Factory at Raiffeisen
BATbern65 visualizações
The Future of Coaching in Sport with AI/ML por BATbern
The Future of Coaching in Sport with AI/MLThe Future of Coaching in Sport with AI/ML
The Future of Coaching in Sport with AI/ML
BATbern50 visualizações
Klassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar por BATbern
Klassifizierung von Versicherungsschäden – AI und MLOps bei der MobiliarKlassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
Klassifizierung von Versicherungsschäden – AI und MLOps bei der Mobiliar
BATbern99 visualizações
BATbern48_ZeroTrust-Konzept und Realität.pdf por BATbern
BATbern48_ZeroTrust-Konzept und Realität.pdfBATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern48_ZeroTrust-Konzept und Realität.pdf
BATbern392 visualizações
BATbern48_How Zero Trust can help your organisation keep safe.pdf por BATbern
BATbern48_How Zero Trust can help your organisation keep safe.pdfBATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern48_How Zero Trust can help your organisation keep safe.pdf
BATbern324 visualizações
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf por BATbern
BATbern48_Zero Trust Architektur des ISC-EJPD.pdfBATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern48_Zero Trust Architektur des ISC-EJPD.pdf
BATbern163 visualizações
Why did the shift-left end up in the cloud for Bank Julius Baer? por BATbern
Why did the shift-left end up in the cloud for Bank Julius Baer?Why did the shift-left end up in the cloud for Bank Julius Baer?
Why did the shift-left end up in the cloud for Bank Julius Baer?
BATbern403 visualizações
Creating a Product through DevOps: The Story of APPUiO Cloud por BATbern
Creating a Product through DevOps: The Story of APPUiO CloudCreating a Product through DevOps: The Story of APPUiO Cloud
Creating a Product through DevOps: The Story of APPUiO Cloud
BATbern116 visualizações
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles por BATbern
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
BATbern66 visualizações
DevSecOps-Teams das Security-Steuer überlassen por BATbern
DevSecOps-Teams das Security-Steuer überlassenDevSecOps-Teams das Security-Steuer überlassen
DevSecOps-Teams das Security-Steuer überlassen
BATbern59 visualizações
Compliance und Governance in der DevOps-Acht por BATbern
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
BATbern250 visualizações
Shift Left Security por BATbern
Shift Left SecurityShift Left Security
Shift Left Security
BATbern245 visualizações
Erfolgreich scheitern mit Shift Left und DevOps por BATbern
Erfolgreich scheitern mit Shift Left und DevOpsErfolgreich scheitern mit Shift Left und DevOps
Erfolgreich scheitern mit Shift Left und DevOps
BATbern35 visualizações

batbern43 Rail Control System: hochverfügbare Anwendungen für die Bahnproduktion

  • 1. Rail Control System: Hochverfügbare Anwendungen für die Bahnproduktion E. Wernli / M. Hoffmann
  • 2. Rail Control System: Hochverfügbare Anwendungen für die Bahnproduktion 2 Die Schweizerischen Bundesbahnen betreiben eines der weltweit dichtest befahrenen Bahnnetze der Welt. Zur Überwachung und Steuerung ist seit nunmehr 10 Jahren das eigenentwickelte Rail Control System (RCS) im Einsatz und wird laufend weiterentwickelt. In dieser Präsentation stellen wir die auf Event-Verarbeitung basierenden Lösungsansätze vor, welche die hohen Anforderungen bezüglich Latenz und Hochverfügbarkeit für Systeme der Bahnproduktion adressieren Erwann Wernli Leadarchitekt RCS @wrnli Marc Hoffmann Softwarearchitekt RCS @marcandsweep
  • 3. AGENDA • Problemstellung ▪ Fachlicher Kontext ▪ Hochverfügbarkeit und Disaster Recovery ▪ Technologiestack • Mechanismen • Kommunikationsinfrastruktur • Hochverfügbarkeitsmechanismen • Verarbeitungsmuster • Datenhaltung • Disaster Recovery • Herausforderung Zukunft 3
  • 5. Von der Planung bis zur Zugfahrt Langfristplanung Jahresfahrplan Tagesfahrplan Disposition Lenkung Jahre Tage Minuten Sekunden Hochverfügbar > 1000 Msg/s < 1s Latenz 5
  • 7. Regelkreis im System Bahn Disposition Optimierung Prognose Betriebsabbild Lenkung 7
  • 8. ClientPersistenz & Caching Messaging Runtime RCS Technologie-Stack Java 8 OSGi / Equinox Tibco Rendezvous Coherence Oracle DB Hibernate Eclipse RCP 8
  • 9. Definition: Hochverfügbarkeit 9 Aspekte NFR Kein spürbarere Ausfall auf Service Level Management Vollautomatisch Use Cases • Partielle, physische Ausfälle • Ausfall einzelner Nodes • Absturz einzelner Services • (Service Upgrade) Strategien • Hardware Redundanz • Logische Redundanz von Services und State • Evtl. Location Redundanz https://de.wikipedia.org/wiki/Hochverf%C3%BCgbarkeit
  • 10. Definition: Disaster Recovery 10 Aspekte NFR Durch den Business Case gegeben: • Recovery Time Objective (RTO) • Recovery Point Objective (RPO) Management Manueller Eingriff nach bewusster Entscheidung Use Cases • Physischer Totalverlust (Brand, Naturkatastrophen, …) • Vollständiger Stromausfall oder Netzwerkunterbruch • Fehlmanipulationen • Bugs • Kaputter Release ("botched") Strategien • Standortredundanz • Vollständige logische Separation • Restore https://de.wikipedia.org/wiki/Disaster_Recovery
  • 11. Verfügbarkeitsanforderungen bei RCS  Quality Key Attributes • Verfügbarkeit inkl. Wartungsfenster 99.8% • Failover Server 20 s • Disaster Recovery 15 min • Wartungsfenster (max. 6 pro Jahr) 1 h → Mit 99.8% Verfügbarkeit inkl. 6 Wartungsfenster à 1 h verbleiben 11.5 h pro Jahr 11
  • 13. RCS Verarbeitungsmodel • 40+ Prozessgruppen • 200+ Prozess-Instanzen • Asynchrone Kommunikation • Choreographie ohne zentrale Koordination ClientProzesseProzessorenVerar-beiterVear-beiter Dispo Umsysteme Support Prozesse D Br RT-EXADL HOT Infr a FahrplanIEIST Taxi CIS FOS CIS IProz FOS Proz ZLR LTA+ Obj Mgr ZDS Imp Pro g Prog CP IST DQ IE DQ Fpl DQ PSS Proz (BLS/SBB) PSS ILTIS Form Ver Hot Mon GEMS Msg Sche FEG Sup visor Cli Prox Reg Serv TW M Ansc Rec Taxi Ver Taxi Proz GEM Proz Adm Adm Task Bta Proc (BLS/SBB) I DQ In H Prox In H PT ALEA KVZ Archiv ZLD BTA Zabr DQ EMS Proz PAIP RTX Core Data Imp DiBr ExIm UNO Hot Opt nKet Rech UNO Imp Afi Ad IE Ver ZLR FZeit Last Mon Cac Load TZD Gen Dis Ver Fpl Ver BL KernVTief Prog M Dir Ses Mgr Mgm Afi DiBr ExIm Lta Proz Synt Proz CBT Prox GBT Prox PAIP Int ZN Term Znt Prox RV Prox PTS Proz ZKE ZKE Int HOT ZLV 13
  • 14. ClientSubnetzServerSubnetz Hochverfügbarkeit auf Kommunikationsebene Verteilte Architektur RVRD RVRD RVRD RVRD RVD RVD RVD TCP/IP Queue TCP/IP Filtering Betriebslage RVD RVD Multicast Zentrale Architektur Multicast Tibco Rendez-Vous (very to many) (one to few) 14
  • 15. Hochverfügbarkeit auf Prozess-Ebene Distributed Queue DQ Prozess A DQ Prozess DQ Prozess B C FT Prozess Fault Tolerant Group FT Prozess A B C A B C aktiv passiv Redundanz kritischer Komponenten Fehlertolerantes Verhalten Voraussetzungen für Hochverfügbarkeit
  • 16. FT-Prozesse und Statehandling Non Recoverable State Recoverable DB, Cache, … 1Deterministische Verarbeitung garantiert fachlich Äquivalenz 1 Failover 2 3 Failover 2 16
  • 17. Verarbeitungsmuster Es gibt zwei primäre Muster in RCS 17 Event-getriebene Verarbeitungen Kontinuierliche Verarbeitungen Datensicht Local Global HA DQ FT Beispiele Dispositionen Client Requests Datentransformationen … Prognose Optimierungen Statehandling Cache / Datenbank In-Memory
  • 18. Typen von Events Notification: A Notification of change in the domain • Zugstandortmeldung • Fahrempfehlung • Import completed • … Event-Carried State Transfer: Replication of state • Fahrplanupdate • Prognose • … 18 Siehe https://martinfowler.com/articles/201701-event-driven.html
  • 20. Datenhaltung Typ Interessen- bereich Eigenschaften In-Memory Store [0, +90 M] • In-Process Heap • Keine Serialisierung • Volume: GBs / pro Prozess Distributed Cache [-1 H, +4 H] • Verteilter Cache mit Replication • Object Serialisierung • Volume: mehrere GBs Datenbank [-5 T, + 27 H] • Oracle RAC • Object-Relational Mapping • Volume: mehrere GBs 20 Zeit jetzt
  • 21. Disaster Recovery 21 Aktive Produktion Standort A Passive Produktion Standort B Tibco Router Dispo Bridge Umsysteme >400 RCS-Arbeitsplätze
  • 23. Steigende Automatisierung • Verstärkte Abhängigkeit von Softwarelösungen ➔ Grosse Auswirkungen bei Ausfällen • Umfassende Optimierungen ➔ Hohe Anforderungen an Datengenauigkeit ➔ Steigende Datenmengen und Rechenbedarf • Feedbackloops mit dem System Bahn ➔ Anspruchsvolle Integrationstests 23
  • 24. Hochverfügbarkeit und Cloud Pro • Flexible und schnelle Entwicklung durch moderne Deploymentverfahren • Hohe Skalierbarkeit – wenn die Applikation dafür entwickelt ist Contra • Gegenseitige Beeinflussung von Anwendungen auf geteilten Plattformen • Unzuverlässige Netzwerkanbindung externer Clouds • Zu schwache SLAs • Behandlung von zustandsbehafteten Services 24
  • 25. Viele Dank! Fragen? 25 jobs.sbb.ch Erwann Wernli Leadarchitekt RCS @wrnli Marc Hoffmann Softwarearchitekt RCS @marcandsweep