公告 :本博客为微软云计算中文博客 的镜像博客。 部分文章因为博客兼容性问题 ,会影响阅读体验 。如遇此情况,请访问 原博客 。
介绍完了操作系统,让我们再来看看操作系统之上的中间件。 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 管理的功能,都会对开发人员和管理员带来各式各样的益处。