Cloud Computing: Eine Einführung in SQL Azure

Mit SQL Azure profitieren Sie von den Vorteilen einer bekannten relationalen Datenbankplattform, gepaart mit den Vorteilen von Cloud Computing.

Joshua Hoffman

Daten sind der zentrale Bestandteil eines Unternehmens. Ihre Sicherheit und Verfügbarkeit sowie den problemlosen Datenzugriff sicherzustellen sind die grundlegenden Anforderungen an jede IT-Abteilung. Und noch wichtiger ist es sogar, Daten optimal zu nutzen, um Geschäftsprozesse zu steuern, Entscheidungsträger zu informieren und intelligent auf wechselnde Verhältnisse zu reagieren. Dies zu gewährleisten, unterscheidet erfolgreiche Unternehmen von denen, die auf der Strecke bleiben.

Die Art und Weise, auf die Unternehmen Datenverfügbarkeit sicherstellen, ändert sich schnell. Gehostete Dienste – und die eigentliche Auffassung von Software als Dienst – für alles, von den wichtigsten Datencenterfunktionen wie E-Mail und Business Intelligence bis zu persönlichen Anwendungen wie Fotofreigabe und Dateisynchronisierung, sind ein normaler Bestandteil unserer täglichen Interaktion mit unseren Informationen geworden. Cloud Computing hat in den letzten Jahren sowohl als Konzept als auch als praktische Komponente der IT-Infrastruktur einen kometenhaften Aufstieg erfahren.

Eine besonders eindrucksvolle Cloud Computing-Lösung ist Microsoft SQL Azure. SQL Azure ist eine leistungsfähige bekannte Infrastruktur zum Speichern, Verwalten und Analysieren von Daten, die zusätzlich die Vorteile des Cloud Computing bietet. Durch eine freigegebene gehostete Infrastruktur werden sowohl direkte als auch indirekte Kosten gesenkt. Das Pay-as-You-Go-Modell trägt zu größerer Effizienz bei. Und hohe Verfügbarkeit sowie Fehlertoleranz sind integriert.

Dennoch stellen gewisse Aspekte dieses neuen Modells Herausforderungen für die IT-Experten dar. Und hinsichtlich gehosteter Dienste oder interner Infrastruktur die richtigen Entscheidungen zu treffen ist eine große Herausforderung. Sie müssen die nahtlose Integration zwischen diesen Ansätzen sicherstellen und strenge Sicherheits- und Geschäftskontinuitätspläne einhalten. Dies sind nur einige der Aspekte, die IT-Experten bei der Auswertung von Cloud Computing-Lösungen für ihr Unternehmen berücksichtigen müssen.

Im Folgenden stelle ich Ihnen SQL Azure aus der Perspektive eines IT-Experten vor. Ich erkläre, wie SQL Azure funktioniert, wo es am besten in Ihre Umgebung passt, wie Sie beginnen und wie Sie eine nahtlose Integration mit der vorhandenen Dateninfrastruktur sicherstellen.

Was ist SQL Azure?

SQL Azure ist Bestandteil der Windows Azure-Plattform, einer Dienstesuite, die gehostete Datenverarbeitung, Infrastruktur, Web- und Datendienste bereitstellt. Die SQL Azure-Komponente stellt vollständige SQL Server-Funktionen für relationale Datenbanken bereit, bietet jedoch auch Funktionen wie einen Cloud Computing-Dienst, der in Microsoft-Datencentern weltweit gehostet wird.

SQL Azure ist im Allgemeinen eine gute Wahl, wenn Sie Datenbankdienste benötigen. Es gibt einige Aspekte, unter denen SQL Azure besonders gut geeignet ist:

  • Zusammenarbeit: Durch Verschieben von Daten in die Cloud unterstützt SQL Azure Sie bei der Erstellung eines Hubs für Zusammenarbeit. Wenn Sie den Zugriff auf Informationen über die Grenzen des Unternehmens hinaus, z. B. für Zweigstellen, freigeben möchten, können Sie mit gehosteten Diensten Netzwerkprobleme mindern und gleichzeitig die Datensicherheit gewährleisten.
  • Skalierung: Ein Vorteil von Cloud Computing ist die Möglichkeit, Infrastruktur nach Bedarf hinzufügen zu können. Auf diese Weise können Sie Anwendungskapazität bei steigendem Bedarf dynamisch skalieren. Dies ist besonders hilfreich, wenn sich die Spitzenauslastung der gehosteten Anwendungen im Verlauf der Zeit drastisch ändert (z. B. bei Anwendungen für den Einzelhandel in der Weihnachtszeit).
  • Konsolidierung: Da die Anforderungen an die Funktionen für relationale Datenbanken immer detaillierter werden und diese Funktionen mittlerweile auch in einzelnen Abteilungen und Arbeitsgruppen erforderlich sind, kann die interne Verwaltung ausgedehnter Datenbanken zu einer Herausforderung werden. Mit SQL Azure können Sie Abteilungs- und Arbeitsgruppendatenbanken, vollständige Bereitstellung und vereinfachte Verwaltung so konsolidieren, dass Administratoren die Anforderungen von Abteilungen einfacher erfüllen können.
  • Gehostete Anwendungen: Wenn Sie bereits andere Arbeitslasten (z. B. Webanwendungen) auf der Windows Azure-Plattform hosten, ist die Integration der Arbeitslasten gehosteter relationaler Datenbanken in SQL Azure ein Kinderspiel. Durch Verringern des Netzwerkverkehrs wird auch die Anwendungsleistung maximiert.
  • Kosteneffizienz: Je nachdem, welche Arbeitslasten Sie installieren möchten, kann das von Cloud Computing bereitgestellte Pay-as-You-Go-Modell den kosteneffizientesten Ansatz darstellen.

