介紹完了操作系統(tǒng),讓我們?cè)賮砜纯床僮飨到y(tǒng)之上的中間件。 Windows Azure 平臺(tái)的中間件名叫 AppFabric 。它提供了兩大服務(wù):
Service Bus 可以被用于將本地的服務(wù)暴露給 Internet 。大多數(shù)的企業(yè)都擁有自己的局域網(wǎng),為了解決 IP 地址不足的問題通常都設(shè)置了 NAT ,因此每臺(tái) server 對(duì)外都沒有一個(gè)確定的地址。出于安全性考慮,防火墻往往都限制了大多數(shù)的端口。這就使得要在 Internet 上訪問部署在本地的服務(wù)變得相當(dāng)困難。
Service Bus 正是為了解決這一問題而產(chǎn)生的。 Service Bus 作為一個(gè)中間人,你的服務(wù)和客戶端全都作為 Service Bus 的客戶端與之進(jìn)行交流。因?yàn)?Service Bus 不存在 NAT 問題,所以你的服務(wù)和客戶端都很方便地能與之通信。 Service Bus 在最極端的場(chǎng)合下只需要你的服務(wù)器暴露 out bound 的 80 或 443 端口,換句話說,也就是你的服務(wù)器能夠以 HTTP(S) 協(xié)議訪問 Internet 。只要這樣,你的服務(wù)就能連上 Service Bus 。因此,它對(duì)防火墻的要求可以說是相當(dāng)?shù)偷摹?/p>
安全永遠(yuǎn)都是程序要需要考慮的第一要素,在云中,權(quán)限管理往往要比在企業(yè)內(nèi)部來的困難。這是因?yàn)槟銦o法直接使用諸如活動(dòng)目錄之類的產(chǎn)品來統(tǒng)一管理你的程序的訪問控制。 Access Control 正是為了解決這一問題而產(chǎn)生的。
Access Control 支持 federated authentication 和 authorization 。例如,你可以要求你的用戶通過企業(yè)內(nèi)部的 Active Directory Federation Server (ADFS) 進(jìn)行身份驗(yàn)證,使用他們的域帳號(hào)登錄,將驗(yàn)證后的 claim 傳給 Access Control ,然后根據(jù)預(yù)先在 Access Control 中設(shè)定的規(guī)則來給與或者否認(rèn)他們?cè)L問你的服務(wù)和資源的權(quán)限。當(dāng)然, Access Control 也支持各種其他的身份驗(yàn)證方式。通過對(duì)諸如 WRAP 和 SAML 之類的標(biāo)準(zhǔn)協(xié)議的支持, Access Control 體現(xiàn)出了良好的跨平臺(tái)型。
今后,我們也可能將現(xiàn)今 Windows Server AppFabric 中的功能移植到 Windows Azure platform AppFabric 中來。 Windows Server AppFabric 中的分布式緩存,以及 WCF/WF 管理的功能,都會(huì)對(duì)開發(fā)人員和管理員帶來各式各樣的益處。