《Windows Azure Platform 系列文章目录》
Windows Azure 平台分为以下三种
1.Windows Azure平台
2.SQL Azure平台
以微软SQL Server Denali为主,构建在Windows Azure云操作系统之上,运行云计算的关系型数据库服务;开发人员可以利用SQL Server Management Studio管理SQL Azure
3.Windows Azure AppFabric平台
是一套全面的云端中间件,服务于开发、部署和管理Windows Azure平台应用
Service Bus(服务总线)提供安全的消息通讯通道,使得处于不同地理位置和网络环境的本地应用程序,以及云端应用程序可以相互通信
他们的主要功能区分在于
1.Windows Azure平台包含
a)计算。所谓计算,就是指WindowsAzure 负责为部署在其上的程序提供相应的虚拟机和寄宿服务,包括对ASP.NET 网站和WCF 服务提供基于IIS 的寄宿服务,对于普通的后台程序(C#或F#)提供基于Windows Azure Worker Role的寄宿服务,以及对于PHP 等应用程序提供基于FastCGI 的寄宿服务。
Windows Azure上所运行的虚拟机,被称为计算单元(Compute Unit),以最基础的小型计算单元为基础,共分为五种类型,不同的类型有不同的硬件资源,操作系统与单价。以一个小型计算资源来说,它拥有1.6GHz的CPU,1.75GB的存储器,以及225GB的硬盘空间,同时它的I/O优先权为中级。而在它之上的有中型(Medium),大型(Large)与超大型(Extra Large)三种。
VM大小 | CPU 内核 | 内存 | 本地存储资源的磁盘空间 | 分配的带宽 (Mbps) |
---|---|---|---|---|
ExtraSmall |
共享 |
768 MB |
20 GB |
5 |
Small |
1 |
1.75 GB |
225 GB(其中,165 GB 用于虚拟角色) |
100 |
Medium |
2 |
3.5 GB |
490 GB(其中,340 GB 用于虚拟角色) |
200 |
Large |
4 |
7 GB |
1000 GB(其中,850 GB 用于虚拟角色) |
400 |
ExtraLarge |
8 |
14 GB |
2040 GB(其中,1890 GB 用于虚拟角色) |
800 |
并且可以让多个计算节点同时对ASP.NET网站进行计算服务,提升计算的性能。
b)存储。简单的说,存储就是你能在Windows Azure保存非关系型数据(比如照片、图片、文档等二进制文件),Windows Azure里,存储分成以下4种类型:
-Blob。可以存储大量的数据,可以通过REST API来进行访问。一个Azure Storage帐户可以包含任义多个Container。Container的概念类似于我们文件系统里面的文件夹(我会在后面几张做详细介绍)。一个Container可以包含任意多个Blob,Container没有存储限制。
-XDrive 对Azure Storage的操作类似本地的盘符,让已有程序无缝地迁移到Windows Azure平台上而不需要做很大的改动
-Table 云端的非关系型数据表。最大容量是100T,每个Azure Table 都必须有Partition Key和Row Key这2个属性(可以看做SQL Server表的字段名),属性最多不能超过255个,每个数据最大不能超过1M。
-Queue 云端的消息队列,作为Work Role和Web Role实例之间通讯的消息队列,最大8KB。
我在后面几张会详细介绍Windows Azure Storage
c)管理。Windows Azure平台有2种管理方式
-微软提供的管理用户界面(Management Portal),您可以登录微软的管理网站https://windows.azure.com
(老的管理界面是基于Asp.NET,2011年11月30日发布了新的基于Silverlight开发的用户界面。
-可编程化的服务管理接口(Service Management API),开发人员也可以调用相应的API来对Windows Azure进行管理。
d)Connect。我们会遇到一些场景:客户希望把他们的应用放在云端来利用云计算的便利性,但是为了安全的考虑希望数据库仍旧放在公司的内网。这样会牵涉到内网IP,路由器、防火墙的设置等等一系列的问题,这样是不是意味着Windows Azure不能方便快捷的连接到内网的数据库资源呢?答案是否定的。
利用Windows Azure Connect,Windows Azure用户可以在其Windows Azure托管服务和本地(内网)资源之间设置IP级别的安全网络连接,后面几章我会做详细的介绍。
2.SQL Azure平台
1)云端的SQL Server数据库
SQL Azure可以看做是云端的关系型数据库。如果您在本地使用SQL Server时,可能是由DBA或者IT部门来准备和配置所需的硬件和软件;而使用了SQL Azure,这些任务都是由SQL Azure的服务提供程序来完成。快速提供服务的同时也就能调高您工作的效率,并且SQL Azure是按使用量计费的,这种弹性的计费模式能减少您的总体成本(Low TCO),并且在您使用完毕后直接可以删除SQL Azure的实例,减少后续的开支。
2)Data Sync (数据同步)
有些特殊的情况下,可能需要让局域网内的SQL Server数据和云端的Windows Azure数据库保持数据一致,SQL Azure的Data Sync功能能方便的让您本地的SQL Server 2008/SQL Server 2008 R2数据库服务器与云端的SQL Azure数据库进行同步。它提供单向和双向数据同步,从而让数据可以轻松地在 SQL Azure 数据库和内部部署 SQL Server 数据库之间以及在同一数据中心或不同数据中心中的多个 SQL Azure 数据库之间进行共享。
3.AppFabric是一套全面的云端中间件,服务于开发、部署和管理Windows Azure平台应用
1)Service Bus(服务总线)提供安全的消息通讯通道,使得处于不同地理位置和网络环境的本地应用程序,以及云端应用程序可以相互通信。它支持多种消息协议和模式,具备可靠性和良好的扩展性
2)Access Control服务可以提供对web应用程序以及服务的访问控制,同时他可以和一些身份提供者进行集成,比如活动目录, 简化了应用程序的授权判断逻辑。此服务还可以用作管理用户权限,从而为开发者减小了解决此类问题的复杂度和工作量。