敏捷大数据,即在敏捷理念原则指导下,构建出一系列通用平台工具,和一整套大数据应用全生命周期方法学,以支撑更轻量、更灵活、更低门槛的大数据实践。本文从理论层面整体解释我们所理解的“敏捷大数据”。
一、敏捷大数据的理念原则
1.1 组件化/平台化/产品化/本地化
组件化/平台化:通过对大数据处理链路进行模块化抽象,形成多个功能高度內聚的组件化平台;组件化平台既可独立与已有平台组件整合使用, 也可组合起来以解决更多不同链路上的问题。
产品化/本地化:通过组合不同的组件化平台,加上抽象萃取过的业务逻辑模型和规则算法模型,可以很容易构建特定业务领域的产品化解决方案;解决方案产品实际落地时可进行本地化处理,主要包括数据模型适配/规则集引入/算法模型参数调整等。
1.2 统一化/开放化/管控化
统一化旨在简化系统复杂度,提高管控能力;开放化旨在增强适应度,提高灵活性;两者相辅相成,需要找到一个合理的平衡点,且不失整体的管控性。
1.3 标准化/接口化/配置化/可视化
标准化/接口化:在大数据处理链路中,形成一系列标准化协议,包括数据命名空间协议/元数据和数据类型规范协议/数据访问接口协议/查询语言协议/数据传输协议/数据安全协议等;以服务接口和队列接口方式提供系统间交互。
配置化/可视化:以配置化和可视化方式提供人机交互。
1.4 自助化/自动化/智能化
现代数据应用要求能力输出,让领域用户在受管控的环境中,可以更加自助化的使用平台和数据实现业务需求;自助化的常规操作可以以自动化方式更好支持;自助化的洞察分析可以以智能化方式更好支持。
1.5 引擎驱动化(事件引擎/动作引擎/规则引擎)
通过引入高级引擎驱动能力,使得敏捷大数据应用可以更加迅捷、灵动、主动的触达外部受众,这时大数据应用本身已经成为强大的业务驱动引擎。
二、可以抽象出的通用平台工具
以企业级实时数据平台为例,我们在敏捷大数据理念原则的指导下,对实时数据平台整体端到端进行了模块化切分,并形成一系列标准化协议,最后以统一开放的原则确定了要开发哪些通用平台工具及其边界和接口规范。
上图是实时数据平台的概念模块架构图,在后续文章中我们会以实时数据平台为切入点,详细阐述衍生出的通用平台工具的抽象概念和架构设计。
三、贯穿大数据应用全生命周期
3.1 需求分析验证阶段
在需求分析阶段,我们需要有能力可以快速开发数据应用原型POC,并且在验证有效后能够快速迭代以尽早覆盖所有需求点。
敏捷大数据的平台化/配置化/可视化等能力能够支持业务开发人员通过配置和可视化方式快速地进行需求迭代验证。业务开发人员只需要关注业务问题本身,无须过多关注大数据技术问题。
3.2 架构设计选型阶段
在实际存储和计算引擎选型过程中,要考虑很多很多因素,除了满足SLA和数据规模等要求,还不得不受到开源技术选型的种种限制和问题。
敏捷大数据的标准化/接口化/统一化/开放化等能力提供了一套架构选型的最佳实践,既极大的减少了系统设计的复杂性,屏蔽了开源技术不兼容的问题,也能够支持选择不同存储和计算引擎的灵活性。
3.3 实施测试调优阶段
大数据定制化开发的实施测试和调优往往是件很耗时耗力的工作,并且随着处理链路的变长和技术选型的多样性,更加增加了测试调优的复杂度。
敏捷大数据的平台化/接口化/配置化/可视化/统一化/管控化等能力可以让实施测试调优的过程变成只需进行可视化配置/实验/验证的迭代过程,数据处理链路过长问题被配置化/可视化屏蔽,技术选型过多问题被统一化/管控化屏蔽。
3.4 上线部署迁移阶段
大数据定制化开发的上线部署迁移往往步骤繁杂,容易出错,即使可以以脚本方式支持,也可能由于不统一和不直观带来潜在问题。 敏捷大数据的平台化/配置化/可视化/统一化/管控化/自助化等能力可以让上线部署迁移更加简单,这些都得益于平台的统一化能力,并且这些能力以自助的方式开放给用户。
3.5 管理运维监控阶段
管理运维监控在企业中往往是统一归集管控的,敏捷大数据的平台化/管控化/自助化等也提供了相应的能力,此外,还可以提供自动化/智能化等能力进一步降低运维工作量;同时也可以通过接口化能力与环境已有监控运维系统集成。
四、践行敏捷大数据实践
上图即为我们所总结的敏捷大数据各个组件的关系:
敏捷大数据理念+敏捷大数据平台栈+敏捷大数据方法学 → 敏捷大数据实践
本文给出了“敏捷大数据”的定义,以及敏捷大数据理念,并且简要描述了基于这套理念之上如何构建平台栈和如何实践方法学。在后续的文章中,我们会围绕具体的敏捷大数据实践经验详细展开我们的敏捷大数据之旅。
作者:卢山巍
来源:宜信技术学院