Windows Azure平台简介(三):AppFabric

介绍完了操作系统,让我们再来看看操作系统之上的中间件。Windows Azure平台的中间件名叫AppFabric。它提供了两大服务:

Service Bus

Service Bus可以被用于将本地的服务暴露给Internet。大多数的企业都拥有自己的局域网,为了解决IP地址不足的问题通常都设置了NAT,因此每台server对外都没有一个确定的地址。出于安全性考虑,防火墙往往都限制了大多数的端口。这就使得要在Internet上访问部署在本地的服务变得相当困难。

Service Bus正是为了解决这一问题而产生的。Service Bus作为一个中间人,你的服务和客户端全都作为Service Bus的客户端与之进行交流。因为Service Bus不存在NAT问题,所以你的服务和客户端都很方便地能与之通信。Service Bus在最极端的场合下只需要你的服务器暴露out bound的80或443端口,换句话说,也就是你的服务器能够以HTTP(S)协议访问Internet。只要这样,你的服务就能连上Service Bus。因此,它对防火墙的要求可以说是相当低的。

Access Control

安全永远都是程序要需要考虑的第一要素,在云中,权限管理往往要比在企业内部来的困难。这是因为你无法直接使用诸如活动目录之类的产品来统一管理你的程序的访问控制。Access Control正是为了解决这一问题而产生的。

Access Control支持federated authentication和authorization。例如,你可以要求你的用户通过企业内部的Active Directory Federation Server (ADFS)进行身份验证,使用他们的域帐号登录,将验证后的claim传给Access Control,然后根据预先在Access Control中设定的规则来给与或者否认他们访问你的服务和资源的权限。当然,Access Control也支持各种其他的身份验证方式。通过对诸如WRAP和SAML之类的标准协议的支持,Access Control体现出了良好的跨平台型。

其他

今后,我们也可能将现今Windows Server AppFabric中的功能移植到Windows Azure platform AppFabric中来。Windows Server AppFabric中的分布式缓存,以及WCF/WF管理的功能,都会对开发人员和管理员带来各式各样的益处。