Subversion Hosting – Berührungsängste unnötig!
Die Notwendigkeit, Sourcecode sicher aufzubewahren, ist unbestritten. Immerhin stellt der Quelltext das Ergebnis zahlreicher Mannmonate harter Arbeit dar und besitzt daher einen entsprechenden Wert. Es ist also nicht nur sinnvoll sondern dringend angeraten, ihn ausreichend gegen Verlust und (versehentliche) Manipulation zu schützen. Diese Aufgabe erfüllt heutzutage in der Regel eine sogenannte Versionsverwaltung, ein System das es erlaubt, den Sourcecode in seinen einzelnen Entwicklungsstufen kontrolliert zu archivieren. So ist auch später der Zugriff auf die einzelnen abgelegten Versionen möglich, was beispielsweise bei der Fehlersuche im Rahmen von Regressionstests extrem hilfreich ist. Außerdem bietet die Versionsverwaltung die Möglichkeit, mittels Anbindung an Bugtracker (z.B. Bugzilla) oder Projektverwaltung (z.B. Trac) die fortlaufende Weiterentwicklung des Sourcecodes als konsistenten Vorgang abzubilden. Damit ist auch später nachvollziehbar, welche Änderungen und Erweiterungen wann vorgenommen wurden, und welcher Entwickler sie schließlich in die Sourcecode-Verwaltung eingespielt hat.
Dieses System klingt für Einsteiger erst einmal sehr kompliziert – zugegebenermaßen besitzt das Ganze auch eine Lernkurve. Dank ausführlicher Literatur, die zu einem guten Teil auch kostenlos online verfügbar ist, hält sich der Aufwand für den Einstieg aber in Grenzen. Auch bei der Integration der einzelnen Komponenten zeigt sich heute ein beruhigendes Bild: Kaum eine Entwicklungsumgebung muss auf direkte Anbindung der Versionsverwaltung verzichten, von Visual Studio bis Eclipse steht eine breite Palette gut integrierter Pakete zur Verfügung. Einen kleinen Haken gibt es allerdings: Die Ersteinrichtung solch eines Toolkits ist mit einem deutlichen Erstaufwand verbunden. Bis alle Komponenten miteinander reibungslos kommunizieren, ist ein nicht zu unterschätzender Aufwand für Konfiguration und Abstimmung zu leisten.
Indivuelle Konfigurationen
Hier kommen Dienstleister der Sparte Profi Webhosting ins Spiel, die sinnvoll zusammengestellte Pakete aus Webspace und Webanwendungen wie Subversion, Redmine und weiteren Bausteinen anbieten. Der Vorteil liegt auf der Hand: Durch die Nutzung eines spezialisierten Dienstleisters kann die gesamte Betreuung in die Hand von Spezialisten gelegt werden, ohne dass die zugehörigen Kosten für Personal und Infrastruktur intern zum Tragen kommen. Der SVN Hosting Anbieter kann durch die Konzentration auf sein Fachgebiet alle notwendigen Leistungen zu sehr günstigen Preisen anbieten, üblicherweise sind auch Anpassungen nach Kundenwunsch problemlos umsetzbar.
Für kleine und mittlere Unternehmen ist daher die Nutzung solch eines Anbieters das Mittel der Wahl zur Umsetzung einer gut gesicherten Infrastruktur zur Sourcecode-Verwaltung. Mit dem Spezialisten als Partner lassen sich auch komplexe Anforderungen schnell und sicher umsetzen, ohne dass dabei hohe langfristige Kosten anfallen, wie es bei der Einrichtung als interne Lösung der Fall wäre – Kosten für Personal und Technik fallen erst gar nicht in nennenswertem Umfang an. Lediglich für die Erstellung des eigenen Anforderungsprofils sowie die Einarbeitung in die Nutzung der neuen Möglichkeiten ist ein gewisser Aufwand gegeben, der allerdings als lohnenswerte Investition in die Zukunft der Software-Entwicklung im Unternehmen zu sehen ist. Durch Umzug der eigenen Firmen-Website zum Profi Webhosting Anbieter lässt sich dabei noch zusätzliches Einsparpotenzial nutzen, da die Hosting-Pakete in der Regel neben dem SVN Hosting auch alle Merkmale eines normalen Webhostings bieten. Die hier relevanten Werkzeuge zur Programmierung sind durchgängig webbasiert und erfordern daher ohnehin die gleiche Basis zum Betrieb wie Subversion et. al. auch.

