Letzte Woche habe ich schon einmal über Onshape berichtet, jetzt bin ich bei einem weiteren Blogbeitrag auf deren Website hängengeblieben, der mich zu interessanten Erkenntnissen brachte: Die Abkehr von der Datei nimmt Abstürzen ihren Schrecken. Wo normalerweise, wenn es dumm läuft, mehrere Stunden Arbeit verloren sind, läuft sich eine echte Cloudsoftware einfach weiter. Arbeit geht praktisch keine verloren. Das gemeinsam mit der Abkehr von Releases hat das Potential, die Arbeit des CAD-Anwenders radikal zu verändern.
Onshape-Boss Jon Hirschtick fragte mich in einem Gespräch, ob mir mein Google schonmal abgestürzt sei. Natürlich nicht – Google läuft immer. Dabei stürzen natürlich auch in den Google-Rechenzentren Maschinen ab, nur übernimmt in dem Fall sofort eine andere Maschine und die Arbeit geht nahtlos weiter. Die Daten werden konstant gespeichert, so dass keine Arbeit verloren geht.
Die Arbeitsweise von Computern stammt ja eigentlich immer noch aus der Frühzeit der IT, als die nichtflüchtigen Speicher – Festplatten oder Floppy-Disks – nahezu unendlich langsamer waren als der Arbeitsspeicher, Deshalb lädt man die zu bearbeitenden Daten in den Arbeitsspeicher, bearbeitet sie dort und speichert sie zwischendurch und am Ende wieder auf das Laufwerk. Die Speichervorgänge blockierten den Rechner für mehrere Sekunden oder gar Minuten, so dass man das Risiko einging, möglichst selten zu speichern und ansonsten die Daten im flüchtigen RAM zu halten.
Immer und jederzeit speichern – die Cloud machts möglich
Moderne Rechner haben so viel Power, Festplatten oder gar SSDs sind so schnell geworden, dass das Speichern den Arbeitsfluss schon lange nicht mehr aufhält. Nichtsdestotrotz bleibt man bei der bewährten Arbeitsweise. Cloudsysteme arbeiten anders. statt in Dateien werden die Daten in einer Datenbank gehalten, und das System speichert jede einzelne Bearbeitung sofort weg. Das hat mehrere Vorteile:
Zum einen geht keine Arbeit verloren – stürzt der Cloudrechner ab, übernimmt ein anderer den vom Anwender genutzten Dienst und startet sofort wieder mit dem Stand, an dem der andere Rechner abgestürzt ist
Zum anderen ist eine Versionierung praktisch integriert – Das Speichern überschreibt nicht, wie bisher, den alten Stand, sondern die nächsten Bearbeitungsschritte werden einfach hinten an der Datenbank angehängt. So ist es jederzeit möglich, einige oder sehr viele Schritte zurückzugehen und in eine andere Richtung weiterzuentwickeln. Der erste Weg ist ebenfalls nicht verloren, sondern es kann eine Baumstruktur entstehen, in der alle verworfenen Alternativen nach wie vor vorhanden sind.
Die Cloud schützt nicht völlig gegen Bugs
Gehören also Abstürze nun der Vergangenheit an? Nein, denn der beschriebene Mechanismus schützt natürlich nur gegen Abstürze, die aus „unglücklichen Umständen“ entstanden. Ein Bug beispielsweise in der CAD-Software, der bei einer bestimmten Konstellation von Befehlen und Parametern das System nahvollziehbar in den Abgrund reißt, wird auch den nächsten Rechner zum Absturz bringen. Da ist der Hersteller gefordert, schnell Abhilfe zu schaffen.
Der große Vorteil der Cloud: Der Hersteller der Software ist sehr viel besser über Bugs informiert, da die Rechner ja im eigenen Rechenzentrum stehen und in den Logdateien wahrscheinlich sehr genau nachvollzogen werden kann, wenn die Software immer an der selben Stelle abstürzt. Und das Fixen des Bugs beziehungsweise die Verteilung des Bugfixes ist viel einfacher – einspielen in die Images im Rechenzentrum, fertig. Die Anwender profitieren von jeder Änderung sofort und müssen nicht bis zum nächsten Service Pack warten.
Dies wiederum stellt Softwarehersteller vor neue Herausforderungen, sie müssen viel schneller reagieren. Sind die Anwender erst einmal an das ständige Update gewöhnt, werden sie sich nicht vertrösten lassen. Die Hersteller müssen also sofort reagieren, wenn Probleme auftreten.
„Nur gerade Versionsnummern sind gute Versionsnummern – Das ganze Paradigma, das in vielen Firmen gefahren wird, immer ein oder zwei Versionen hinterherzuhinken oder nur jedes zweite Release zu installieren, wird nicht mehr funktionieren. In der Cloud arbeiten alle Anwender immer mit der selben Version. Das bedeutet aber, dass Software viel reifer sein muss, wenn sie ausgeliefert wird – Warten aufs erste Service Pack geht nicht mehr.
Versionsdschungel ade
Und damit hört auch die oft künstliche Inkompatibilität zwischen den Datenformaten von Softwarereleases auf – der Cloudsoftwareanbieter muss dafür sorgen, dass alte Daten jederzeit lesbar bleiben, ansonsten arbeiten alle Anwender auf der selben Version.
Oft sieht man beim Thema Cloud nur die Vorteile für den Softwareanbieter – regelmäßige Einnahmen, der Zwang zum Update, die „Geiselhaft“ für Modelle in der Cloud. Allerdings kommen auf die Hersteller auch ganz andere Anforderungen zu, die Anwender werden wesentlich ungeduldiger werden und Bugfixes und Verbesserungen viel schneller verlangen.