热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

云计算技术面临的争议

各位弯友好,很长时间没发文章,实在对不起弯友和首席的厚爱,所以在这里以这篇新写的文章来向大家表达歉意^_^我记得我第一次听到“云计算”这个名词的时候,大概07年底的时候,当时云计算的开创者之一DennisQuan来到当时我工作地方IBM中国研究院做主题演讲
 各位弯友好,很长时间没发文章,实在对不起弯友和首席的厚爱,所以在这里以这篇新写的文章来向大家表达歉意^_^

我记得我第一次听到“云计算”这个名词的时候,大概07年底的时候,当时云计算的开创者之一Dennis Quan来到当时我工作地方IBM中国研究院做主题 演讲,在那次演讲中,他基于之前他在Google那里参与合作项目的实践,给我们描绘了在他眼里云计算所带来的美好前景,自从那天开始我成为了云计算的信徒,并且不才地2011年中出版我个人云计算的专著《云计算核心技术剖析》,之后就一直封笔,并始终专注于我们YunTable的开发和团队的组建。那么为什么在封笔两年之后,又重新提笔写云计算的文章呢?因为到了2013年,其实“云计算”这个概念,因为很多原因导致毁誉参半,并且随着其衍生“大数据”这个概念更愈演愈烈,但是身为一名所谓的“云计算和大数据专家”我个人认为在技术方面通过这几年的努力,云计算已经度过最近的朦胧阶段,并业界已经找出一些核心突破点,并铺以重兵攻坚,但同时也有一些有争议,并值得讨论的地方,这是我对这些加以总结,并形成此文的原因,虽然每个段落和方向都浅尝截止,但是希望能给大家一些启发。
就像前面说的那样,现在云计算技术层面,其实大的IaaS,SaaS和PaaS的架构已经清晰,但是下面几个点还是存在一定的技术难度,就像Tesla所用到核心技术,非5-10年的功夫是无法攻克的,所以个人觉得需要业界集结力量攻克。




云计算的安全性
谈到云计算的话题,安全性永远是最热的话题之一。由于这个话题牵涉面广,所以本段落只关注两点,首先,是数据中心网络的安全性,最典型的例子,莫过于云计算最有知名度的Amazon Web Service服务,最近几年其几次大型故障都和网络有关,特别是其基于局域网技术的云硬盘服务EBS,多位业界网络专家认为其路由器的Oversubscribe(超卖)和网络配置无法应对(比如网络控制信息方面的流量会有波动)是整个问题的关键,如何解决好这个问题看来还需要进一步的实践和创新;其次,是虚拟机本身的安全性,其实在虚拟机的发展之初,其实各个技术主要关注首先绝对是性能,比如当时Xen虽然上手其为复杂,但是由于其本身的半虚拟化的架构,使得其在性能方面,长期稍强于VMware,并拿这点作为其长期的谈资,但是随着各方面程序的优化,特别是硬件虚拟化技术的引入,其实在性能方面,各方面都已经接近均势,并且大的优化空间也不多,所以虚拟机的安全性很有可能将会作为今后的主要考量之一,据一些行业IaaS云供应商的反馈,Xen本身有严重的漏洞,通过这个漏洞,虚拟机里面的程序可以直接攻击到物理机本身,并且KVM也有类似的问题,比如KVM直接有两个IO端口可以和QEMU通信,
所以虚拟机的安全性还有待完善。 云计算的安全绝对是一个需要重视,并且需要花大力气的领域。

数据中心大二层和SDN

去年我曾经走访了几家做私有IaaS云的厂家,根据和他们的沟通,对于这些厂家而言,他们面对最大的技术挑战,基本都是“网络难配、网络难配”,主要有下面这三个原因:其一是现在云服务多个节点之间需要连接大量内部的通信,最明显的例子就是Hadoop,当集群大小超过千台时,网络会成为比IO更大的一个瓶颈;其二是虚拟机各节点只能在同一个二级网段内才能进行非常重要的动态迁移;其三是每个虚拟主机都会运行十个以上的虚拟机,这会导致过一个网段内实际所需要承受的机器数量和具体流量都倍增;这些因素都导致数据中心网络从之前对外为主的南北向,慢慢转为以内部为主的东西向,同时数据中心不得不出现大二层的现象。为了解决这些问题,网络界推出了各种解决方案,包括将路由能力带到二层网络的TRILL和FabricPath,用于识别虚拟机流量的VN-Tag和VEPA,用于二层互联的VPLS和OTV,最后就是号称改变整个网络世界的SDN(软件定义网络); 对于这些技术,我个人觉得的确能让现有的云服务,特别是IaaS层在技术层面有一个质的的飞跃,但是整体成熟度和成本要下降到一个让大家都满意程度,并非易事。

