Normal vs Cloud / Azure Hosting und Rolle von SQL Azure vs SQL server

Zuerst lassen Sie mich klar, dass ich nicht von einem Web-background so, wenn irgendwelche meiner Verständnis darüber, wie es funktioniert ist nicht richtig, bitte fühlen Sie sich frei, mich zu korrigieren

Sagen wir, ich habe eine Website, die ich gerne auf Wolke hosten möchte

- I don't want to take care of hardware - I want to scale my website as needed 

Jetzt bin ich ein bisschen verwirrt zwischen der Rolle von SQL server vs Rolle von SQL Azure in diesem Fall.

Normal Web Hosting

Wenn ich an eine normale Website denke, weiß ich, dass ich einen Host / server brauche, auf dem meine Website gehostet wird. Der Host sollte in der Lage sein, SQL server zu unterstützen. Für Skalierungszwecke muss ich meine Website / ASP Seiten auf mehreren servern hosten. Ähnlich, wenn ich meinen SQL server möchte, muss ich ihn auf mehreren servern hosten und muss sicherstellen, dass data auf allen servern durch einen Mechanismus aktuell sind.

Cloud Based Hosting

Jetzt denke ich, ich kann auch eine ähnliche Struktur auf Cloud/Azure aufbuild. Wenn ja, würde ich in diesem Fall echte Fähigkeiten von Cloud verwenden?

Oder sollte ich SQL Azure anstelle von SQL server ? Welchen Nutzen würde ich in diesem Fall bekommen? Wäre ich für die Skalierung und Konsistenz der data verantwortlich? Ich weiß, ich kann die Website skalieren, indem ich die Anzahl der VMs / Instanz einstellen kann, aber was ist mit der Skalierung der database?

Bearbeiten Danke an Florin Dumitrescu die Terminologie, die ich verwenden wollte, war Scaling Out weil ich mich mehr um die performance besorgt habe und nicht, wie groß meine database in der Größe ist. Ich bin mehr besorgt darüber, wie die database zwischen verschiedenen servern / Systemen skalieren würde, um die Last zu berücksichtigen und somit zu einer besseren performance zu führen

SQL Azure, wie Yossi erwähnt, ist ein database-as-a-Service. Als solches, Sie bitten einfach, dass es versorgt wird, Magie passiert, und Sie haben eine database, die Skalen von 1GB bis 5GB, 10GB, den ganzen path zu 50GB (bald zu 150GB wie bei SQL PASS angekündigt ). Die schöne Sache über SQL Azure: Sie müssen sich keine Sorgen um irgendeine Infrastruktur, server, Lizenzierung usw. machen. Sie verbinden sich einfach mit Ihrer Verbindungszeichenfolge. SQL Azure ist entworfen, um skalierbar zu sein, um eine beträchtliche Anzahl von gleichzeitigen Mietern zu behandeln, also müssen Sie sich nicht mit Skalierung beschäftigen.

SQL Azure repliziert auch seine data im Rechenzentrum, um eine "dauerhafte" memoryung zur Verfügung zu stellen. Sie müssen noch ein Disaster Recovery-Schema entcasting, falls das Rechenzentrum nicht verfügbar ist (und hierfür können Sie den Data Sync Service verwenden).

Soweit Ihre Website selbst: Wenn Sie auf mehrere Instanzen skalieren, führt jede Instanz denselben Code aus und verwendet dieselben Ressourcen. Wenn du diesen Schritt weiter machst, kannst du deinen staticen (nicht wechselnden) Webinhalt wie imageer und CSS auf den Blob-memory verschieben. Dies hat mehrere Vorteile gegenüber der memoryung mit der Website selbst:

  • Möglichkeit, das Content Delivery Network zu aktivieren, ein weltweiter Edge-Caching-Service, der für Ihre Endbenutzer eine bessere performance bietet
  • Weniger belasten Sie Ihre Web-server-Instanzen, da Anfragen für diese imageer jetzt auf Blob-memory gerichtet werden, eine völlig separate URL als Ihre Website
  • Möglichkeit, ein image oder ein Stylesheet zu aktualisieren, ohne dass Sie Ihre Anwendung erneut implementieren müssen – einfach eine neue file in den Blob-memory upload.

Ich empfehle das Windows Azure Platform Training Kit , da es Labore gibt, die dich durch die Grundlagen all dessen bringen, mit vollständigen Codebeispielen. Dies wird fast monatlich aktualisiert und bleibt synchron mit dem neuesten Windows Azure SDK und Tools.

Wenn Sie Hosting Ihre Website in der Cloud, und Sie brauchen eine database, als SQL Azure ist fast sicher die beste Option.

SQL Azure ist eine database als Service, so dass Sie Ihre database erstellen und gegen sie aus Ihrem Code arbeiten, aber nicht um die Bereitstellung zu sorgen, es gibt keine server als solche, es wird alles versorgt.

Aus einer Anwendungssicht sieht es und verhält sich so ziemlich wie SQL server, also ist zunächst alles, was sich ändert, die Verbindungszeichenfolge

Wie andere vermerkt SQL Azure nimmt Ihre Bedenken über die Einrichtung und Pflege der Infrastruktur. Dies ist Teil der Prämisse von Azure im Allgemeinen, die eine Plattform anstatt nur Infrastruktur bieten soll.

Der Preis, den Sie dafür bezahlen, sind einige Einschränkungen für die Fähigkeiten (vs. reguläre SQL). Begrenzung der Größe (zumindest bis Föderation verfügbar sein wird) und erhöhte Latenz (da Ihre database nicht auf demselben server Ihrer App läuft)

Microsoft Teched hat als " SQL Azure Performance und Elasticity Guide ", die Sie wahrscheinlich einen Blick auf