Storm—大数据分析的最佳实现者

AWS平台在awe.sm创立之初就被采用,过去3年中我们体验了AWS的缺陷和可人之处,并总结出一套最佳实践方案。

关于AWS,可以毫不夸张的说,它彻底改变了科技创业公司的经济运行模式。在它发生宕机“真相”之前,没有人意识到有多少公司正在使用AWS的EC2,。每个人使用AWS都可以从根本上实现非常简单的运行软件的方式,并节省大量硬件投资。

图:AWS的优势和缺陷让人既爱又恨EC2是一种运行软件新的方式

首先,也是最重要的,EC2绝不仅仅是虚拟托管服务器。或者说,它就像雇佣了部分系统和网络管理员:代替一名昂贵的管理员,实现自动管理,你只需要为每个虚拟机支付一点点费用而已,并将产生的问题汇总。供电、网络拓扑、硬件成本、供应商选择以及网络存储系统——在2004年以前这些你都需要考虑。而通过AWS和其它竞争对手的努力,你不用再考虑这些,至少不用考虑这么多。

毫无疑问,弹性是使用EC2最大的优势和特色,我们只需要约5分钟就能建立一个虚拟机,这将让我们有更高的灵活性:

我们可以在新的硬件上进行大规模升级。当我们进行大规模升级时,可以完全建立全新的硬件以及设置和依赖关系,并把它们装入负载均衡器,然后重新设置负载均衡器即可。当然最后要把之前运行的虚拟机关机。你需要2倍的硬件来进行升级切换,但只需要使用24小时,绝对的廉价和简单。

对于一些非关键系统的备灾计划(这些非关键系统最长允许宕机1个小时),我们只要监测到宕机的虚拟机,然后新启动一个虚拟机然后做系统还原即可。

依照负载进行扩容绝对好过事先的判断:当监控到负载很高时,你可以开启额外的虚拟机,及时应对高负载。

我们根本不担心对虚拟机数量进行计算:我们总有用不完的虚拟机可供启动,如果我们出错了,可以很容易的关闭或者启动虚拟机。这样的硬件迭代就是AWS最棒的功能。

EC2为初创企业带来强大的财务支持

AWS的最明显的成本优势是硬件零安装成本:你使用与亚马逊相同的帐户从互联网上订购,按一下按钮,并启动服务器,按小时支付。你只需支付正在运行的硬件,以及实际使用的存储,这让你的启动成本达到最小。同时,这将鼓励在硬件层面实验:在现有的资源上增加10倍,运行负载测试,然后关闭这些增加的虚拟机,直到你真正需要它们。这不仅仅方便,而且是革命性的。

AWS能够降低运营成本。截至到2012年,我们的公司已经运营了2年多,我们甚至没有专业的运维人员。不过我们依然有一名的全职的运维人员负责管理数以百计的虚拟机,这是相当高的效率。我们根本不用考虑供电、网络等等。

当然,AWS并非完美,他的价格超过竞争对手不少。但借助定期的降价,10月份的18%,今年3月的10%。最后,如果长期使用,你可以预先支付费用,并获得最多50%的折扣。

但是EC2有一些问题

EC2有严重的性能和可靠性问题,重要的是要做到心中有数,并提前做出应对计划。

首先,AWS那臭名昭著的“可用地区”模式,这些分布在不同地区的物理设备彼此分离,包括网络、供电等。关于“可用地区”我们有几条非常重要的经验:

虚拟设备不可能像硬件设备那样长久:根据我们在过去3年的观察,虚拟机的平均生命周期约为200天。这之后的“退休”将经历非常高的风险,AWS的“退休机制”根本不可控:有些时候提前10天通知你虚拟机将被关闭;有时候虚拟机已经关闭2小时后,才收到通知邮件。频繁的硬件更迭并不是太大的问题,毕竟你可以很轻松的启动新的虚拟机来替代,但重要的是你应该意识到,要尽早进行自动部署,以减少更换虚拟机所需的时间。

你需要是在一个以上的区域进行部署,并建立冗余。这一直是我们的经验,你可能失去整个区域,而不是一个虚拟机。如果你的系统有单点故障,你不能从故障虚拟机中获取备份或设置信息,如果整个区域不可用,你甚至连这个虚拟机都看不到,更别提恢复数据了。

多区域故障也可能发生,因此,如果你能负担得起,也要部署多个区域。美国东部是故障频发​的地区(因为历史最长,价格最便宜),2012年6月、2012年3月,以及最引人注目故障是在2011年。AWS的不稳定性似乎有相同的根本原因。

