1 VORTEILE FÜR IHR UNTERNEHMEN DURCH DATENBANK QUELLCODEVERWALTUNG Wie Sie mit SQL Source Control Produktivität, Change Management, Skalierbarkeit und Codequalität verbessern 2 EINFÜHRUNG Für Anwendungsentwickler ist es heute undenkbar, ohne Quellcodeverwaltung zu arbeiten. Über die Vorteile für die Software-Entwicklung ist man sich schon so lange im Klaren, dass selbst Hobby-Entwickler Systeme zur Quellcodeverwaltung nutzen. Quellcodeverwaltung für Datenbanken hielt man jedoch eine Zeit lang für unmöglich, und noch immer hat sie sich nicht überall durchgesetzt. Jetzt, wo Quellcodeverwaltung für Datenbanken nicht nur machbar, sondern sogar ganz einfach ist, erkennen auch SQL-Entwickler, Business-Intelligence-Entwickler und Datenbankadministratoren die Vorteile. Doch welche wirtschafltichen Vorteile bietet das bessere, schnellere und gemeinschaftlichere Arbeiten der Entwickler durch Quellcodeverwaltung ihrem Unternehmen? WAS IST QUELLCODEVERWALTUNG? Quellcodeverwaltung ist ein System (in der Regel auf einem zentralen Server), mit dem ein inkrementeller Verlauf von Änderungen an Dateien getrackt und gespeichert werden kann. In der Anwendungsentwicklung handelt es sich bei diesen Dateien um den Anwendungsquellcode. Das Speichern von Code (oder Dateien wie Architekturdiagrammen oder Dokumentationen) in einer Quellcodeverwaltung erlaubt es Teams, an Projekten zusammenzuarbeiten und immer zu wissen, wer was wann geändert hat – und warum. Quellcodeverwaltung (auch "Versionskontrolle" genannt) ist der Kern dessen, was viele Unternehmen als Software Configuration Management (SCM) oder Application Lifecycle Management (ALM) bezeichnen – wozu manchmal auch die Prozess- und WorkflowSteuerung gehört. In jedem Fall liegt der Nutzen darin, einen zentralen, autoritativen, gemeinsamen Ort für alle Ressourcen und Konfigurationen zu verwenden. Ein Ort, der nicht nur die Zusammenarbeit erleichtert, sondern auch Monitoring und Reporting erlaubt. Die Schwierigkeit bei Datenbanken liegt darin, dass Versionskontrolle, SCM und ALM darauf beruhen, bestimmte Dateien zu teilen und zu überwachen. Datenbankentwicklung basiert jedoch nicht unbedingt auf Quelldateien, weshalb die Quellcodeverwaltung von Datenbanken historisch unmöglich gewesen ist. Da dies jetzt nicht mehr der Fall ist, machen sich sogar bei datenintensiven Geschäftsfunktionen die Vorteile der Quelllcodeverwaltung bemerkbar. 3 WIE QUELLCODEVERWALTUNG IHREM UNTERNEHMEN HILFT Transparenz für das Management Quellcodeverwaltung legt einen detailgenauen Änderungsverlauf an und lässt sich oft mit Systemen zur Problemverfolgung verbinden. Beispielsweise können Sie Datenbankaufgaben mit SQL Source Control bestimmten „work items“ des Team Foundation Servers von Microsoft zuordnen. Das bedeutet, dass Sie ganz leicht einen tiefen Einblick – oder auch nur einen Überblick – darüber bekommen, welche Entwicklungsprojekte gerade laufen, wie diese vorangehen, wer daran arbeitet und warum. Compliance und Auditing In Ihren Datenbanken und Ihren Data Warehouses befinden sich viele, wenn nicht all Ihre vertraulichen Geschäftsinformationen. Eine Übersicht über ihren Änderungsverlauf zu haben und es Teams zu erleichtern, für das effiziente Funktionieren Ihrer Datenbanken zu sorgen, ist genauso essentiell wie Ihre Strategie zur Datensicherung und -wiederherstellung. Die Einhaltung rechtlicher Vorschriften wirkt sich innerhalb eines ganzen Unternehmens aus, angefangen bei den Finanzabteilungen und CIOs bis hin zu einzelnen Entwicklern und Datenbankadministratoren. Beispielsweise können Compliance-Prüfer Administratoren auffordern, alle Änderungen in einer Datenbank zu begründen und jeden Nutzer aufzuführen, der darauf Zugriff hat. Mit der Änderungsnachverfolgung, einem Feature der Quellcodeverwaltung, ist der erste Schritt getan, um Ihre Datenbank auf Compliance-Aufgaben vorzubereiten. Mit ihr legen Sie den Grundstein für einen robusten Überwachungspfad, der Ihnen dabei hilft, Risiken unter Kontrolle zu halten. "SQL Source Control wird die Produktivität unserer Kunden enorm ankurbeln. Unternehmen, die bis jetzt keine Versionskontrolle bei ihren Datenbanken durchführen, haben mit diesem Tool keine Ausrede mehr. Es ist unglaublich einfach! Wer sich bis jetzt mit seinen eigenen Lösungen durchschlägt oder manuell seine Schemata sichert und trackt, wird sich mit diesem Produkt jede Menge Zeit sparen." Rob Sobers, Head of Professional Services, Fog Creek. 4 Effizienz und Skalierbarkeit Jedes Unternehmen will seine Ausgaben reduzieren. Jedes wachsende Unternehmen will sicherstellen, dass die Ausgaben (und oft auch die Zahl der Mitarbeiter) nicht linear zum eigenen Wachstum steigen. Ein wirklich skalierbares Wachstum ist nur möglich, wenn mehr getan wird, ohne mehr auszugeben – und genau hier kommen effiziente Tools und Prozesse ins Spiel. Quellcodeverwaltung reduziert Reibungen in der TeamZusammenarbeit und erlaubt den Entwicklern eine effizientere Arbeitsweise. Außerdem lassen sich Änderungen schnell teilen und das Change Management wird erleichtert, was die Quellcodeverwaltung vor allem für geographisch verstreute Teams relevant macht. Tools wie SQL Source Control vereinfachen die Bereitstellung und machen komplexe Prozesse automatisierbarer und leichter wiederholbar. Da der Verlauf, der bei der Quellcodeverwaltung angelegt wird, inkrementell ist, können Entwickler verschiedene Lösungen ausprobieren und problemlos beliebig viele Schritte zurückgehen, falls Fehler auftreten. Mit der Quellcodeverwaltung ist es einfacher, automatisierte Tests zu implementieren. Dadurch können Sie Probleme leichter ausfindig machen und besseren Code bereitstellen. Durch die Verwendung der Quellcodeverwaltung können Support- und Instandhaltungskosten deutlich reduziert werden. Betriebskosten Die Betriebskosten variieren zwischen den verschiedenen Systemen der Quellcodeverwaltung. Gratis-Tools bieten teilweise weniger Support, wodurch die Implementierungskosten höher sind. Enterprise-SCM-Systeme hingegen werden oft im Paket mit Beratung und Training angeboten. Allen System gemein ist eine Tatsache: Je leichter sich ein System benutzen lässt, um so schneller kann man es erlernen und implementieren – und um so schneller rechnen sich die Investitionen. "Durch die Einbindung von Perforce und SQL Source Control haben Entwickler schnell und einfach den Verlaufsprozess von Datenbankobjekten im Blick. Außerdem können Datenbank-Bestände – sofern sie unter Versionskontrolle sind – vollständig in moderne Entwicklungsprozesse eingebunden werden, einschließlich fortlaufender Integration und Problemverfolgung." Randy DeFauw, Technical Marketing Manager, Perforce Software. 5 SQL Source Control integriert bestehende Systeme zur Quellcodeverwaltung mit der Standard-Entwicklungsumgebung, so dass Entwickler so weiterarbeiten können, wie bisher. Das Tool ist darauf ausgelegt, dass es einfach ist und sich leicht benutzen lässt. Es ist einfach zu integrieren und verlangt keine infrastrukturellen Mehraufwände. Das schützt Ihre Investitionen. Fazit Der Einsatz einer Quellcodeverwaltung für Datenbanken hilft Entwicklern, Datenbankadministratoren und Business-IntelligenceExperten effizienter zu arbeiten, was es ihnen erleichtert, qualitativ hochwertige Arbeit zu leisten. "Es ist schon möglich, ohne die Tools zur SQL-Server-Produktivität von Redgate zu arbeiten; es dauert nur einfach doppelt so lange und ist doppelt so aufwändig. Die Tools sind außerdem relativ günstig, so dass mit einem einzigen Produktions-Rollout die Kosten schon gedeckt sind – meiner Erfahrung nach ist es eine Frage von ein paar Tagen, bis sie sich amortisiert haben. Ich würde die Tools besten Gewissens jedem empfehlen, der im Bereich der Entwicklung oder der Administration von MS SQL Serverplattformen arbeitet." Jerry Pett, Director, Burnt Orange Designs Quellcodeverwaltung für Datenbanken war lange Zeit unmöglich. Da Probleme, bei denen sich nicht gleich eine praktikable Lösung ergibt, schnell als unvermeidbar angesehen werden, wird die entstehende Ineffizienz oft als gegeben hingenommen – ganz anders als bei der Anwendungsentwicklung. Jetzt, da sich die Quellcodeverwaltung für Datenbanken leicht implementieren lässt, ist dieser Kompromiss überholt. In der Datenbankentwicklung kann man von denselben Vorteilen profitieren wie in der Anwendungsprogrammierung – und Unternehmen können endlich Geld sparen. TFS Neben der Integration unserer Tools in die Microsoft Team Foundation Server arbeitet Redgate mit führenden Anbietern von Quellcodeverwaltungssystemen zusammen. So stellen wir sicher, dass Sie wirklich alles aus Ihrem System zur Versionskontrolle herausholen können. www.red-gate.com/sql-source-control