正常与云/ Azure托管以及SQL Azure与SQL Server的角色

Har*_*san 6 sql-server asp.net hosting scalability azure

首先让我明确一点,我不是来自网络背景,所以如果我对它的工作原理的任何理解不正确请随时纠正我

假设我有一个网站,我想在云上托管,因为

- I don't want to take care of hardware
- I want to scale my website as needed
Run Code Online (Sandbox Code Playgroud)

现在我在这种情况下角色SQL Server与角色之间有点混淆SQL Azure.

普通网页寄存

当我想到一个普通的网站时,我知道我需要一个托管我的网站的主机/服务器.主持人应该能够支持SQL Server.出于扩展目的,我将不得不在多个服务器上托管我的网站/ ASP页面.同样,如果我想扩大规模,我SQL Server将不得不在多台服务器上托管它,并且必须通过某种机制确保所有服务器中的数据都是最新的.

基于云的托管

现在我想我也可以设置类似的结构Cloud/Azure.如果是,在这种情况下我会使用云的真正功能吗?

或者我应该使用SQL Azure而不是SQL Server?在这种情况下我会得到什么好处?我是否还要负责扩展和数据的一致性?我知道我可以通过设置VM /实例的数量来扩展网站,但是关于数据库的扩展呢?

编辑 感谢Florin Dumitrescu我想要使​​用的术语是Scaling Out因为我更关注性能,而不是我的数据库在大小方面有多大.我更关心数据库如何在不同服务器/系统之间扩展以适应负载,从而产生更好的性能

Dav*_*gon 3

正如 Yossi 提到的,SQL Azure 是一种数据库即服务。因此,您只需要求对其进行配置,奇迹就发生了,您就拥有了一个可以从 1GB 扩展到 5GB、10GB,一直到 50GB(很快将达到 150GB,如 SQL PASS 中宣布的那样)的数据库。SQL Azure 的好处是:您不必担心任何基础设施、服务器、许可等。您只需使用连接字符串进行连接即可。SQL Azure 设计为可扩展的,可以处理大量并发租户,因此您不必担心扩展问题。

SQL Azure 还在数据中心复制其数据,以提供“持久”存储。您仍然需要设计灾难恢复方案,以防数据中心不可用(为此您可以使用数据同步服务)。

就您的网站本身而言:当您扩展到多个实例时,每个实例都运行相同的代码并使用相同的资源。更进一步,您可以将静态(不变)Web 内容(例如图像和 CSS)移动到 Blob 存储。与将它们存储在网站本身相比,这有几个优点:

  • 能够启用内容交付网络,这是一种全球边缘缓存服务,可为您的最终用户提供更好的性能
  • 减少 Web 服务器实例的压力,因为对这些图像的请求现在将定向到 Blob 存储,这是一个与您的网站完全独立的 URL
  • 无需重新部署应用程序即可更新图像或样式表 - 只需将新文件上传到 Blob 存储即可。

我强烈推荐Windows Azure 平台培训套件,因为有一些实验室可以带您了解所有这些基础知识,并提供完整的代码示例。它几乎每月更新一次,与最新的 Windows Azure SDK 和工具保持同步。