本文介绍SQL Azure可以应用到哪些典型的商业应用场景。

Web应用

大多数的Web站点需要一个数据库来存储用户输入信息,电子商务交易信息,内容及其他信息。通常对于数据驱动的Web站点来说,它的数据库服务器和Web服务器是在同一个数据中心。

使用SQL Azure, Web开发人员可以选择将数据存储在云中以获得高可以用性和高容错性能。针对部门应用场景,你可以将您的Web服务器部署在自己的服务器上或者使用一台第三方的Web服务器,将数据存储在SQL Azure上,Web服务器通过互联网访问SQL Azure中的数据。但是考虑到性能以及由于网络延迟导致的系统复杂性因素,您应考虑将Web站点部署在Windows Azure中以使它能够在站内访问SQL Azure数据库。

部门/工作组应用

在一个大的组织中,有资质的数据库管理员需要应用它们的经验负责公司范围十分重要的数据库的正常运行。这些数据库也会有容错配置,如不间断供电,冗余磁盘阵列以及群集服务器。

相比较而言,一个大的组织通常还会有许多较小的数据库应用程序。这些应用程序使用的数据库可能是Microsoft Office Access, Microsoft SQL Server Express或者是一些第三方的软件。数据库一般部署在一个独立而廉价的服务器上甚至仅仅是一台桌面型电脑上。数据库的管理员一般非专业人员。尽管数据库问题导致的影响通常限制在部门级别,但是这种中断可能会妨碍整个部门的生产力,然而实际工作中又难以对这些数据库进行跟踪。

SQL Azure对于这些分散的数据库应用提供了优秀的管理功能。如果这些简单而分散的应用使用SQL Azure数据库,用户可以享受到SQL Azure提供的自我管理能力和很好的容错能力而不用增加本地IT部门的负担。这种集中式的方法也使得对数据库的审计工作变得更加轻松。除此之外,由于SQL Azure的”根据使用情况付款” (pay-as-you-grow)的价格策略,您可以以非常低廉的成本运行简单的数据库应用。

在进行本地部署的客户端/服务器模型的应用程序到SQL Azure的迁移时,您可以选择将数据部署在SQL Azure中,客户端程序部署在本地,这样您可以通过互联网访问数据库。不过在这种模式下,您需要考虑网络延时对您程序的影响,可能要在客户端写更复杂的代码来处理网络延时带来的连接问题。一种更好的方式是将数据访问逻辑部署到Windows Azure上,这样数据访问代码和数据都在同一 个数据中心。你可以在Windows Azure中创建Web应用程序,这样客户端可以通过浏览器来进行访问。您还可以使用ADO.NET Data Services针对简单的桌面应用程序来创建SOAP, REST或者JSON接口。

数据中枢(Data Hub)

一个常见的数据中枢场景是你希望让各种各样的移动设备和远程用户协同使用相同的数据。比如一个保险公司在北美有超过5000人的移动销售团队,保持客户和价格方面的数据能够在整个销售团队中同步一直是个问题。首要问题是新客户的合同信息要录入内部财务系统;其次是销售团队拿到最新的价目表信息。保险公司需要一个解决方案:

  • 确保每个销售员的便携式计算机能同步有最新的价格信息
  • 确保公司系统能同步每个销售便携式计算机上的新客户信息并且没有暴露公司数据的风险

目前关于产品和客户的数据都存储在数据中心的SQL Server数据库中。另外,销售人员使用的应用程序运行在各自的笔记本电脑上,数据存储在本机的SQL Server Express上。由于每个销售人员的笔记本电脑都有可能产生对数据中心不安全的访问,所以IT部门不希望为了连接本地的数据中心而修改防火墙设置。通过使用SQL Azure, 开发团队可以提供一种安全而又能够完全同步的解决方案。这种方案包含三个步骤:

  1. 在SQL Azure中创建关于产品和客户数据的数据库。
  2. 为数据中心创建Sync Framework provider。这个Sync Framework provider可以在SQL Azure数据枢纽和本地数据中心之间进行同步产品和客户的数据。
  3. 再为销售人员的笔记本电脑创建一个Sync Framework provider,以实现在销售人员和SQL Azure数据枢纽之间同步产品和客户的数据。

 

从上图可以看出,关于产品价格的数据从企业的数据库经过SQL Azure传送到超过5000个销售人员手里。而客户信息从超过5000个销售人员那里经由SQL Azure传送给企业数据库。

当一个销售人员的笔记本电脑离线时,本地数据的变化会被记录。当连接恢复时,Sync Framework Provider会找到这些变化,然后将这些变化传送给SQL Azure。公司数据中心的安全要求也完全满足了。

独立软件供应商 “软件+服务”模式(ISV S+S Offering)

独立软件供应商可以使用SQL Azure来提供软件+服务的解决方案。Windows Azure提供了一个理想的环境来承载各种软件服务,而且ISV或客户不用对基础设施进行额外的维护。

考虑这样一个场景,一个软件+服务的供应商要对金融,政府,医疗,房地产以及一些特殊业务公司等各种业务提供关于遵守规定方面的支持。这样的公司需要存储各种各样的历史数据以便将来参考或按要求备案,比如金融条款,商业交易或信函等。该供应商部署了文档管理系统来归档数据,并提供工作流,检查流程的功能以及全文索引。另外,为了审计的目的,它还必须能够跟踪和报告对资源的访问记录。为了减少数据存储成本,确保快速安全地访问记录,这个供应商希望将客户的归档数据迁移到云端。

为了实现这个目标,该公司可以创建一个SQL Azure账户,并在公司范围内为每个客户创建相应的Windows Azure账户。客户有了账户以后,他们可以上传各种形式的文档,如电子邮件,扫描件以及各种契据。有些文档以二进制形式存储在Windows Azure的BLOB store里面,而有些文档则以结构化的数据存储在SQL Azure中。

在这种情况下,最重要的是确保每个客户的数据都是独立的并且只对该用户可用。该供应商可以使用SQL Azure来实现这种隔离并避免不适合的访问。另外,SQL Azure很容易审计使用情况,这样就能够对客户进行合理收费。

开发人员在编写Windows Azure开发解决方案时会发现它与SQL Azure是紧密集成的。举例来说,他们可以使用与桌面应用类似的SQL Server客户端类库,可以使用一个Windows Azure 账户来实现云端用户的验证,他们还可以对Windows Azure代码和SQL Azure数据使用相同的地理位置属性。