Dabei müsste jedem denkenden Menschen klar sein, dass Leistungszuwächse und Einsparungen nicht endlos machbar sind – trotzdem dreht sich die Spirale munter weiter. Kreative Ideen sind in diesem Fall ein gutes Mittel, das Beste aus der Situation zu machen. Altbekannt ist dabei die Methode des Outsourcing, bei der bisher innerbetrieblich geleistete Aufgaben an einen spezialisierten externen Dienstleister übertragen werden. Ein vergleichsweise neuer Sektor ist hierbei das Profi Webhosting das beispielsweise dazu genutzt werden kann, um spezielle webbasierte Dienste auszulagern. Eine Sparte hiervon ist das Subversion Hosting, bei dem das bisher interne Repository der Versionsverwaltung zu einem externen Dienstleister ausgelagert wird.
Gerade in kleineren Firmen kommen auf den Entwickler über kurz oder lang Nebentätigkeiten zu, die nicht zu seinen eigentlichen Kernkompetenzen gehören. Dazu gehört häufig auch die Einführung einer verlässlichen Versionsverwaltung, mit der die Investitionen der Firma in Software-Entwicklung abgesichert werden sollen. Dies betrifft nicht nur den „einfachen“ Verlust durch normale Vorgänge wie Festplattendefekte, sondern auch weniger triviale Ereignisse wie Regressionsfehler, die erst spät entdeckt werden. Ohne die Möglichkeit der vergleichenden Analyse verschiedener Versionen der Quelltexte sind solche Fehler nur mühsam einzugrenzen. Die Versionsverwaltung ist also nicht nur eine passive Ablage sondern ein aktives Werkzeug zur effizienten Software-Entwicklung.
Eines der bekanntesten Werkzeuge in diesem Bereich ist Subversion, das sowohl als Modul für Webserver als auch als nativer Dienst verfügbar ist. Während letztere Umsetzung vor allem für lokale Netze interessant sein kann, ermöglicht die Einbindung in einen Webserver die flexible Zugänglichmachung der Repositorys über das Internet. Daher ist es kein Wunder, dass schnell die nächste Stufe der Entwicklung erreicht war: Spezialisierte Anbieter entstehen, die neben dem Subversion Hosting auch als Ansprechpartner in technischen Fragen jederzeit erreichbar sind.
Das Problem ist fast so alt wie der Computer selbst, und über die Jahrzehnte wurden immer neue Lösungen ersonnen, umgesetzt und auch wieder verworfen. Die Rede ist von der Sicherung verschiedener Bearbeitungsstände, auch Revisionen genannt, einzelner Dateien oder ganzer Dateisammlungen. Klassischerweise davon betroffen sind natürlich in erster Linie Programmierer, die bei der Softwareentwicklung permanent vor dem Problem stehen, ältere Dateiversionen „irgendwie“ zu archivieren, um gegebenenfalls eine Änderung rückgängig machen zu können. Nicht nur bei größeren Projekten wird es schnell mühsam, das jeweilige Projekt in vielen verschiedenen Versionsständen vorrätig zu halten. Auch heute noch gibt es Entwickler, die dazu regelmäßig einfach das jeweilige Verzeichnis mittels ZIP, RAR oder sonst einem Packprogramm als Archivdatei sichern, versehen mit mehr oder weniger systematischen Bezeichnungen und eventuell sogar einem Datum.
Externes Subversion Hosting ermöglicht es, das fundierte Wissen aller Developer schnell und sicher zu zentralisieren. „Schlüsselfertig“ vorbereitet ist das externe Server-System, was dem Kunden zuverlässiges Webhosting bietet.
Mit der Verlagerung dieser Themen ins Web ist allerdings auch ein Risiko verbunden: Daten können leichter in die Hände Unbefugter gelangen als bei einer Inhouse-Entwicklung. Allerdings wiegen die Vorteile sehr viel schwerer als der zusätzliche Aufwand zur Absicherung, so dass in vielen Fällen die webbasierte Entwicklung einen immensen Kostenvorteil bedeutet. Ein Teil dieser Ersparnis sollte unbedingt in Profi Webhosting investiert werden, um dort einen kompetenten Partner für die technische Seite der Online-Entwicklung zu haben.
Aus der Software-Entwicklung sind Werkzeuge zur Versionsverwaltung von Sourcecode wie GIT, SVN oder auch das ältere CVS schon lange nicht mehr wegzudenken, ob als lokaler Server oder über einen spezialisierten Dienstleister, der beispielsweise Subversion Hosting betreibt. Obwohl es vereinzelt immer noch Entwickler gibt, denen ein großer Ordner mit Hunderten von inkonsistent benannten ZIP-Archiven optimal erscheint, so hat sich doch mittlerweile (und wer damit arbeitet, wird sagen „zum Glück!“) die Erkenntnis durchgesetzt, dass gerade bei der Arbeit im Team eine robuste, leistungsfähige Verwaltung für den Quellcode unverzichtbar ist.