为了保持较高的正常运行时间 我们已经不再相信EBS

这就是我们的经验和亚马逊的市场建议最冲突的地方。AWS期望EBS是使用EC2的基础:AWS希望你将所有的数据托管在EBS卷上,一旦实例故障,你能立刻将EBS卷迁移到新的硬件上,这一过程很轻松。AWS还希望你使用EBS快照来对数据库备份并恢复。AWS同样希望你在EBS卷上运行操作系统,即EBS备份实例。但根据我们的经验,EBS有几大挑战:

EBS卷的I/O性能太差。虚拟化的硬件的I/O性能显然不如纯粹的硬件,但我们的经验却相反,EBS卷的性能远不如本地存储(AWS称之为“短暂存储”)。EBS卷本质上是网络存储,所以性能不会非常好。AWS试图游说用户使用定制IOPS,这是一种更高性能的EBS卷,但它的价格会拒你千里之外。

EBS基于地区的可用性。基于我们的经验,EBS有两个特性:所有的卷可用,或都不可用。在前文提到的3起地区性的EC2事故中,2起是由EBS故障从一个地区扩展到其它地区引起的。如果你的故障恢复计划建立在EBS卷基础上,当遇到EBS故障引起的宕机,你就要倒大霉了。悲催的是,这种情况我们已经遇到好几次了。

基于Ubuntu的EBS故障十分严重,因为EBS卷实际上通过网络驱动伪装成块设备,这与Linux系统不兼容。我们曾经遇到由此引发的严重事故,EBS卷故障导致整个虚拟机锁定,无法迁移,甚至对任何磁盘需求都不予响应。

因此,大约半年前开始,我们完全放弃了EBS。我们付出了相当大的代价(主要是围绕如何执行备份和恢复系统)。截至到目前看,这么做绝对值得。

请注意:其他AWS服务依赖于EBS

由于一些的AWS增值服务是建立在EBS中,当EBS故障时,他们也随即失效,包括弹性负载均衡ELB、关系数据库RDS、EB(Elastic Beanstalk)以及其它。在我们的经验中,EBS总是位于故障的中心。所以,如果EBS发生故障,你需要迅速的将流量转换到其它地区,但很遗憾,你根本无法完成切换,因为负载均衡就运行在EBS上。同时,你也不能启动新的设备,因为AWS提供的控制台服务也是运行在EBS上的。所以,我们爱EC2(以及真的真的爱S3),但我们不用AWS提供的任何附加服务。这么做的好处是,我们可以相对简单地切换到其他托管服务提供商,而不是密切的锁定在AWS。

吸取的经验教训

如果我们明天再次启动awe.sm,我会不加思索的继续使用AWS。对于一个小团队而言,你只有很少的预算,还需要迅速作出反应,AWS就像一部高性能的全自动相机。Joyent、Rackspace等IaaS提供商正加紧追赶,我们期待着与他们的合作。当我们从100多台虚拟机增长到1000台后,必须引入更多的供应商,或者使用Carpathia的与AWS兼容的混合云方式。

时间: 2024-10-25 21:51:12

Storm—大数据分析的最佳实现者的相关文章

颠覆大数据分析之Storm简介

