160 likes | 269 Views
Clustering Architekturen und Topologien im Enterprise-Bereich. Roger Zacharias Dipl.-Informatiker (FH) Sun Certified Enterprise Architect. Agenda. 1. Wincor Nixdorf AG. 2. Nichtfunktionale Anforderungen. 3. Clustering-Theorie. 4. WebServer-Clustering. 5. Planung eines Clusters.
E N D
Clustering Architekturen und Topologien im Enterprise-Bereich Roger Zacharias Dipl.-Informatiker (FH) Sun Certified Enterprise Architect
Agenda 1. Wincor Nixdorf AG 2. Nichtfunktionale Anforderungen 3. Clustering-Theorie 4. WebServer-Clustering 5. Planung eines Clusters 6. Zusammenfassung
1. Wincor Nixdorf AG • Geschichte: • 1952 Nixdorf Computer AG (gegründet von Heinz Nixdorf) • 1990 Siemens Nixdorf AG • 1999 Wincor Nixdorf International GmbH • 2004 Wincor Nixdorf AG • Daten und Fakten: • ca. 5200 Mitarbeiter • ca. 1,5 Mrd. € Umsatz • in 90 Ländern • WN bietet Hardware / Software / Services in den Bereichen: • Banken • Handel • Post • Lotterie • etc. • www.wincor-nixdorf.com
2. Nichtfunktionale Anforderungen • Kern-NFRs: • Performance • Availability (Verfügbarkeit) • Security • Scalability (Skalierbarkeit) • Extensibility (Erweiterbarkeit) • Reliability (Zuverlässigkeit/Robustheit) • Manageability (Überwachbarkeit/Administrierbarkeit) • Maintainability (Wartbarkeit) • Weitere: • Usability • Dokumentation • Strategien, Politik • etc. • auch bezeichnet als QoS-R., Systemqualitäten, „ilities“ • Analyse und Umsetzung -> Aufgabe des IT-Architekten • 2 Sichten auf eine Komponente Topologie
2.1 Topologiebezogene NFR • Performance • Kennzahlen (TX/s, Antwortzeiten, etc.) • Einflussfaktoren (HW, BS, SW, etc.) • Scalability (Skalierbarkeit) • vertikal • horizontal • Availability (Verfügbarkeit) • Kennzahlen (%) • High-Availability, Fehlertoleranz, 24x7 • Keine SPOFs durch Redundanz!
3. Clustering-Theorie • Definition - Cluster: „Unter einem Cluster versteht man eine Gruppe von Komponenten, welche auf Basis von Redundanz zusammenarbeiten, um eine performantere und höher verfügbare Lösung als eine einzelne Komponente zu bieten; wobei diese Gruppe sich nach außen hin wie eine einzelne Komponente präsentiert.“
3.1 Einordnung des Clustering • Umfassendes IT-Thema: • Hardware (z.B. Stromversorgung, RAID, etc.) • Betriebssystem (z.B. Sun Solaris Cluster Manager, etc.) • Anwendung/Middleware (z.B. gespiegelte Ebay-Server) Anwendung Ebay, Lufthansa-Buchung, Toll Collect, etc. Middleware J2EE AppServer, .NET Server, etc. Betriebssystem NT, SOLARIS, Linux, etc. Hardware / Netzwerk AMD Athlon, Sun E10K, Ethernet, etc.
Ziel Client 1 Client 1 Management-Interface für Cluster Cluster Entry Component Cluster Manager Component Client Client Clients Client 2 Client 1 Client n Replication Mechanismus Business Component x´´ Business Component x Business Component x´ Business Component x 3.2 Cluster-Topologie Cluster vertritt den Cluster gegenüber den Clients Load Distribution Mechanismus (Performance) Failover Mechanismus (Verfügbarkeit) Affinity Mechanismus
3.3 Load Distribution • Verteilung der Last auf die Cluster-Komponenten • Varianten: • Load Sharing • Load Partitioning • Load Balancing
3.4 Replication und Failover • Replikation der Statusinformationen für Failover • Varianten: • Passive Replication / Warm Backup • Active Replication / Hot Backup • Cold Backup
4. WebServer-Clustering • Mapping: • Clients: Web-Browser • Business Components: HTML-Seiten auf verschiedenen Servern • Cluster Entry Component (CEC) ? • CEC Möglichkeiten: • DNS Round Robin • WebServer Plugin-Modul • Hardware Load Distributor • Replikation: • HTTPSession • Affinität über Session-ID -> Cookies oder URL-Rewriting
5. Planung eines Clusters • Was muss beachtet werden? • komplex! • meist reichen zwei starke Server für Hochverfügbarkeit • „70/90% CPU Utilization Rules“ • „Machine Equivalence“ • prozentuale Verfügbarkeit (z.B. 99,9%) • funktionsbezogene Verfügbarkeit • Verfügbarkeit der Systemumgebung
5.1 Nachteile Clustering • höhere Kosten (2 Maschinen statt einer) • höherer Aufwand zur Planung und Einrichtung • schwierigeres IT-Management • kompliziertere Fremdsystem-Anbindung (1:n; m:n statt 1:1)
6. Zusammenfassung • Cluster-Definition: • „Unter einem Cluster versteht man eine Gruppe von Komponenten, welche auf Basis von Redundanz zusammenarbeiten, um eine performantere und höher verfügbare Lösung als eine einzelne Komponente zu bieten; wobei diese Gruppe sich nach außen hin wie eine einzelne Komponente präsentiert.“ • Nichtfunktionale Anforderungen nicht vergessen! • 80% der gescheiterten IT-Projekte scheitern aufgrund der Nichterfüllung der NFR!
Mehr Clustering? www.roger-zacharias.de roger.zacharias@wincor-nixdorf.com