CommitWork GmbH

Werbung
GTUG Juni 2010
IT-Großprojekte
mit
vertikaler Partionierung
bewältigen
Jürgen Depping
CommitWork GmbH
© CommitWork GmbH
IT Projekte benötigen eine durchdachte Architektur
•
Logische und physikalische Bausteine eines Systems
(Schichten, Komponenten, Subsysteme, ...)
•
Ihre Beziehung zueinander und wie sie miteinander kommunizieren
•
Die Verantwortlichkeiten der einzelnen Bausteine
•
Kriterien, nach denen die Aufteilung eines Systems erfolgt.
Neben der Architektur muss auch der zu verwendende Container, in dem
das System leben soll, berücksichtigt werden.
In Projekten wird oftmals nur eine horizontale Partionierung (2-Tier, 3-Tier
Architektur) berücksichtigt.
IT-Großprojekte starten oftmals als kleines Projekt, ohne dass ein Wachstum
geplant ist. Hieraus ergibt sich die Gefahr eines monolithischen Systems.
Seite 2
Geclusterte J2EE oder NSJSP (Tomcat) Container
Heute werden entweder J2EE Application Server oder NSJSP (Tomcat)
Container für Java basiserte Sytsteme genutzt.
•
•
Ausfallsicherheit und
Skalierbarkeit durch Clustering der Container Instanzen.
Am Beispiel: NSJSP (Tomcat)
WS1
WS1
TC1
DB1
TC2
WS2
Seite 2
DB2
Was befindet sich in einem Container
Container:
•
NonStop JSP (Tomcat) ist ein Container, in dem der serverseitige Teil
der Java-Anwendung läuft.
•
Die virtuelle Java Maschine (JVM) ist die Laufzeitumgebung für den
Tomcat.
•
Innerhalb eines Containers sind meist mehrere Teilprojekte eines ITGroßprojektes installiert.
Seite 4
Was passiert, wenn man ein Cluster mit zu vielen Projekten
überfrachtet?
Auf der HP NonStop gibt es eine Speicherobergrenze von 1 GByte pro JVM.
Lösung: Man nehme viele Cluster! => PARTITIONIERUNG
Vertikale Partitionierung
Projektvielfalt:
•
Speziell beim Rich Client Lösungen möchte man von einer Oberfläche
aus mehrere Projekte bedienen.
•
Ein Verteilung von Projekten auf unterschiedliche Tomcat‘s macht das
Gesamtsystem pflegeleichter und störunanfälliger.
•
Hieraus folgt, dass man von einem Client aus mehrere Cluster erreichen
muss.
Seite 7
Weitere Vorteile der vertikalen Partitionierung
Releasepflege:
•
Um die Downtime einer Anwendung zu minimieren, ist es sinnvoll, nicht
nur ein Cluster, sondern n-Cluster für eine Projekt-Familie anzusprechen.
Hierdurch kann ein Cluster eingefroren und Änderungen vorgenommen
werden. Anschließend wird das Cluster wieder gestartet.
So kann man Schritt für Schritt Upgrades oder Software Updates
durchführen und die Downtime der Produktion minimieren.
Seite 8
Realisierung
•
Das Cluster mit Basisdiensten ist per Konfiguration im Client bekannt.
Die Konfiguration wird per Java Webstart an den Client verteilt.
•
Ein Client nutzt einen BusinessObjectLocator zum Auffinden der
Serverbeans.
•
Der BusinessObjectLocator verwaltet für jedes Projekt die zugehörigen
Server-URLs, die in der Datenbank liegen. Hier dürfen zu einem Projekt
auch mehrere Server-URLs definiert sein! Existiert kein Eintrag in der
Datenbank, so liegt dieses Projekt im Basiscluster.
•
Anmerkung: Der Projekt- bzw. Modulname ist im Packagepfad enthalten.
•
Im Fehlerfall und in konfigurierbaren Zeitabständen (falls >0 Minuten
eingestellt) werden die Server-URLs aktualisiert.
Vertikale Partitionierung von hochverfügbaren Anwendungen
Cluster 1
Projekte A
F
od ailo
Fr er ve
ee
r
ze
Rich
Client
Cluster 2
Projekte A
F
od ailo
Fr er ve
ee
r
ze
Cluster 3
Projekte B
S
E
R
V
E
R
Cluster 4
Projekte B
Cluster können zum Softwareupdate oder Konfiguration separat
heruntergefahren werden! (J2EE Cluster oder NSJSP Cluster)
Seite 10
Update der Clusterzuordnung im Onlinebetrieb
Cluster 1
Projekte A
Cluster 2
Projekte A
Rich
Client
Cluster 3
Projekte B
Cluster 4
Projekte B
Cluster 4
Projekte A
Msg: takeover A from 1 to 4
Seite 11
S
E
R
V
E
R
Fazit
•
Mit der vertikalen Partitionierung von CommitWork kann die
Hochverfügbarkeit von Java Systemen auf HP NonStop nochmals
verbessert werden.
•
Insbesondere die Nutzung von Projektfamilien für Rich Clients wird
unterstützt.
•
Ein Cluster Failover kann mit diesem Produkt abgedeckt werden. Eine
Nutzung des zukünftigen HP Produkts „Pathway Domäne“ ist durch
Änderung der Konfiguration möglich.
•
Eine Zuordnung zu einem neuen Cluster ist jederzeit im laufenden
Betrieb möglich. Dies ermöglicht sowohl eine Lastverteilung als auch die
Reduzierung der „Downtime“ bei Softwareaupdates.
•
Auswahl zwischen Test- und Produktionssystem ist weiterhin möglich.
Seite 11
Java auf HP NonStop
Packen wir´s an!
Jürgen Depping
[email protected]
+49 231 94116912
Herunterladen