颠覆大数据分析之Storm简介 译者:吴京润    购书 之前我们已经极为简单的介绍了Storm.现在我们要对它做一个更详细的了解.Storm是一个复杂事件处理引擎(CEP),最初由Twitter实现.在实时计算与分析领域,Storm正在得到日益广泛的应用.Storm可以辅助基本的流式处理,例如聚合数据流,以及基于数据流的机器学习(译者注:原文是ML,根据上下文判断,此处应是指机器学习,下文相同不再缀述).通常情况,数据分析(译者注:原文为prestorage analytics,意义应是保存分

颠覆大数据分析之Storm的设计模式

颠覆大数据分析之Storm的设计模式 译者:吴京润    购书 我们将要学习如何实现基于Storm的一些通用设计模式.设计模式,我们也称之为软件工程意识,是在给定上下文环境中,针对觉设计问题的可重用的通常解决方案.(Gamma et al. 1995).它们是分布式远程过程调用(DRPCs),持续计算,以及机器学习. 分布式远程过程调用 过程调用为单机运行的程序提供了一个传输控制与数据的灵巧机制.把这一概念扩展到分布式系统中,出现了远程过程调用(RPC)--过程调用的概念可以跨越网络边界.客户机

使用Storm实现实时大数据分析!

简单和明了,http://www.aliyun.com/zixun/aggregation/13431.html">Storm让大数据分析变得轻松加愉快. 当今世界,公司的日常运营经常会生成TB级别的数据.数据来源囊括了互联网装置可以捕获的任何类型数据,网站.社交媒体.交易型商业数据以及其它商业环境中创建的数据.考虑到数据的生成量,实时处理成为了许多机构需要面对的首要挑战.我们经常用的一个非常有效的开源实时计算工具就是Storm -- Twiitter开发,通常被比作"实时的Ha

《智能数据时代:企业大数据战略与实战》一第3章 大数据:有所为有所不为3.1 大数据分析最佳实践

第3章 大数据:有所为有所不为 3.1 大数据分析最佳实践 很显然,与任何其他技术或过程一样,大数据问题也有最佳实践.在大多数情况下,最佳实践通常来自多年的测试和测量结果,以此作为基础,不断发展.然而,如今的大数据概念要相对新颖,在推导相关最佳实践的过程中人们总会去依赖并利用此前经过证明的有效方法.尽管如此,当前各种新的最佳实践正如雨后春笋般不断浮现,这意味着我们仍然可以从他人的错误和成功中吸取经验教训并由此判断出哪些才是真正有效的方法. 大数据的革命性特质往往会影响最佳实践,因此今日的最佳到明

基于常规法则的大数据分析最佳实践

由于出现了新词汇.新技术.新产品和新提供商,"大数据"分析让人很陌生,但是经过检验的数据管理最佳实践方法一样能够在这个仍然属于新兴学科的领域发挥作用. 与各种商业智能(BI)和数据仓库一样,专家认为在开始进行大数据分析项目之前,清晰理解组织的数据管理需求和明确策略是非常重要的.大数据分析被广泛地进行讨论,而且各种行业的公司都充斥着新数据源和不断增多的信息.但是,在未明确这样做能够真正给公司带来什么价值之前,就投入大量的资源应用大数据技术,这就是所谓用户的最严重失误. David Men

超越Hadoop的大数据分析之前言

本文翻译自<BIG DATA ANALYTICS BEYOND HADOOP>译者:吴京润 校对:方腾飞 我试图给人们学习大数据留下的一点深刻印象:尽管Apache Hadoop很有用,而且是一项非常成功的技术,但是这一观点的前提已经有些过时了.考虑一下这样一条时间线:由谷歌实现的MapReduce投入使用的时间可追溯到2002年,发表于2004年.Yahoo!于2006年发起Hadoop项目.MR是基于十年前的数据中心的经济上的考虑.从那时以来,已经有太多的东西发生了变化:多核心处理器.大内

Hadoop如何迎击大数据分析的挑战

文章讲的是Hadoop如何迎击大数据分析的挑战,大数据分析是现在十分火热的话题,从农业到工业.从金融到体育.从传统企业到初创公司,各行各业都在积极应用大数据分析,似乎你的企业不和大数据沾点边就会显得没有逼格一样. 随着大数据分析的持续走红,大数据分析工具也呈现出了遍地开花的态势,我们今天要说的Hadoop就是其中之一. Hadoop是Apache开发的一个开源项目,短短几年的时间,我们就见证了Hadoop从无到有.从简陋到稳定的转变.目前Hadoop因其具有高度可扩展性,灵活性和成本效益,已经成

大数据分析与处理方法介绍

从所周知,大数据已经不简简单单是数据大的事实了,而最重要的现实是对大数据进行分析,只有通过分析才能获取很多智能的,深入的,有价值的信息.那么越来越多的应用涉及到大数据,而这些大数据的属性,包括数量,速度,多样性等等都是呈现了大数据不断增长的复杂性,所以大数据的分析方法在大数据领域就显得尤为重要,可以说是决定最终信息是否有价值的决定性因素.基于如此的认识,大数据分析普遍存在的方法理论有哪些呢? 一.大数据分析的五个基本方面 1. Analytic Visualizations(可视化分析) 不管是

五步打造高效的大数据分析项目

大数据不仅是一个流行话题,更是企业中实实在在存在的需求.许多企业开始 着手于大数据分析项目,但在此之前,我们需要一个良好的部署方案以确保最终 的结果能够为业务服务.选择合适的技术是规划的第一部分,当企业选择了数据 库软件.分析工具以及相关的技术架构之后,我们就可以进行下一步并开发一个 真正成功的大数据平台. 当然,我们也没必要过分夸大项目管理进程的作 用,成功的大数据分析项目来自于多个方面.在本文中,我们就将介绍五个技巧 ,企业用户进行平台部署的时候可以作为一定的参考: 只选择你所需要的 数据.