編輯人員註釋: 今天這篇文章由 KGroup 首席軟件架構師兼研發部主管 Jody Donetti 與 KGroup 技術總監 Simone Procopio 共同撰寫,介紹了 KGroup 如何使用Windows Azure 基礎結構即服務 (IaaS) 和平臺即服務 (PaaS) 產品支持其 Qoob 內容管理體系結構。前端
KGroup 開發並實施針對企業和公共網站及針對網絡電視的內容管理和分發解決方案。KGroup 總部設在米蘭,已在乎大利和歐洲市場運營十餘年,其最新產品是 Qoob 內容管理體系結構。git
概述數據庫
KGroup 完成了不少大大小小的內容管理項目,所以,咱們深知在 Web 領域須要不斷創新。現在的Web內容包括標準的內容類型(文本、圖片、音頻、視頻等),以及客戶方案專用的自定義內容類型,如內部和外部的網絡電視與社交媒體,全部這些均可以跨多個設備共享。與此同時,Web 開發技術也獲得發展。咱們想用目前最早進的技術構建一個內容管理解決方案,以知足客戶對節奏和速度的需求,該解決方案應足夠強大和靈活,以無縫集成媒體資產、社交網絡和多個接口。windows
咱們須要該系統可以伸縮並在服務器資源之間進行切換,並從多個數據源收集數據,包括但不限於各類 RDBMS [關係數據庫管理系統] 和 NoSQL 解決方案。從過去的項目中咱們已經知道,須要將系統分解爲較低級別的組件/插件,以便以各類方式組合這些組件/插件。後端
2012 年,咱們推出了名爲 Qoob(發音相似「cube」)的全新內容管理平臺。咱們但願 Qoob 能獨立於存儲,以一種新方式使用和管理數據。咱們還但願有一個解決方案範圍更廣,能容納其餘服務的CMS[內容管理系統]。Qoob 的體系結構使用先進技術(如 Microsoft .NET Framework 4.五、ASP.NET 和 HTML5)構建。它使用 Windows Azure 虛擬機實例、Windows Azure SQL 數據庫、Windows Azure 中的緩存服務及其餘 Windows Azure 服務,以實現想要的性能、靈活性和擴展性。緩存
咱們耗時 9 個月完成 Qoob 的開發,並自 2012 年最後一個季度以來,在多個項目中實施 Qoob。該平臺支持各類用法,如企業門戶、公共網站、多站點解決方案和網絡電視。服務器
QOOB 體系結構網絡
Qoob 內容管理體系結構使用 Microsoft .NET Framework 4.五、ASP.NET 4.5 和 Microsoft Visual C# 開發語言構建。它可做爲建模、管理、擴展及展現任何類型的數據的基礎。該體系結構不依賴於任何特定的存儲,所以能夠無縫融入任何存儲環境,並支持任何類型的數據訪問技術,包括但不只限於任何可用的 ORM [對象關係映射] 解決方案,包括從微型 ORM 到成熟的解決方案,如 Entity Framework 或 NHibernate。藉助於通用插件系統和全局事件/鉤子來攔截、修改或擴展核心數據流,保證了可擴展性。架構
圖 1:Qoob 內容管理體系結構的後端構建在動態生成的 REST API 之上。可擴展的背景服務能夠處理數據輸入、媒體轉碼、元數據提取及其餘任務。能夠基於任何類型的數據存儲來存儲數據。前端是一個高度響應的 HTML5+CSS3 站點,具備社交媒體集成和聚合訂閱源等功能。分佈式
Qoob 背景服務處理多項任務,例如從訂閱源、電子郵件消息、網絡共享及其餘源或數據自動引入內容, 以及導入/導出方案。咱們本身的 MediaSync 服務能夠將媒體轉碼處理爲多種格式和元數據提取。對於須要大量視頻和其餘媒體資產的方案,咱們計劃將 Qoob 與 Windows Azure 媒體服務進行集成。
Qoob 自己對數據留存的位置和方式無所謂,開發人員能夠選擇如何配置和實施每一個實體類型。咱們使用的提供程序模型可適應幾乎全部主要數據存儲,包括從 SQL 數據庫、SQL Server、MySQL 等,到 NoSQL 數據庫(如 MongoDB 或 Windows Azure Table 服務)。咱們使用了相似的提供程序模型來管理 Blob,以便 Qoob 直接在文件系統中或利用幾乎任何雲存儲解決方案來管理數據。
默認的前端網站(託管在本地或在雲中)使用 ASP.NET MVC 4 構建,是一個帶有高度優化的 HTML5 語義標記的現代化網站,咱們儘可能以 SEO [搜索引擎優化] 友好的方式管理全部常見 META 標記。它使用響應式設計 (CSS3),能輕鬆地適應不一樣的設備和動態聯合源。還有一些插件可進一步支持社交集成(Facebook、Twitter、Disqus 等)和其餘常見的開放 Web 標準(如 OpenGraph、OpenSearch 等),以實現最大的搜索引擎可發現性和可索引性。
雲體系結構
目前,雲中的全部 Qoob 實施都依賴於 Windows Azure 虛擬機實例(在預覽版中)。咱們能夠即時訪問徹底知足客戶的體系結構要求所需的 Windows Azure 資源,所以,若是須要,咱們能夠快速構建多個適用於後端的 Web 角色,或安裝低級別工具來轉碼特定的視頻文件。
咱們能夠根據須要將 Windows Azure 存儲、緩存及其餘服務插入到可擴展 Qoob 環境中。若要知足任何客戶方案,咱們能夠在覈心 Qoob 組件的不一樣實施中進行選擇,如 Blob 存儲(在磁盤上、在數據庫上、在 Windows Azure Blob 存儲上)、數據源(內部部署 SQL Server、SQL 數據庫等等)或緩存(內存、Windows Azure 緩存)。
利用 Windows Azure 的可擴展性和高可用性,咱們能夠向客戶提供高標準的 SLA [服務水平協議],而不會產生沒必要要的風險。咱們沒必要創建數據中心、購買服務器和進行配置,該過程耗時長,成本高,且很容易出錯。咱們可使用 Windows Azure 在幾分鐘以內擴展新的或現有 Qoob 環境,所以咱們和客戶能夠輕鬆快速地進入市場。
路線圖與將來計劃
在不久的未來,咱們計劃增長對 Windows Azure 功能的支持,例如 Windows Azure 媒體服務、Windows Azure 內容傳遞網絡、通知服務,等等。目前,咱們正在開發新插件以向 Qoob 添加其餘功能,以便用戶能夠用新的方式挖掘提升其內容資產的價值。
用戶能夠利用 Digital Magazine 插件直接從 Qoob 後端建立多種數字雜誌,並使用最早進的 Web 技術以 HTML5 形式進行發佈。該插件還支持多種設備和離線體驗。Digital Signage 插件能夠整合某個合做夥伴的解決方案,經過各自的 API 和 Qoob 後端在兩個平臺之間互換數據,全部這些操做都經過一個統一的 UI 進行。
WINDOWS AZURE 體驗
咱們使用 Windows Azure 將 Qoob 打造爲了足夠靈活、強大的系統,能夠伸縮並在服務器資源之間進行切換,並從多個數據源收集數據。Qoob 如今是咱們的默認產品,預計將來將佔 KGroup 業務的 90%。雖然咱們構建的 Qoob 能與任何基礎設施結合使用,但咱們首先經過 Windows Azure 將其提供給客戶,這是由於使用Windows Azure 花費的資金、時間和精力更少,且高度可伸縮。
Windows Azure 爲咱們提供了高級解決方案(如分佈式緩存),所以配置、部署和伸縮 Qoob 環境變得很是簡單。若是客戶發現流量高於預期,只需登陸到 Web 管理門戶,點擊幾下鼠標,便可添加 Windows Azure 實例。
經過利用 Windows Azure 在雲中支持 Qoob,咱們消除了不屬於核心業務的問題。再也不須要管理物理服務器或虛擬化平臺,而且能夠避免不斷從市場中篩選最具成本效益的 Web 場。
藉助 Windows Azure,咱們可使用 Qoob 提供可擴展的靈活環境,將該環境配置爲知足任何內容管理需求。與此同時,經過 Windows Azure,KGroup 沒必要直接支持低級別的資源,所以能夠專一於 Qoob 內容管理體系結構的開發和執行,以知足客戶的需求。
本文翻譯自:
http://blogs.msdn.com/b/windowsazure/archive/2013/07/22/csv-guest-post-series-kgroup-launches-qoob-content-management-into-the-cloud-with-windows-azure.aspx