Agnostisch
Agnostisch bedeutet im Zusammenhang mit der Informationstechnologie (IT), dass etwas so verallgemeinert ist, dass es zwischen verschiedenen Systemen interoperabel ist. Der Begriff kann sich sowohl auf Software und Hardware als auch auf Geschäftsprozesse oder -praktiken beziehen.
Das Wort agnostisch stammt aus dem Griechischen und bedeutet ohne und gnōsis, was Wissen bedeutet. In der IT bedeutet dies, dass etwas funktionieren kann, ohne die zugrundeliegenden Details des Systems, in dem es arbeitet, zu kennen oder etwas davon zu benötigen. Wie bei der Interoperabilität wird Agnostizismus in der Regel entweder durch die Einhaltung weit verbreiteter Standards oder durch zusätzliche Elemente, wie zum Beispiel Kodierung, ermöglicht, die es einem System erlauben, in verschiedenen Umgebungen zu funktionieren.
Was sind die Vor- und Nachteile eines agnostischen Designs?
Die Entwicklung von agnostischen Systemen hat sowohl für die Anbieter als auch für Kunden mehrere Vor- und Nachteile.
Vorteile
Breiteres Publikum und größerer Kundenkreis. Die meisten Menschen und Organisationen verfügen bereits über Computer oder Server und wissen, wie man sie bedient und wartet. Wenn ein Produkt herstellerunabhängig konzipiert ist, kann es von jedem Kunden gekauft und verwendet werden, unabhängig davon, welche Art von System er bereits besitzt. Da dies für die Kunden von Vorteil ist, kann dieser Ansatz den Anbietern helfen, Marktanteile zu gewinnen.
Leichtere Einführung. Kunden können ein Produkt, das nach einem agnostischen Ansatz entwickelt wurde, schneller in ihre bestehenden Systeme integrieren. Dies kann die Einführungszeit verkürzen und erfordert weniger Schulungen für die Endbenutzer.
Höhere Langlebigkeit. Agnostische Hardware oder Software ist nicht von anderen Systemen oder Komponenten abhängig, die der Hersteller im Laufe der Zeit überholen oder ausmustern könnte. Die Lebensdauer dieser agnostischen Produkte ist in der Regel länger als bei Produkten, deren Funktionalität teilweise oder vollständig von anderen Systemen abhängt.
Nachteile
Komplexer. Agnostische Produkte erfordern in der Regel zusätzliche Funktionen, um ein Spektrum unterschiedlicher Hardware oder Software zu unterstützen. Dabei kann es sich um alles Mögliche handeln, vom einfachen Code für Websites bis zur Pflege separater Codebasen und Compiler für verschiedene Betriebssysteme. Zusätzliche Komplexität führt zu höheren Erstellungs- und Wartungskosten.
Geringere Leistung. Um ein Produkt mit vertretbarem Aufwand plattformunabhängig zu machen, wird es oft auf den kleinsten gemeinsamen Nenner hin entwickelt, das heißt auf den einfachsten Satz gemeinsamer Funktionalitäten der möglichen Plattformen. Dies bedeutet oft, dass plattformspezifische Optimierungen fehlen, die der Effizienz und den Fähigkeiten des Produkts zugute kommen könnten. Darüber hinaus können die Anpassungen zur Unterstützung mehrerer Plattformen zu Redundanz oder Überfrachtung führen, was die Leistung weiter beeinträchtigt.
Schwerer zu erstellen und zu pflegen. Die zusätzliche Komplexität führt zu einer längeren Entwicklungszeit, was wiederum zu einer längeren Markteinführungszeit und höheren Kosten führt. Außerdem muss das Produkt häufig für die Updates und Änderungen der zugrunde liegenden Plattformen aktualisiert werden.
Was sind Beispiele für Agnostik in der IT?
In der IT gibt es zahlreiche Beispiele für die Anwendung des agnostischen Ansatzes:
- Plattformagnostische Software läuft auf jeder Kombination von Betriebssystem und zugrunde liegender Prozessorarchitektur. Solche Anwendungen werden manchmal als plattformübergreifend oder „Cross-Plattformfähig“ bezeichnet. Beispiele hierfür ist Software, die unter Windows, macOS und Linux ausgeführt werden kann.
- Geräte-agnostische Software funktioniert auf verschiedenen Arten von Geräten, darunter Desktop-Computer, Notebooks, Tablet-PCs und Smartphones. Die meisten Webanwendungen sind so konzipiert, dass sie geräteunabhängig sind und können zu diesem Zweck ein responsives Design verwenden.
- Datenbankagnostische Software funktioniert mit dem Datenbankmanagementsystem (DBMS) eines beliebigen Anbieters. Typische datenbankunabhängige Produkte sind Business-Analytics- und ERP-Software. Solche Software könnte beispielsweise auf MySQL oder der Microsoft SQL-Datenbank laufen.
- Protokollagnostische Software ist unabhängig von oder kann mit mehreren Kommunikationsprotokollen verwendet werden. Sie handelt mit ihrer Gegenstelle ein Protokoll aus oder kann mit diesem konfiguriert werden und nimmt die Kommunikation auf. Multiprotocol Label Switching(MPLS) und Generalized Multiprotocol Label Switching (GMPLS) sind Beispiele für protokollunabhängige Netzwerkstandards.
- Geschäftsprozessagnostische Software funktioniert in verschiedenen Geschäftsumgebungen. Ein Beispiel ist ein geschäftsprozessagnostischer Dienst, der die Logik im Zusammenhang mit einer bestimmten Geschäftseinheit wie „Rechnung“ oder „Forderung“ kapselt.
- Herstelleragnostische Middleware kann zwischen Software verschiedener Hersteller und nicht nur zwischen zwei bestimmten Anwendungen vermitteln.
- Bei der Hardware-agnostischen Lizenzierung handelt es sich um ein Modell pro Gerät oder pro Benutzer und nicht um ein Modell, bei dem jede Lizenz an ein bestimmtes Gerät oder eine virtuelle Maschine gebunden ist.
- Bei der sprachagnostischen Programmierung wird die Programmiersprache nach ihrer Eignung für die Aufgabe und nicht nach den Präferenzen oder Fähigkeiten des Programmierteams ausgewählt.
- Cloud-agnostische Software ist so konzipiert, dass sie auf allen gängigen Systemen von Public-Cloud-Anbieternläuft und aus Kostengründen oder nach Kundenwunsch leicht zwischen ihnen gewechselt werden kann. Beispielsweise kann die meiste Cloud-agnostische Software auf AWS, Google Cloud oder Microsoft Azureausgeführt werden.