Weniger ist mehr
Vernetzte Computer gehören heute zu jedem Betrieb. Aber nicht jeder Chef hat Zeit, Lust oder Geld, sich tiefgehend mit IT zu beschäftigen. Als Frage formuliert: Wie kann ein kleiner Betrieb seine IT-Kosten minimieren? Ich meine, man sollte hier Software nutzen, die wenig Infrastruktur benötigt.
Unter Infrastruktur möchte ich hier all das verstehen, was zum Betrieb einer Software unbedingt nowendig ist, ausgenommen grundlegende Hardware und irgendein installiertes Betriebssystem. Bespielsweise brauchen gängige Texteditoren keine Infrastruktur in diesem Sinne, denn sie können benutzt werden, ohne auf weitere Installationen angewiesen zu sein. Ein Java-Programm braucht dagegen “ein Stück” Infrastruktur, nämlich die Java-Laufzeitumgebung. Eine Web-Anwendung braucht einen Webserver und oft auch einen Datenbank-Server.
Manchmal muss man für die Infrastruktur bezahlen. Oft genug gibt es aber auch frei verfügbare Komponenten. Die entgeldfreie Verfügbarkeit ist verlockend und läßt leicht vergessen, dass andere Kosten entstehen werden. Das sind wenigstens die Kosten für Datensicherung und Ausfallsicherheit, möglicherweise auch noch die für das Know-How eines Servicetechniker.
Es ist leicht einzusehen, dass Komponenten, die nicht da sind, keine Daten erzeugen, die gesichert werden müssen. Und solche Komponenten gehen auch nicht kaputt – Ausfallrisiko: Null. Und das beste: auch sie sind kostenfrei zu haben ;) Warum also noch auf eine Anwendung setzen, die weitere Komponenten zwingend erfordert? Ein Grund ist, wenn die Infrastruktur zum Geschäftsmodell gehört, wie beispielsweise der Webserver zum Onlinehändler und der LAMP-Stack zu einem Hosting-Anbieter. Ein zweiter Grund fällt mir ein, und der lautet “Weil es keinen passenden Ersatz gibt.” Wenn es wirklich keine andere Software gibt, die den geforderten Job erledigt, dann muss man den zusätzlichen Aufwand in Kauf nehmen. In den meisten Fällen wird man erfolgreich nach einer Alternative suchen.
Kann es kollaborative Software geben, die ohne Infrastruktur auskommt? Welches Modell könnte einer Software zugrunde liegen, die es mehreren Personen ermöglicht, am selben Datenstamm zu arbeiten? Klassisches Architektur-Prinzip in diesem Szenario ist das von Client und Server, in dem viele Clients auf einen Server zugreifen, also eines mit Infrastruktur. Ich denke, es könnte auch ohne funktioneren, Ansatzpunkt Peer-to-Peer-Technik, Jabber … ob sich damit Anwendungen erschaffen lassen, die über Chat und Dateiaustausch hinaus gehen?