Als einer der größten Vorteile eines serviceorientierten Konzepts wird in erster Linie die Modularisierung der Anwendungen genannt, die sich je nach Bedarf als Services lose koppeln und zu Geschäftsprozessen zusammensetzen lassen. Unbeachtet bleibt allerdings oft, dass ein modulares Softwarekonzept auch nach einer flexiblen Hardwareinfrastruktur verlangt. Nur mit dynamischen Hardwareumgebungen lässt sich das volle Potenzial von SOAs ausschöpfen.
Einer Studie des Marktforschungshauses Aberdeen Research zufolge könnten die 2000 weltgrößten
Unternehmen in den nächsten fünf Jahren bis zu 53 Milliarden Dollar sparen, wenn sie auf
SOA-Infrastrukturen (Service-Oriented Architecture) setzen. Aber soweit ist es noch nicht. Zwar
gibt es inzwischen eine ganze Anzahl erfolgreicher SOA-Projekte, doch eine unternehmensweite
serviceorientierte Infrastruktur hat kaum eine Firma umgesetzt.
So raten folglich auch fast alle Experten, schrittweise und mit kleineren Projekten in den
Aufbau einer SOA-Landschaft einzusteigen. Und selbst dies gestaltet sich nicht einfach:
Unterschiedliche Standards und Definitionen der verschiedenen Softwareanbieter, fehlende Erfahrung
und mangelndes Wissen in den Anwenderunternehmen, vor allem aber die unternehmensinterne Abstimmung
zwischen Business und IT machen SOA-Projekte zu einem schwierigen Unterfangen.
Dennoch: Die Flexibilisierung der Anwendungen lässt sich nicht mehr aufschieben, und kein
Projekt zur Modernisierung der Applikationslandschaft kann heute das Konzept einer SOA ignorieren.
Bei der Planung der Umsetzung einer serviceorientierten Umgebung vergessen Unternehmen leider allzu
oft, dass die Modularität und Flexibilität auf der Ebene der Anwendungssoftware durch eine ebenso
flexible Hardwareinfrastruktur ergänzt werden muss. Denn bereits heute bereitet der Auslastungsgrad
der Server bei einer monolithischen und unflexiblen Applikationsarchitektur so mancher IT-Abteilung
Kopfschmerzen. Während einige Anwendungen bei nicht einmal 20 Prozent der Serverauslastung vor sich
hin dümpeln, fahren andere Applikationen an der Lastgrenze. Im Mittel führt die Auslegung auf
Tages-, Monats-, Quartals-, Saison- oder Jahresspitzen zu einer unwirtschaftlich geringen
Auslastung der Hardware. Dieses Problem wird sich durch diensteorientierte Architekturen
verschärfen.
Heutzutage herrschen in den meisten Rechenzentren so genannte Siloarchitekturen vor. Das heißt,
jeder Anwendung werden ein eigener Server, eine eigene Datenbank und ein eigener Speicher
zugewiesen. Damit sind die Hardwarekomponenten im Durchschnitt zu wenig ausgelastet, denn jedes
Silo hat ein Maximum an Ressourcen zur Verfügung, um auftretende Spitzenbelastungen abzufangen und
die Ausfallsicherheit der einzelnen Silos zu gewährleisten. Ein weiteres Manko dieser Architektur
stellen redundante Komponenten dar, die zur Erfüllung von Service Level Agreements (SLAs) benötigt
werden. Diese sind speziell auf die einzelnen Silos zugeschnitten und meist nicht für anderweitige
Aufgaben nutzbar. Neben höheren Kosten für Rechnersysteme sorgen die vielen voneinander getrennten
Plattformen für einen großen Administrationsaufwand und erhöhen die Kosten auf diese Weise
zusätzlich.
Die Modularisierung der Anwendungslandschaft in viele einzelne Services führt nun zu einer noch
höheren Ineffizienz auf der Hardwareseite. Weil die Anzahl der Softwarekomponenten im Vergleich zu
der in einer monolithischen Anwendungsarchitektur stark ansteigt und nun jeder Service ein
Hardwaresystem benötigt, wird bei der Einführung einer SOA insgesamt mehr Hardware gebraucht – und
zwar viele kleine Systeme (Scale-out) statt weniger großer Systeme wie bei monolithischen
Anwendungen (Scale-up). Es sind also noch mehr Server mit geringem Auslastungsgrad im Einsatz, was
die Kosten sowie den Administrationsaufwand weiter in die Höhe treibt.
Im Fall einer komplexen SOA, in der viele Anwender die Services in verschiedenen Prozessen
nutzen, ist es zudem so gut wie unmöglich, den maximalen Auslastungsgrad der einzelnen Server
abzuschätzen. Gerade die Flexibilität der Dienste wird hier zum Problem, da die beliebige
Kombinierbarkeit der Softwaremodule auf den Servern zu Engpässen führen kann, die im Vorfeld nur
schwer absehbar sind. Also müssen die den einzelnen Diensten zugeordneten Server für unter
Umständen auftretende höchstmögliche Lastspitzen ausgelegt sein. Die Überlastung eines einzigen
gemeinsam genutzten Services kann zu einer Beeinträchtigung aller Geschäftsprozesse führen, die
diesen Dienst nutzen, und im schlimmsten Falle sogar geschäftskritische Abläufe stören.
Durch die Einführung einer spezifischen, auf die Bedürfnisse einer diensteorientierten
Architektur zugeschnittenen dynamischen Infrastruktur, die sich den sich verändernden
Leistungsanforderungen anpasst, kann gewährleistet werden, dass stets genügend Leistung für die
einzelnen Services zur Verfügung steht. Eine solch dynamische Infrastruktur besitzt aus
architektonischer Sicht selbst eine Komponentenstruktur, in der sich einzelne
Infrastrukturfunktionen als Services interpretieren lassen. Sie setzt sich also aus
Infrastrukturdiensten zusammen und kann deshalb als eine "serviceorientierte Infrastruktur" (SOI)
bezeichnet werden.
Erreicht wird diese Flexibilität ähnlich wie auf Softwareebene durch Entkoppelung: Geht es bei
der Software um die Trennung der Anwendungsebene von der Prozessebene, werden auf der Hardwareseite
die starren Beziehungen zwischen Applikationen und Hardware mittels Virtualisierung aufgebrochen
und dabei die Applikationen und ihre Daten von den fest zugeordneten Hardwareressourcen entkoppelt,
in Pools gebündelt und den Applikationen nach Bedarf flexibel zugewiesen. So können mehreren
Anwendungen diese Ressourcen gemeinsam nutzen. Das Ergebnis ist eine verbesserte Performance,
höhere Flexibilität sowie ein besserer Auslastungsgrad der IT-Infrastrukturen. Im Vordergrund
stehen dabei die Services, die dem Anwender zur Verfügung stehen, sowie SLAs, die das
Qualitätsniveau der bereitgestellten Services definieren.
Die Virtualisierung der Serversysteme lässt sich beispielsweise mithilfe von Lösungen wie dem
Vmware-ESX-Server realisieren, zum Virtualisieren von Storage-Komponenten eignen sich diverse
SAN-Produkte, und die Virtualisierung der Backup-Lösungen kann beispielsweise über Virtual Tape
Libraries erfolgen. Die Verfügbarkeit und Auslastung der vorhandenen Server-Pools überwachen und
steuern Monitoring- und Management-Tools. Diese übernehmen beispielsweise bei Verletzung der
definierten Service Levels sofort die automatische Verteilung von Betriebssystemen und Anwendungen
innerhalb des Server-Pools (oder installieren bei Bedarf auch neue virtuelle Serversysteme). So
werden die Lasten effektiv gesteuert, und die Verfügbarkeit der Systeme bleibt stets
gewährleistet.
Die Planung einer serviceorientierten Architektur, die gleichzeitig die Flexibilisierung der
Hardwareinfrastruktur einbezieht, gestaltet sich nicht einfach. Denn neben den grundsätzlichen
Überlegungen zu den Änderungen der Softwarelandschaft müssen die Anforderungen an die künftige
IT-Infrastruktur ermittelt und Umsetzungsschritte geplant werden. Ohne Methodenwissen und spezielle
Analysewerkzeuge sind Anwender, die mit SOA meist Neuland betreten, überfordert. Einige Anbieter
haben deshalb entsprechende Dienstleistungen im Programm, die den Unternehmen helfen, ihre
vorhandene IT-Landschaft in eine serviceorientierte IT-Architektur umzuformen. Im Idealfall
arbeiten Hard- und Softwareanbieter dabei Hand in Hand, wie etwa Fujitsu Siemens Computers und
SAP-Consulting. In vier aufeinander folgenden Teilschritten – von der Bestandsaufnahme im
Applikations- und Infrastrukturbereich bis zur Festlegung der Zielarchitektur – wird zusammen mit
dem Anwender der Weg in eine zukunftsfähige, serviceorientierte IT-Architektur erarbeitet. Am Ende
des Prozesses steht eine individuelle Roadmap, die beschreibt, welche Schritte nötig sind, um die
spezifische Hardware- und Anwendungslandschaft des Kunden in eine serviceorientierte IT-Landschaft
umzuformen.