Verschiedene Arten der Virtualisierung werden als Abstraktionen verschiedener physischer IT-Ressourcen wie Server, Desktops, Datenbanken, Speicher, Netzwerke und Services verwendet. Sowohl für die Softwareentwicklung als auch für den IT-Betrieb ist das Ziel der Virtualisierung die Förderung von Flexibilität, Effizienz und Agilität bei gleichzeitiger Reduzierung der IT-Gesamtkosten. Dieser Artikel konzentriert sich auf die Virtualisierung von Services und zeigt auf, wie Service-Virtualisierung (SV) die digitale Transformation beschleunigen kann.
„Continuous delivery“ ist zur Norm geworden und entwickelt sich stetig weiter, um es Teams zu ermöglichen, so schnell und zweckdienlich wie möglich zusammenzuarbeiten. Die Abhängigkeiten zwischen parallelen Entwicklungs- und Testteams haben den Bedarf an smarten Umgebungen erhöht – hierbei kommt die Service-Virtualisierung ins Spiel.
Service-Virtualisierung emuliert das Verhalten bestimmter Komponenten in heterogenen komponentenbasierten Anwendungen wie API-gesteuerten Anwendungen, cloudbasierten Anwendungen und serviceorientierten Architekturen. SV ermöglicht den Zugriff auf Systemkomponenten, die für Entwicklungs- und Testzwecke nicht verfügbar oder unzugänglich sind.
Neuesten Untersuchungen zufolge sind Micro Focus Service Virtualization, Parasoft Virtualize, CA Lisa, Tricentis Tosca OSV und IBM RTVS gegenwärtig die am meisten verwendeten SV-Tools. Der häufigste Ansatz bei fast allen Tools ist der dreistufige Ansatz - Aufzeichnung, Verarbeitung und Überwachung (Monitoring) - um einen virtuellen Service (VS) für Entwicklungs- und Testteams zu realisieren.
In der Vergangenheit haben Entwicklerinnen und Entwickler meist Mocks und Stubs genutzt, um Abhängigkeiten und die Abwesenheit von Services zu eliminieren. Mocks und Stubs ähneln der Service-Virtualisierung, aber funktionieren in einem kleineren Maßstab und neigen dazu, kontextspezifisch zu sein, indem sie Verhaltensreaktionen simulieren, um eine „bestimmte“ Entwicklungsanforderung zu erfüllen.
Um verschiedene Anwendungsfälle abzudecken, müssen die Entwickler viel Zeit darauf verwenden, die Variablen der Service-Architektur für jeden Anwendungsfall neu zu konfigurieren, was eine große Herausforderung für agile Teams darstellt. Andererseits funktioniert SV in der Regel im Produktionsmaßstab und kann, sobald die Erstellung vollbracht ist, von verschiedenen Teams wiederverwendet werden.
Branchenübergreifende Kunden, die SV in ihren Projekten eingeführt haben, vor allem in solchen mit vielen komplexen Abhängigkeiten, haben über die folgenden Vorteile der Service-Virtualisierung berichtet:
... da mehrere Entwicklungs- und Testteams parallel arbeiten können, was die Effizienz erhöht und die Veröffentlichungszyklen beschleunigt.
... durch den Zugriff auf eingeschränkte, geschäftskritische Infrastruktur, Systeme von Drittanbietern oder Pay-per-Use-Cloud-Komponenten. Durch die Reduzierung der erforderlichen Infrastruktur sinken die Kosten – einer der wichtigsten Faktoren für das Wachstum des Marktes für Service-Virtualisierung.
... durch das Testen zu einem früheren Zeitpunkt im Software-Lebenszyklus können Probleme schon vor der Produktion einfacher und kostengünstiger behoben werden. Darüber hinaus trägt die Offenlegung der umgebenden Systeme durch die Simulation ihrer Services zu einem frühen Zeitpunkt des Testprozesses dazu bei, die Testabdeckung und die allgemeine Produktqualität zu erhöhen.
... durch die Simulation von Abhängigkeiten. Hierbei geht es darum, nicht verfügbare Dienste bei jeder Ausführung eines automatisierten Tests verfügbar zu machen. Eine Voraussetzung für einen automatisierten Test ist, dass alle abhängigen Systeme jederzeit verfügbar sind – eine große Herausforderung für nahezu alle Testprojekte. Durch die Einbindung von Service-Virtualisierung wird dieses Problem gelöst und kontinuierliches Testen ermöglicht.
... durch Ausweitung der Testabdeckung und Durchführung von Lasttests auf Komponentenebene unter produktionsähnlichen Bedingungen – die auf realen Testsystemen manchmal nur schwer zu replizieren sind – zu deutlich geringeren Kosten.
... durch Bereitstellung erforderlicher Testdaten über virtualisierte Dienste. Ein Großteil der in den Testprozessen verwendeten Daten stammt aus Drittsystemen und geht daher mit vielen Abhängigkeiten einher.
... beginnend mit einfachen, leichtgewichtigen virtualisierten Diensten, die im Laufe des Entwicklungszyklus zu komplexeren, realistischen und produktionsähnlichen Funktionsweisen weiterentwickelt werden.
BearingPoint ist darauf spezialisiert, Kunden auf ihrem Weg zur digitalen Transformation zu unterstützen. Gemeinsam mit Ihnen identifizieren wir wertsteigernde SV-Anwendungsfälle für Ihre Entwicklungs- und Testteams. Zusätzlich analysieren wir den erforderlichen Reifegrad der relevanten Infrastrukturaspekte und Tool-Landschaft in Ihrem Unternehmen, um ein individuelles Service-Virtualisierungskonzept für Sie zu definieren.
Der projekterprobte 3-Phasen-Ansatz von BearingPoint beginnt mit dem Software-Auswahlprozess und resultiert in der Implementierung virtualisierter Dienste.
Ergänzt durch eine maßgeschneiderte Tool-Auswahl und Orchestrierung deckt unser Ansatz die Voraussetzungen für die gezielte Einführung von Service-Virtualisierung bei Kunden branchenübergreifend ab.
Wir empfehlen die Service-Virtualisierung als grundlegende Komponente für die effektive Arbeit mit intelligenten Umgebungen und als Schlüsselfaktor für die digitale Transformation, bei der Umgebungen sofort hoch- und heruntergefahren werden können und die Abhängigkeiten zwischen den Umsystemen auf ein Minimum reduziert werden, indem man sich auf die Qualitätsattribute, die Leistung, die Zuverlässigkeit und die Skalierbarkeit konzentriert, was am Ende zu Zeit- und Kosteneinsparungen und einer schnelleren Bereitstellung auf dem Markt führt.
Wenn Sie weitere Informationen zu diesem Insight wünschen, wenden Sie sich bitte an unsere Expertinnen und Experten, die gerne von Ihnen hören.
Autoren: Amany Elgazzar , Technology Architect und Marco Scharnetzke , Senior Technology Architect