CSV 客座文章系列:KGroup 通过 Windows Azure 将 Qoob 内容管理发布到云中

编辑人员注释: 今天这篇文章由 KGroup 首席软件架构师兼研发部主管 Jody Donetti KGroup 技术总监 Simone Procopio 共同撰写,介绍了 KGroup 如何使用Windows Azure基础结构即服务 (IaaS) 和平台即服务 (PaaS) 产品支持其 Qoob 内容管理体系结构。

KGroup 开发并实施针对企业和公共网站及针对网络电视的内容管理和分发解决方案。KGroup 总部设在米兰,已在意大利和欧洲市场运营十余年,其最新产品是 Qoob 内容管理体系结构。

概述

KGroup 完成了很多大大小小的内容管理项目,因此,我们深知在 Web 领域需要不断创新。如今的Web内容包括标准的内容类型(文本、图片、音频、视频等),以及客户方案专用的自定义内容类型,如内部和外部的网络电视与社交媒体,所有这些都可以跨多个设备共享。与此同时,Web 开发技术也得到发展。我们想用目前最先进的技术构建一个内容管理解决方案,以满足客户对节奏和速度的需求,该解决方案应足够强大和灵活,以无缝集成媒体资产、社交网络和多个接口。

我们需要该系统能够伸缩并在服务器资源之间进行切换,并从多个数据源收集数据,包括但不限于各种 RDBMS [关系数据库管理系统] 和 NoSQL 解决方案。从过去的项目中我们已经知道,需要将系统分解为较低级别的组件/插件,以便以各种方式组合这些组件/插件。

2012 年,我们推出了名为 Qoob(发音类似“cube”)的全新内容管理平台。我们希望 Qoob 能独立于存储,以一种新方式使用和管理数据。我们还希望有一个解决方案范围更广,能容纳其他服务的CMS[内容管理系统]。Qoob 的体系结构使用先进技术(如 Microsoft .NET Framework 4.5、ASP.NET 和 HTML5)构建。它使用 Windows Azure 虚拟机实例、Windows Azure SQL 数据库、Windows Azure 中的缓存服务及其他 Windows Azure 服务,以实现想要的性能、灵活性和扩展性。

我们耗时 9 个月完成 Qoob 的开发,并自 2012 年最后一个季度以来,在多个项目中实施 Qoob。该平台支持各种用法,如企业门户、公共网站、多站点解决方案和网络电视。

QOOB 体系结构

Qoob 内容管理体系结构使用 Microsoft .NET Framework 4.5、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 内容管理体系结构的开发和执行,以满足客户的需求。

本文翻译自:

https://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