Im Allgemeinen sind die wesentlichen Funktionen von SQL Azure und des herkömmlichen SQL austauschbar. Ausgenommen sind einige Einschränkungen hinsichtlich der Datenbankgröße auf der Windows Azure-Plattform. (Weitere Informationen finden Sie unter Häufig gestellte Fragen zu SQL Azure.) Jeder Ansatz bietet unterschiedliche Vorteile und Kosten im Hinblick auf Infrastruktur, daher geht es eigentlich nur darum, auf Grundlage der einzelnen Geschäftsfälle den besten Ansatz auszuwählen. Sie können die Arbeitslasten bei enger Integration auch auf beide Plattformen verteilen.

Erste Schritte mit SQL Azure

Die ersten Schritte mit SQL Azure sind einfach, insbesondere wenn Sie mit den herkömmlichen Verwaltungstools von SQL Server wie SQL Server Management Studio (kann zur Verwaltung von SQL Azure-Instanzen eingesetzt werden) vertraut sind.

Der erste Schritt besteht darin, ein Konto für die Windows Azure-Plattform einzurichten, wodurch Sie Zugriff auf die Windows Azure-Dienste wie Windows Azure, SQL Azure und Windows Azure AppFabric erhalten (bietet Entwicklern die Möglichkeit, Anwendungen und Dienste über die Grenzen des Unternehmens und Netzwerks hinaus miteinander zu verbinden). Wenn Sie das Konto eingerichtet haben, können Sie auf die Systemsteuerung von SQL Azure zugreifen (siehe Abbildung 1).

Figure 1 A close look at the SQL Azure control panel

Abbildung 1 Die Systemsteuerung von SQL Azure im Detail

Über die Systemsteuerung von SQL Azure können Sie neue Datenbanken innerhalb Ihres Kontos erstellen. Sie können jede Datenbank entweder als Web Edition- oder Business Edition-Datenbank definieren. Eine einzelne Web Edition-Datenbank kann bis zu 5 GB Daten unterstützen, eine einzelne Business Edition-Datenbank bis zu 50 GB. (Bei der Business Edition wird in 10 GB-Schritten abgerechnet: 10 GB, 20 GB, 30 GB, 40 GB und 50 GB.)

Die Systemsteuerung gibt einen Servernamen für die SQL Azure-Instanz sowie ADO.NET- oder ODBC-Verbindungszeichenfolgen an, die Sie für die Datenbankverbindung verwenden können (basiert auf SQL-Authentifizierung; die Windows-Authentifizierung wird von SQL Azure nicht unterstützt). Sie können dann entweder die Verbindungszeichenfolgen innerhalb einer Anwendung verwenden, ein ODBC-Objekt erstellen oder die Serverinformationen in ein Verwaltungstool wie SQL Server Management Studio eingeben (siehe Abbildung 2).

Figure 2 SQL Server Management Studio connected to a SQL Azure database

Abbildung 2 SQL Server Management Studio mit Verbindung zu einer SQL Azure-Datenbank

Als zusätzliche Sicherheitsmaßnahme wird in der Systemsteuerung von SQL Azure ein Fenster mit Firewalleinstellungen angezeigt. Hier können Sie die IP-Adressen angeben, über die auf die Datenbanken zugegriffen werden kann. Sie können eine beliebige Kombination aus einer einzelnen Adresse, einem Adressbereich oder einer Zugriffserlaubnis für andere Microsoft-Dienste eingeben (sodass Ihre eigenen Windows Azure-Instanzen und gehosteten Anwendungen auf die Datenbanken zugreifen können).

