PaaS (Platform as a Service) 平台最方便的地方在於,平台本身已經設定好了應用程式所需要的執行環境;因此對於開發人員來說,只需要了解 PaaS平台提供了那些支援,就可以在程式中直接使用這些服務,而且在部署的時候不需要另外再透過 IT人員的協助,透過設定的方式就可以調整所需要的執行環境。
以Windows Azure來說,雲端平台環境預設就提供了下面幾種基本的服務:
1. 託管服務 (Hosting Service):
Windows Azure 的託管服務分成幾種不同角色(role)。Web 角色就是在雲端的IIS 7,可以部署並且執行ASP.NET、PHP 等Web應用程式;而Windows 角色則是在雲端上面的Windows服務,你可以將需要常駐執行的程式,透過Windows 角色開發之後部署到Windows Azure當中執行。
如果執行環境當中,需要比較特別客製化的模組才可以執行的話,Windows Azure也支援VM 映像角色,讓你可以將客製化的執行環境封裝到虛擬機器映像在上再到雲端執行。
2. 儲存體服務 (Storage Service):
顧名思義,就是用來存放資料的服務。儲存體服務當中可以儲存Table、Blob和Queue等資料,如果有需要的話,也可以mount一個drive出來使用。而所謂的Table資料,並非資料庫當中的表格,而是用來存放程式中的一般非結構化實體(Entity)資料。儲存體服務可以隨時根據需要進行擴充,而且也可以根據程式的需要設定存取的權限。關於儲存體服務的操作方法,會在後面透過實例來介紹。
3. 資料庫服務:
雲端應用程式運算處理過的結構化資料,像是訂單或是產品資料,則是可以存放在SQL Azure的雲端資料庫當中。而透過Data Sync服務,SQL Azure當中的資料還可以更進一步與其他的SQL Azure實體,或是企業內部的SQL Server進行雙向的資料同步,也可以透過報表服務產生雲端的報表。
4. Windows Azure AppFabric:
雲端當中的應用程式執行平台,包含了分散式的快取服務(Caching)、雲端的服務匯流排(Service Bus)和存取控制服務(Access Control Service, ACS)。分散式的快取服務提供可靠而且速度快的暫存資料平台,而服務匯流排則是讓你可以將多個其他的服務,整合到你的服務當中使用。
存取控制服務提供簡單的方法來驗證及授權使用者存取你的 Web 應用程式和服務,同時可以從程式碼提取驗證和授權的功能。不需使用應用程式所特有的使用者帳戶來實作驗證系統,可以讓 ACS 協調使用者的驗證及大部分授權工作。ACS 整合標準型的身分識別提供者,包含企業目錄 (如 Active Directory) 和 Web 身分識別 (如 Windows Live ID、Google、Yahoo! 和 Facebook)。
5. 內容傳遞網路(CDN)服務:
在策略性放置位置快取 Windows Azure Blob 和計算執行個體的靜態內容輸出,以便提供最大頻寬來傳遞內容給使用者。
6. 虛擬網路服務:
透過 Windows Azure Connect,可以使用簡單的使用者介面,在組織網路中的電腦或虛擬機器 (VM) 與 Windows Azure 中執行的角色執行個體之間設定 IPsec 保護的連接。
下面這張堆疊圖,簡單的整理了Windows Azure雲端平台中的服務的架構:
而除了公有雲之外,Windows Azure也可以與企業內部的服務結合,建構混和雲(Hybrid Cloud)服務。如此一來,企業的應用程式就可以分散建立在雲端上立即可以使用的環境中,節省 IT 設備與管理的成本。而對於Windows Azure的架構有了基本的概念之後,下一步就可以來看一下如何開發雲端應用程式。
沒有留言:
張貼留言