OpenStack完整的生态环境
2012年云计算的业界,其中有一个名词绝对是OpenStack,它和之前的IaaS开源项目,比如CloudStack、桉树(Eucalyptus)等不同的是,OpenStack强调的核心是生态圈,并且它的生态圈有两个特色,其一是模块众多,它不仅有传统用于虚拟机的模块,而且它还有提供云存储模块Swift,以及用于虚拟机镜像管理的Glance,另外还有最具创新型的网络模块Quantum;其次,整个圈子里面初创公司极为活跃,不仅国外有已经被VMware以巨资收购的Nicira,而且在国内,无论是九州云还是UnitedStack都做的有声有色。 虽然表面而言,OpenStack生态圈“歌舞升平”,但是其实个人觉得其实有很多隐患,最重要的是缺乏一个领军的企业来引导,光靠一个松耦合的社区真的有点难度。

Hadoop的生态圈的完善

虽然我个人对现在业界各种五花八门的Hadoop用例有点疑惑,但是Hadoop社区的确在最近几年,通过Cloudera和Hortonworks这两大巨头推动,并且再加上类似淘宝云梯这样案例不断成熟,使的Hadoop快成为业界标准的大数据服务平台。同时由于MapReduce这样新的编程框架,使得传统的基于关系型数据库的周边工具都无法继续使用,所以一些新的周边工具不断推出,包括用于数据流支持的Pig,用于SQL解析的Hive,用于日志收集的Flume,用于ETL的Scribe,用于实时分析的Impala等。 对于Hadoop这个生态圈,我个人也是很有疑虑的,虽然和OpenStack的圈子相比,它表面有两大巨头支持,但这两大巨头各怀鬼胎,而且其整体所需要投入的工程量和OpenStack相比不相上下,希望两大巨头能抛弃成见,起心协力。

NewSQL的兴起

前几年谈了很多NoSQL,虽然其伸缩性不错,但因为其不支持完整SQL语句,使得其学习成本很高,所以个人觉得既能伸缩,又能支持SQL的NewSQL兴起再所必然。大家想起的NewSQL,一定是MemSQL或者SAP HANA等这类初出茅庐的新型基于内存的数据库,但我个人觉得在NewSQL方面,其实最强大的始作俑者是研发出MapReduce的Google,虽然其最初整套用于半结构化数据解析的索引构建模块是基于MapReduce的,并且研发了著名NoSQL技术BigTable,但是随着它业务的需求和对性能等方面要求的不断提升。在技术方面,它做了优化和转型,基于现有公开的资料,主要两部分,其一在索引构建和OLTP方面,Google以BigTable为基础发展出可以对大数据集进行增量更新的Percolator系统以用于索引的构建和服务,同时也在BigTable基础上,推出用于分布式海量OLTP的Megastore和F1 Spanner,并且他们分别被用于Google App Engine的Data Store数据库服务和Google的现金牛广告服务,同时在OLAP方面,它推出有点类似MPP列式数据库的Dremel,通过Dremel这个系统能够构建有千台规模的分析集群,并能快速地对PB级别的数据进行处理。无论是F1 Spanner还是Dremel,它们在伸缩性方面都非常不错,并且在语法上面支持一定的SQL语句,个人觉得它们绝对是NewSQL的典范之作。 可惜的是现在NewSQL界,真正有实力的公司和产品并没有出现;
虽然上面提到了很多关注点,但是在我看来,还是有很多争议点,就像梅西和C罗各有各自的优点,还需要进一步讨论才能分出优劣或者各自适合的场景,个人觉得通过这样的讨论,能帮助大家抓住关键点,从而引发质的飞跃。




OpenStack 还是 CloudStack?

其实,OpenStack和CloudStack虽然其提供功能大体类似,但是个人觉得它们在核心理念是大相径庭,CloudStack本质是产品的思路,也就是通过这个产品能够非常快速地构建一个提供IaaS服务的私有云,并且通过其主要用户Zynga的使用来进行逐步地优化,而OpenStack则本质是一个生态圈,就像上面提到的那样,里面有很多公司和团队参与,并且功能强大的模块很多,可惜实际的案例不多,特别是大规模的。那么到底OpenStack的模式还是CloudStack的模式是今后IaaS云计算的主流,我个人很难判断,但最近一年,使用OpenStack来构建一个大型IaaS云,个人觉得至少在整体项目的技术支持还缺乏一个能全面理解OpenStack的团队来做。

结构化数据,Hadoop适合吗?
首先,个人一直觉得虽然现在Hadoop使用面很广,包括类似OLAP的结构化数据分析,但是其实Hadoop这样MapReduce的框架,最初的需求主要是用于类似网页这样的半结构化数据的处理和分析,而且MapReduce这样暴力的方式也特别适合类似地理数据和视频这样非结构化数据。同时虽然现在有类似Hive这样的解决方案,但是基于我最近几年我在底层的收获,和一些朋友反馈,Hadoop在处理结构化数据时,无论是处理速度,还是处理成本,都和基于列式存储的 NewSQL数据库无法接近的。另外,虽然Cloudera推出用于准实时分析的Impala,但是由于其重写了极为耗时耗力的SQL解析引擎,所以个人觉得等它全面支持SQL语句那天,还为时尚远。综上所述,诚然Hadoop能做对结构化数据的分析,但是是否合适,个人觉得是一个仁者见仁,智者见智的问题。

GAE,还是Cloud Foundry?

