Auf Netzwertzig.com ist derzeit ein sehr lesenwerter Artikel zu den neuen Spielregeln der (Enterprise)Softwarebranche zu finden. Mit der einen oder anderen Aussage habe ich aus Entwicklersicht so meine Schwierigkeiten, auf die ich hier kurz eingehen möchte:
“Das Produkt wurde in komplexen Hochsprachen wie C++ oder Java geschrieben, und dafür braucht man sehr hochqualifizierte Programmierer[...] Und dazu kann man dank immer leistungsfähigerer Hardware grössere Projekte auch in interpretierten, schlanken Sprachen wie Python, Ruby oder gar PHP schreiben, ohne einen wesentlichen Qualitätsverlust zu erleiden. Grob geschätzt fallen damit die Entwicklungskosten um einen Faktor 10 oder mehr.”
Schön wär´s. Ein großes Projekt verschlingt nach wie vor unmengen an Ressourcen. Natürlich muss ich heutzutage nicht mehr mein relationales Datenbanksystem selbst programmieren. Allerdings kann ich Interpretierten sprachen eben nicht all das Anfangen, was ich mit “komplexen Hochsprachen” erreichen kann. Es geht dabei nichtmal um die Realisierbarkeit an sich. Es geht um die Qualität des Codes und die Einhaltung einiger für Entwickler essentieller Regeln, wie Wiederverwendbarkeit, Modularität und Stabilität.
“Auch die Distribution und Installation ist erheblich einfacher geworden. Während früher Enterprise Software praktisch immer lokal auf eigens angeschafften Servern installiert werden musste, reicht heute für SaaS-Kunden ein Webbrowser und eine anständige Internetverbindung. Der Gewinn an Geschwindigkeit und Kosteneffizienz ist kaum auszudrücken. Dank Diensten wie Amazon EC2 braucht der Anbieter dabei nicht mal unbedingt eigene Hosting-Infrastruktur, sondern kann Serverkapazität recht billig mieten.”
Nun ja. Software as a Service ist für ein Enterprise-Produkt definitiv keine alternative. EC2 hat noch immer kein anständiges Service Level Agreement und ob ich meine Kunden- und/oder Buchhaltungsdaten bei jemandem speichern möchte, dessen Verfügbarkeit mindestens zweifelhaft ist steht außer Frage. Nicht nur dass die Verfügbarkeit von SaaS Diensten keineswegs sichergestellt ist (diese könnten mangels Erfolg sehr schnell wieder vom Markt verschwinden), wenn diese technische Infrastruktur auch noch bei Amazon liegen haben würde ich über den Einsatz dieser lieber dreimal nachdenken. Viele SaaS-Lösungen bieten noch nichteinmal die Möglchkeit die Daten zu exportieren, was ich in der kategorie “traurig” bis “bedenklich” einstufen würde.
“Die Beratungsfirmen, die früher so gut an Einführungsprojekten verdient haben, kommen in der SaaS-Welt kaum noch vor. Erstens fällt der Bedarf an der eigentlichen Installation weg, und weil SaaS-Produkte bewusst simpler sind, werden auch keine umfassenden Anpassungen mehr benötigt. “
Das mag stimmen, hängt aber mindestens von Einsatzzweck der Software ab. Wie schon gesagt: SaaS ist unter den derzeitigen Bedingungen nichts für ein ernstzunehmendes Großunternehmen. Als Startup melde ich mich einfach bei 38-Services an und benutze die alle getrennt voneinander. Wenn die Daten dann weg sind, habe ich zwar ein Problem, aber dafür waren die Kosten überschaubar. Die fehlende Anpassbarkeit derzeitiger SaaS-Löungen ist ein extremes Manko im Enterprise Bereich. Natürlich musste ich früher ein paar 1000 Euro in die Hand nehmen wenn ich ein neues Feature brauchte. Der Punkt ist: das Feature war verfügbar.
“Als neue Player kommen die Infrastrukturanbieter wie Amazon (mit EC2), Google (mit App Engine) oder die zahlreichen Hostingfirmen hinzu. Es kann gut sein, dass in dieser Gruppe die eigentlichen Gewinner zu finden sein werden, denn leistungsfähige Rechenzentren aufzubauen, benötigt grosse Mengen an Kapital und Know-How.”
Jetzt mal ehrlich: es war schon immer besser im Goldrausch die Schaufeln zu verkaufen als selbst nach dem Gold zu suchen.
Danke für die ausführliche Antwort zu meinem Beitrag! Und hier meine Rückantwort:
1. Sprachen: Da hast Du absolut recht, die “traditionellen” Sprachen setzen Qualitätsprinzipien explizit durch. Die meisten Skriptsprachen sind schon allein vom Typing her zu lasch, was zu Problemen bei grösseren Projekten führen kann (auch wenn die meiner praktischen Erfahrung nach nicht so gross sind, wie sie oft gemacht werden — ein bisschen darf der Programmierer ja auch noch mitdenken).
Letztlich ist das ganze ein Tradeoff: Produktivität vs. erzwungene (und damit “wahrscheinlichere”) Code-Disziplin. Man kann aber mit andersartiger Methodik, z.B. häufigen Code-Reviews, auch bei Skriptsprachen durchaus auf ein enterprise-fähiges Niveau kommen.
2. Ich würde erheblich bezweifeln, dass SaaS wirklich keine Alternative für Enterprise-Produkte ist. Salesforce.com macht inzwischen mehr als eine Milliarde Dollars Umsatz, und das nicht zuletzt mit sehr grossen Kunden. Die Angst vor Datenverlust etc. wird oft primär von den IT-Abteilungen geschürt. In Wirklichkeit gibt es da längst gute Absicherungsmöglichkeiten. Wer ein SaaS-Produkt ohne jede Exportmöglichkeiten benutzt, ist natürlich auch selber schuld.
3. Fehlende Anpassbarkeit: Klar, das ist ein Problem. Nur ist die Frage, ob wirklich jedes absurde, historisch gewachsene Prozessdetail in einem Unternehmen immer in der Software abgebildet werden muss. Ich glaube, dass gerade durch den steigenden Kostendruck viele Firmen entdecken werden, dass eine Standardlösung gut genug ist.
[...] durchaus zwischendurch auf andere Artikel beziehen, wenn man ergänzende Informationen hat, wie es hier kürzlich geschah. Dies wiederum zieht die Autoren anderer Blogs an, die dann evtl. einen Kommentar hinterlassen und [...]
[...] Ach ja “Does IT Matter?”. Ok, gekauft. Seinerzeit hat Nicholas Carr mit seinem Pamphlet über die Nutzlosigkeit der Informationstechnik zumindest einen großen Teil des Dotcom Crashes mitverursacht. Und jetzt? Jetzt schreibt er ein überaus spannednes Buch über die Vernetzung der Welt und zeit dabei erstaunliche Parallelen zwischen der Elektrifizierung der Welt und der Utilitarisierung der Software. Utilitarisierung bedeutet in diesem Zusammenhang: Software ist kein Gut mehr, dass man kauft, sondern eines dass man aus der Steckdose bezieht. Es ist ähnlich wie die in den neuen Regeln für die Softwarebranche. [...]