大数据弹性应用开发的八项基本原则
大数据应用正在从概念走向现实,而企业在大数据应用开发时,软件的弹性(Resilient)正在成为决定大数据应用成败的关键因素。弹性差的应用无法应对大规模的数据集,在测试和运营中也缺乏透明度,而且也不安全。
避免大数据应用在生产环境中掉链子的最佳办法就是在开发阶段就开发弹性应用,例如:鲁棒、经过测试、可改变、可审计、高安全、可监控。
可以说,开发出弹性大数据应用既是一个技术工作,也是一个哲学问题。Concurrent的Supreet Oberoi近日撰文提出大数据应用开发八大基本原则,IT经理网编译如下:
一、为弹性大数据应用描绘一个蓝图
第一步是为企业大数据应用创建一个系统的架构和方法,要处理什么数据?那些类型的分析最重要?软件架构需要承载那些指标、审计、安全和运营功能?
另外一些需要考虑的问题:那些技术最关键?哪些技术只是图一时之便?你的蓝图需要准确评估当前架构的问题所在。
二、数据规模不再是问题
如果应用无法处理更大规模的数据集,那么它就缺乏弹性,弹性应用应当能够处理任意规模的数据集(包括数据深度、广度、频度等),数据弹性还只对新技术的兼容,缺乏弹性的应用需要不断配置修改应用来适应不断更新的大数据技术,对于企业来说是时间、资源和金钱上的无底洞。
三、透明度
对于复杂应用来说,查找扩展性等弹性相关问题还很难实现自动化。关键是锁定问题的根源所在:是代码、数据还是架构抑或网络问题?并非每个应用都要具备这种透明度,但大一些的平台应当具备足够的透明度,让所有开发者和运营人员都能在问题发生时立刻找到根源并采取措施。
一旦发现问题,最为关键的是将找到应用行为对应的代码——最好是通过发现问题的监控应用。大多数情况下,访问代码会涉及到多个开发人员,执行起来流程将非常曲折。
四、抽象,事关高效和简洁
弹性应用总是面向未来的,通常采用抽象层来简化开发、提升效率,允许采用不同的技术实现。作为架构的一部分,弹性开发的抽象层能够避免开发者陷入技 术实现的细节泥潭中。简洁性则能方便数据科学家使用应用访问所有类型的数据源。如果没有抽象技术,产品的生产力会大打折扣,修改成本增高,而用户则为复杂 性所困扰。
五、安全:审计与合规
弹性应用能自我审计,能够显示谁使用了应用,谁有权限使用,访问了哪些数据以及政策如何实施。在应用开发阶段就将这些功能考虑进去是应对日益增长的大数据隐私、安全、治理和控制挑战的关键所在。
六、完整度与测试驱动的开发
弹性应用的一个基本要求就是不能遗失任何数据,数据完整性的丧失往往会导致严重的后果,例如金融企业会因为程序代码弄丢了一两行交易数据而在反洗钱或金融欺诈调查中遭受处罚。
七、数据便携性
不断发展的业务需求驱动技术不断做出改变,因此,大数据应用也应当能够在多个平台和产品上运行。最终的目标是让最终用户能够通过SQL和标准API 访问数据(无论是否实时)。例如,一个先进的大数据平台应当允许原本由Hadoop存储MapReduce处理的数据,转移到Spark或Tez中进进行 处理,而且这个过程不需要或尽可能少地改动代码。
八、不要搞个人“巫术”
大数据应用的开发不应当依赖某个高手的个人才华,代码应当在多个开发者之间分享、评估和保有。这个策略让整个团队,而不是个人,对应用质量负责。
本文作者:佚名
来源:51CTO

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Cloud与Docker微服务架构实战
作者简介 周立 Spring Cloud中国社区联合发起人之一,近7年的软件系统开发经验,多年系统架构经验;参与开发多个大型项目,有电信某电信网管项目、某O2O电商平台、某征信系统等;对Spring Cloud、微服务、持续集成、持续交付有一定见地。 热爱技术交流,曾代表公司参加全球微服务架构高峰论坛、QCon等技术沙龙。拥抱开源,多个项目开源在Github与Git@OSC上,并获得开源中国的推荐,例如电子书《使用Spring Cloud与Docker实战微服务》等。 目前,笔者的研究重心是使用Spring Cloud、Docker、微服务,著有《Spring Cloud与Docker微服务架构实战》,已在京东上架。 笔者博客:http://itmuch.com,定期分享Spring Cloud相关博客。 一、为什么要统一管理微服务配置 对于传
- 下一篇
“双十一”即来 电商如何开启安全大战?
一年一度的“双十一”电商促销大幕又将拉开。经过了几年的培养,“双十一”已经成为电商、消费者以及其他IT从业人员每年最关注的时间节点之一。但另一方面值得思考的是,随着接入设备的复杂、应用类型的增多、交易笔数以及金额的不断攀升,如何应对“双十一”带了的信息安全、财产安全乃至IT架构安全则成为了整个促销链条内的企业不得不面对的问题。 从“双十一”这个特殊事件上看,其本质仍然是网络购物的标准流程,但其背后带来的流量压力、运算压力则是举世罕见。所以从应用的角度讲,在以下三个方面,我们应该加以特别关注。 银行结算避免短板 随着IT发展速度不断提升,电商平台往往都具备较强的技术积累。但是在以往“双十一”中,用户往往会发现交易无法顺畅进行。这种现象有时是因为银行对在线支付需求激增应对不足而造成的。我们都知道,一方面,由于银行的特殊性,其IT发展必须符合最严格的规定;另一方面,随着IT巨头涌进金融行业,银行为更具竞争力,必须使自己的IT架构提供更好的使用体验。 所以,银行在构建或升级基础架构时,安全的弹性与可扩展性,与合规性同等重要。举例而言,一些采用了F5双活数据中心方案的用户,在数据中心压力骤增的情...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题