大数据弹性应用开发的八项基本原则

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

大数据应用正在从概念走向现实,而企业在大数据应用开发时,软件的弹性(Resilient)正在成为决定大数据应用成败的关键因素。弹性差的应用无法应对大规模的数据集,在测试和运营中也缺乏透明度,而且也不安全。

避免大数据应用在生产环境中掉链子的最佳办法就是在开发阶段就开发弹性应用,例如:鲁棒、经过测试、可改变、可审计、高安全、可监控。

可以说,开发出弹性大数据应用既是一个技术工作,也是一个哲学问题。Concurrent的Supreet Oberoi近日撰文提出大数据应用开发八大基本原则,IT经理网编译如下:

一、为弹性大数据应用描绘一个蓝图

第一步是为企业大数据应用创建一个系统的架构和方法,要处理什么数据?那些类型的分析最重要?软件架构需要承载那些指标、审计、安全和运营功能?

另外一些需要考虑的问题:那些技术最关键?哪些技术只是图一时之便?你的蓝图需要准确评估当前架构的问题所在。

二、数据规模不再是问题

如果应用无法处理更大规模的数据集,那么它就缺乏弹性,弹性应用应当能够处理任意规模的数据集(包括数据深度、广度、频度等),数据弹性还只对新技术的兼容,缺乏弹性的应用需要不断配置修改应用来适应不断更新的大数据技术,对于企业来说是时间、资源和金钱上的无底洞。

三、透明度

对于复杂应用来说,查找扩展性等弹性相关问题还很难实现自动化。关键是锁定问题的根源所在:是代码、数据还是架构抑或网络问题?并非每个应用都要具备这种透明度,但大一些的平台应当具备足够的透明度,让所有开发者和运营人员都能在问题发生时立刻找到根源并采取措施。

一旦发现问题,最为关键的是将找到应用行为对应的代码——最好是通过发现问题的监控应用。大多数情况下,访问代码会涉及到多个开发人员,执行起来流程将非常曲折。

四、抽象,事关高效和简洁

弹性应用总是面向未来的,通常采用抽象层来简化开发、提升效率,允许采用不同的技术实现。作为架构的一部分,弹性开发的抽象层能够避免开发者陷入技 术实现的细节泥潭中。简洁性则能方便数据科学家使用应用访问所有类型的数据源。如果没有抽象技术,产品的生产力会大打折扣,修改成本增高,而用户则为复杂 性所困扰。

五、安全:审计与合规

弹性应用能自我审计,能够显示谁使用了应用,谁有权限使用,访问了哪些数据以及政策如何实施。在应用开发阶段就将这些功能考虑进去是应对日益增长的大数据隐私、安全、治理和控制挑战的关键所在。

六、完整度与测试驱动的开发

弹性应用的一个基本要求就是不能遗失任何数据,数据完整性的丧失往往会导致严重的后果,例如金融企业会因为程序代码弄丢了一两行交易数据而在反洗钱或金融欺诈调查中遭受处罚。

七、数据便携性

不断发展的业务需求驱动技术不断做出改变,因此,大数据应用也应当能够在多个平台和产品上运行。最终的目标是让最终用户能够通过SQL和标准API 访问数据(无论是否实时)。例如,一个先进的大数据平台应当允许原本由Hadoop存储MapReduce处理的数据,转移到Spark或Tez中进进行 处理,而且这个过程不需要或尽可能少地改动代码。

八、不要搞个人“巫术”

大数据应用的开发不应当依赖某个高手的个人才华,代码应当在多个开发者之间分享、评估和保有。这个策略让整个团队,而不是个人,对应用质量负责。


本文作者:佚名

来源:51CTO

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
云计算 数据中心 Python
云计算在在线教育平台中的资源管理与优化
云计算在在线教育平台中的资源管理与优化
|
2月前
|
监控 安全 Cloud Native
云计算架构设计与实施:构建高效、可扩展的云解决方案
【4月更文挑战第30天】本文探讨了云计算架构的关键要素,包括服务模型(IaaS, PaaS, SaaS)、部署模型(公有云、私有云、混合云)及可扩展性、安全性、可靠性和成本效益。实施策略涉及需求分析、选择云服务商、设计基础设施、自动化、监控和灾备计划。最佳实践推荐模块化设计、微服务、DevOps、CI/CD、多租户支持和云原生应用,以确保高效、安全且成本优化的云环境。
|
9月前
|
存储 分布式计算 大数据
大数据与云计算架构:构建弹性高效的数据处理平台
大数据与云计算架构:构建弹性高效的数据处理平台
|
存储 架构师 Cloud Native
【云计算架构】通过新的优化视角查看云架构
【云计算架构】通过新的优化视角查看云架构
|
运维 监控 Cloud Native
《生来创新-金融级云原生》——1 金融企业拥抱云原生的问题与冲突 ——1.8 问题8:云原生架构与应用设计与研发有哪些挑战?
《生来创新-金融级云原生》——1 金融企业拥抱云原生的问题与冲突 ——1.8 问题8:云原生架构与应用设计与研发有哪些挑战?
107 0
|
存储 云计算 虚拟化
【系统架构】云计算的服务方式
【系统架构】云计算的服务方式
711 0
|
弹性计算 运维 监控
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?
系统上线 SAE 之后,开发运效率提升了 50%+,机器成本下降了 20%,运维人力成本下降了 60%,扩容速度更是比之前快了十几倍,很好的完成了之前定下的目标。
203211 10
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题?
|
SQL 消息中间件 分布式计算
基于开放共享的自主研发—MaxCompute 持续增强生态与开放性建设
MaxCompute 是阿里巴巴自研的云原生数据仓库,同时也兼容大部分大数据生态系统。一个平台无法实现所有功能和解决所有问题,MaxCompute 需持续增强生态与开放性建设,方能走得更远。
1138 2
基于开放共享的自主研发—MaxCompute 持续增强生态与开放性建设
|
弹性计算 运维 监控
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题
系统上线 SAE 之后,开发运效率提升了 50%+,机器成本下降了 20%,运维人力成本下降了 60%,扩容速度更是比之前快了十几倍,很好的完成了之前定下的目标。
传统大型国企云原生转型,如何解决弹性、运维和团队协同等问题
|
弹性计算 缓存 负载均衡
互联网行业高弹性系统构建最佳实践
在互联网行业的业务发展中,针对业务突发性的特点,系统需要有弹性伸缩的能力。
互联网行业高弹性系统构建最佳实践