虽然PaaS这个名词在2012年比较沉寂,但是Cloud Foundry和GAE(Google App Engine)都有一定的进步,Cloud Foundry有了更多用户,GAE又发布了新的版本。争论的核心是Cloud Foundry和GAE在方向性上面的差别比OpenStack和CloudStack更大,在我看来,Cloud Foundry核心是快速地部署,快速地开发,支持各种编程模式和灵活地使用,而GAE的优势是通过它分布式的架构能快速伸缩,并且能够最大限度地进行超买,从而在一定用户规模的基础上实现较大的盈利,但是初期构建成本比Cloud Foundry高的多,所以我个人觉得Cloud Foundry这个方案比较适合私有云,而GAE更适合公有云,具体今后的PaaS届那种是潮流,这个很难说。

SDN有需求吗?
就像前面所说的那样,SDN是一种新兴的控制与转发分离并直接可编程的网络架构,并且号称是可以改变整个网络世界。对于这种一个大的颠覆,首先,在技术层面,个人觉得的确有发展的前途,这估计也是VMware花巨资收购Nicira的原因之一,但是在实际应用方面,是否能找到“Killer App”也是核心的关键,有资深专家说,网络虚拟化,安全等方面会存在这样的需求,但个人觉得,还是需要一定的时间进行检验。

云计算是否需要API规范?

在这个争议点方面,属于也是个人非常感兴趣的一个环节,因为云计算API规范方面,我是国内最早涉及的人之一,并且个人非常推崇用于虚拟镜像分发的OVF规范,同时也是国内最早为其撰文推广的。 言归正传,对于这个争议点,个人觉得主要是两方面,其一是,业界是否需要公共的API规范?其二是如果需要这个规范,业界会更多地采用来自专业的,经过多方流程思考的DMTF(分布式管理工作组)的规范,还是更多地借鉴一些成功产品现成的API,比如现在很多云主机服务所提供的API基本和Amazon EC2所提供的基本一致。个人觉得现在还处于云计算初中期,硬推行一种规范,个人觉得成本有点高,并且有可能会阻碍创新,然而具体使用DMTF还是其他的,我个人觉得都可以。 最后,我想说,身为一名所谓“云计算和大数据专家”,我真心觉得云计算和大数据本身就是下一代技术,能在很多方面解决现在用户和企业所遇到的痛点,但是如果业界没有人专注核心的技术点,并且解决某些有争议的问题,那么整体技术将会陷入不断“Reinvent the wheel”的阶段,而驻足不前,还有,希望我的担忧是多虑的,希望云计算的发展越来越好。



推荐阅读
  • 58同城的Elasticsearch应用与平台构建实践
    本文由58同城高级架构师于伯伟分享,由陈树昌编辑整理,内容源自DataFunTalk。文章探讨了Elasticsearch作为分布式搜索和分析引擎的应用,特别是在58同城的实施案例,包括集群优化、典型应用实例及自动化平台建设等方面。 ... [详细]
  • 深入解析Hadoop的核心组件与工作原理
    本文详细介绍了Hadoop的三大核心组件:分布式文件系统HDFS、资源管理器YARN和分布式计算框架MapReduce。通过分析这些组件的工作机制,帮助读者更好地理解Hadoop的架构及其在大数据处理中的应用。 ... [详细]
  • 本文探讨了Hive作业中Map任务数量的确定方式,主要涉及HiveInputFormat和CombineHiveInputFormat两种InputFormat的分片计算逻辑。通过调整相关参数,可以有效控制Map任务的数量,进而优化Hive作业的性能。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • 本文介绍了Hive作为基于Hadoop的数据仓库工具的核心概念,包括其基本功能、使用理由、特点以及与Hadoop的关系。同时,文章还探讨了Hive相较于传统关系型数据库的不同之处,并展望了Hive的发展前景。 ... [详细]
  • 全面解析运维监控:白盒与黑盒监控及四大黄金指标
    本文深入探讨了白盒和黑盒监控的概念,以及它们在系统监控中的应用。通过详细分析基础监控和业务监控的不同采集方法,结合四个黄金指标的解读,帮助读者更好地理解和实施有效的监控策略。 ... [详细]
  • 本文探讨了如何在Hive(基于Hadoop)环境中编写类似SQL的语句,以去除字段中的空格。特别是在处理邮政编码等数据时,去除特定位置的空格是常见的需求。 ... [详细]
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • 深入解析Spark核心架构与部署策略
    本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
  • 1.3数据库系统结构及组成(三级模式结构)
    文章目录1.3.1数据库系统结构一、数据库系统模式的概念二、数据库系统的三级模式结构三、数据库的二级映像功能与数据独立性1.3.2数据库系统的体系结构一、DBS体系结构的组成二、D ... [详细]
  • 实现‘点击恢复’功能 - Tap-to-Resume Feature in SpriteKit
    了解如何在应用程序从非活动状态返回时,在SpriteKit游戏中添加一个‘点击恢复’的文字提示。 ... [详细]
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 管理UINavigationController中的手势返回 - Managing Swipe Back Gestures in UINavigationController
    本文介绍了如何在一个简单的闪存卡片应用中实现平滑的手势返回功能,以增强用户体验。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
author-avatar
jasonmysh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有