Ab hier interagieren Sie mit den in SQL Azure gespeicherten Daten genauso, wie Sie mit Ihrem eigenen SQL Server arbeiten. Mit SQL Server Management Studio können Sie alle herkömmlichen SQL Server-Aufgaben durchführen: Tabellen, Ansichten und gespeicherte Prozeduren erstellen, Daten importieren, T-SQL-Anweisungen ausführen usw.

Eine Cloud-basierte Datenbank sollte auch einige Cloud-basierte Verwaltungstools bereitstellen. Als leichtgewichtige Alternative zu SQL Server Management Studio haben die SQL Azure Labs ein webbasiertes Verwaltungstool für SQL Azure-Datenbanken entwickelt, das den Microsoft-Projektcodenamen „Houston“ trägt. Mit diesem Tool können Sie ganz einfach Datenbanken in einer Cloud entwickeln, bereitstellen und verwalten.

Das Houston-Projekt wurde mit Microsoft Silverlight erstellt und ist ein plattformübergreifendes, webbasiertes Datenbankverwaltungstool für grundlegende Aufgaben der Datenbankverwaltung, z. B. Abfragen erstellen und ausführen, ein Datenbankschema entwerfen und bearbeiten sowie Tabellendaten bearbeiten. Es muss darauf hingewiesen werden, dass das Houston-Projekt derzeit nur als CTP-Version (Community Technology Preview) zur Verfügung steht und daher von den standardmäßigen Microsoft Support Services nicht offiziell unterstützt wird.

Integration mit SQL Server

SQL Azure kann auf viele Arten mit einer bestehenden SQL Server-Infrastruktur integriert werden. Die meisten herkömmlichen Möglichkeiten zur Integration und Migration von Daten zwischen Servern stehen auch für SQL Azure zur Verfügung. Hierzu gehört SQL Server Integration Services, eine Plattform, die Datenimport und -export, Datentransformation, Data Warehousing usw. ermöglicht. SQL Azure unterstützt auch den SQL Server-Import/Export-Assistenten (im Toolset von SQL Server Management Studio enthalten), mit dem Datenbanken kopiert und Daten zu und aus SQL Azure migriert werden können (siehe Abbildung 3).

Figure 3 Working with the SQL Server Import and Export Wizard

Abbildung 3 Arbeiten mit dem SQL Server-Import/Export-Assistenten

Eine weitere Option für die Integration von SQL Azure in die bestehende Infrastruktur ist das in der Community entwickelte Toolset SQL Azure Migration Wizard. Dieser Assistent führt Sie durch die Auswahl vorhandener SQL Server 2005/2008-Objekte und die Erstellung entsprechender SQL-Skripts zur Migration dieser Objekte zu SQL Azure. Obwohl der SQL Azure Migration Wizard nicht offiziell von Microsoft unterstützt wird, gibt es in der Community zahlreiche Supportressourcen, die für die Verwendung der Tools nützlich sind, darunter auch Videos

Letztendlich gibt es noch SQL Azure Data Sync (momentan als CTP-Version verfügbar), einen Cloud-basierten Synchronisierungsdienst, der bidirektionale Datensynchronisierung zwischen lokalen Servern mit SQL Server und SQL Azure sowie zwischen SQL Azure-Datenbanken an verschiedenen Standorten bietet (Bereitstellung von Geo-Replikationsfunktionen).

SQL Azure Data Sync basiert auf Microsoft Sync Framework und stellt daher eine bekannte Methode für die Datensynchronisierung zwischen mehreren Standorten dar. Es muss jedoch wieder darauf hingewiesen werden, dass SQL Azure Data Sync als CTP-Version verfügbar ist und derzeit nicht von den Microsoft Support Services unterstützt wird.

Cloud Computing hat unbestreitbare Vorteile. Die Kosteneffizienz, Serverkonsolidierung, bedarfsgesteuerte Bereitstellung und geografische Vielschichtigkeit, die Cloud Computing bietet, sind nur die ersten einer Reihe von Vorteilen, die wir durch Verschieben von Daten in die Cloud realisieren. SQL Azure kombiniert hohe Leistungsfähigkeit und die vertraute SQL Server-Umgebung mit den Vorteilen des Cloud Computing. Es ist eine gut geeignete Lösung für jedes Unternehmen, das eine dynamischere, kosteneffizientere Infrastruktur zur Datenverwaltung aufbauen möchte.

Joshua Hoffman

Joshua Hoffman* ist der frühere Chefredakteur des TechNet Magazine. Er ist heute als freier Autor und Consultant tätig und berät Kunden hinsichtlich Technologie und zielgruppenorientiertem Marketing. Joshua Hoffman ist zudem Chefredakteur der Website ResearchAccess.com, die sich dem Ausbau und der Bereicherung der Marktforschungsgemeinschaft widmet. Er lebt in New York City.*

Verwandter Inhalt