敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
价值观
敏捷建模(Agile Modeling,AM)的价值观包括了XP(Extreme Programming:极限编程)的四个价值观:沟通、简单、反馈、勇气,此外,还扩展了第五个价值观:谦逊。
互联网是个神奇的大网,软件框架也是一种模式,如果你真的想做,可以来这里,这个手技的开始数字是一八七中间的是三儿零最后的是一四二五零,按照顺序组合起来就可以找到,我想说的是,除非你想做或者了解这方面的内容,如果只是凑热闹的话,就不要来了。
敏捷开发是针对传统的瀑布开发模式的弊端而产生的一种新的开发模式,目标是提高开发效率和响应能力。除了原则和实践,模式也是很重要的,多研究模式及其应用可以使你更深层次的理解敏捷开发。
沟通
建模不但能够促进你团队内部的开发人员之间沟通、还能够促进你的团队和你的project stakeholder之间的沟通。
简单
画一两张图表来代替几十甚至几百行的代码,通过这种方法,建模成为简化软件和软件(开发)过程的关键。这一点对开发人员而言非常重要-它简单,容易发现出新的想法,随着你(对软件)的理解的加深,也能够很容易的改进。
反馈
Kent Beck在Extreme Programming Explained中有句话讲得非常好:“过度自信是编程的职业病,反馈则是其处方。”通过图表来交流你的想法,你可以快速获得反馈,并能够按照建议行事。
谦逊
最优秀的开发人员都拥有谦逊的美德,他们总能认识到自己并不是无所不知的。事实上,无论是开发人员还是客户,甚至所有的 project stakeholder,都有他们自己的专业领域,都能够为项目做出贡献。一个有效的做法是假设参与项目的每一个人都有相同的价值,都应该被尊重。
原则
敏捷建模(AM)定义了一系列的核心原则和辅助原则,它们为软件开发项目中的建模实践奠定了基石。其中一些原则是从XP中借鉴而来,在Extreme Programming Explained中有它们的详细描述。而XP中的一些原则又是源于众所周知的软件工程学。复用的思想随处可见!基本上,本文中对这些原则的阐述主要侧重于它们是如何影响着建模工作;这样,对于这些借鉴于XP的原则,我们可以从另一个角度来看待。
核心原则
◆主张简单
当从事开发工作时,你应当主张最简单的解决方案就是最好的解决方案。不要过分构建
敏捷开发
(overbuild)你的软件。用AM的说法就是,如果你现在并不需要这项额外功能,那就不要在模型中增加它。要有这样的勇气:你现在不必要对这个系统进行过分的建模(over-model),只要基于现有的需求进行建模,日后需求有变更时,再来重构这个系统。尽可能的保持模型的简单。
◆拥抱变化
需求时刻在变,人们对于需求的理解也时刻在变。项目进行中,Project stakeholder可能变化,会有新人加入,也会有旧人离开。Project stakeholder的观点也可能变化,你努力的目标和成功标准也有可能发生变化。这就意味着随着项目的进行,项目环境也在不停的变化,因此你的开发方法必须要能够反映这种现实。
◆你的第二个目标是可持续性
即便你的团队已经把一个能够运转的系统交付给用户,你的项目也还可能是失败的--实现项目投资者的需求,其中就包括你的系统应该要有足够的鲁棒性(robust ),能够适应日后的扩展。就像Alistair Cockburn常说的,当你在进行软件开发的竞赛时,你的第二个目标就是准备下一场比赛。可持续性可能指的是系统的下一个主要发布版,或是你正在构建的系统的运转和支持。要做到这一点,你不仅仅要构建高质量的软件,还要创建足够的文档和支持材料,保证下一场比赛能有效的进行。你要考虑很多的因素,包括你现有的团队是不是还能够参加下一场的比赛,下一场比赛的环境,下一场比赛对你的组织的重要程度。简单的说,你在开发的时候,你要能想象到未来。
◆递增的变化
和建模相关的一个重要概念是你不用在一开始就准备好一切。实际上,你就算想这么做也不太可能。而且,你不用在模型中包容所有的细节,你只要足够的细节就够了。没有必要试图在一开始就建立一个囊括一切的模型,你只要开发一个小的模型,或是概要模型,打下一个基础,然后慢慢的改进模型,或是在不在需要的时候丢弃这个模型。这就是递增的思想。
◆令投资最大化
你的项目投资者为了开发出满足自己需要的软件,需要投入时间、金钱、设备等各种资源。投资者应该可以选取最好的方式投资,也可以要求你的团队不浪费资源。并且,他们还有最后的发言权,决定要投入多少的资源。如果是这些资源是你自己的,你希望你的资源被误用吗。
◆有目的的建模
对于自己的产出,例如模型、源代码、文档,很多开发人员不是担心它们是否够详细,就是担心它们是否太过详细,或担心它们是否足够正确。你不应该毫无意义的建模,应该先问问,为什么要建立这个产出,为谁建立它。和建模有关,也许你应该更多的了解软件的某个方面,也许为了保证项目的顺利进行,你需要和高级经理交流你的方法,也许你需要创建描述系统的文档,使其他人能够操作、维护、改进系统。如果你连为什么建模,为谁建模都不清楚,你又何必继续烦恼下去呢?首先,你要确定建模的目的以及模型的受众,在此基础上,再保证模型足够正确和足够详细。一旦一个模型实现了目标,你就可以结束工作,把精力转移到其它的工作上去,例如编写代码以检验模型的运作。该项原则也可适用于改变现有模型:如果你要做一些改变,也许是一个熟知的模式,你应该有做出变化的正确理由(可能是为了支持一项新的需求,或是为了重构以保证简洁)。关于该项原则的一个重要暗示是你应该要了解你的受众,即便受众是你自己也一样。例如,如果你是为维护人员建立模型,他们到底需要些什么?是厚达500页的详细文档才够呢,还是10页的工作总览就够了?你不清楚?去和他们谈谈,找出你想要的。
◆多种模型
开发软件需要使用多种模型,因为每种模型只能描述软件的单个方面,“要开发现今的商业应
敏捷开发
用,我们该需要什么样的模型?”考虑到现今的软件的复杂性,你的建模工具箱应该要包容大量有用的技术(关于产出的清单,可以参阅AM的建模工件)。有一点很重要,你没有必要为一个系统开发所有的模型,而应该针对系统的具体情况,挑选一部分的模型。不同的系统使用不同部分的模型。比如,和家里的修理工作一样,每种工作不是要求你用遍工具箱里的每一个工具,而是一次使用某一件工具。又比如,你可能会比较喜欢某些工具,同样,你可会偏爱某一种模型。有多少的建模工件可供使用呢,如果你想要了解这方面的更多细节,我在Be Realistic About the UML中列出了UML的相关部分,如果你希望做进一步的了解,可以参阅白皮书The Object Primer -- An Introduction to Techniques for Agile Modeling。
成功
随机应变
要达到敏捷的成功—交付支撑业务的最佳软件—软件专家也可以引用这些规则。
自主权
专注于工作,交付正确的软件,而不是被他人的愤怒情绪所影响。
分享经验
构建完美软件开发流程,并没有统一的模式。但是在这个领域,敏捷技术,加上持续的应用和改进,都能够达到敏捷的成功。
1. 大数据兴起预示“信息时代”进入新阶段(1) 看待大数据要有历史性的眼光信息时代是相对于农业和工业时代而言的一段相当长的时间。 不同时代的生产要素和社会发展驱动力有明显差别。 信息时代的标志性技术发明是数字计算机、集成电路、光纤通信和互联网(万维网)。 尽管媒体上大量出现“大数据时代”的说法,但大数据、云计算等新技术目前还没有出现与上述划时代的技术发明可媲美的技术突破,难以构成一个超越信息时代的新时代。 信息时代可以分成若干阶段,大数据等新技术的应用标志着信息社会将进入一个新阶段。 考察分析100年以上的历史长河可以发现,信息时代与工业时代的发展规律有许多相似之处。 电气化时代与信息时代生产率的提高过程惊人地相似。 都是经过20~30年扩散储备之后才有明显提高,分界线分别是1915年和1995年。 笔者猜想,信息技术经过几十年的扩散储备后,21世纪的前30年可能是信息技术提高生产率的黄金时期。 (2) 从“信息时代新阶段”的高度认识“大数据”中国已开始进入信息时代,但许多人的思想还停留在工业时代。 经济和科技工作中出现的许多问题,其根源是对时代的认识不到位。 18-19世纪中国落后挨打,根源是满清政府没有认识到时代变了,我们不能重犯历史性的错误。 中央提出中国进入经济“新常态”以后,媒体上有很多讨论,但多数是为经济增速降低做解释,很少有从时代改变的角度论述“新常态”的文章。 笔者认为,经济新常态意味着中国进入了以信息化带动新型工业化、城镇化和农业现代化的新阶段,是经济和社会管理的跃迁,不是权宜之计,更不是倒退。 大数据、移动互联网、社交网络、云计算、物联网等新一代信息技术构成的IT架构“第三平台”是信息社会进入新阶段的标志,对整个经济的转型有引领和带动作用。 媒体上经常出现的互联网、创客、“第二次机器革命”、“工业4.0”等都与大数据和云计算有关。 大数据和云计算是新常态下提高生产率的新杠杆,所谓创新驱动发展就是主要依靠信息技术促进生产率的提高。 (3)大数据可能是中国信息产业从跟踪走向引领的突破口中国的大数据企业已经有相当好的基础。 全球十大互联网服务企业中国占有4席(阿里巴巴、腾讯、网络和京东),其他6个Top10 互联网服务企业全部是美国企业,欧洲和日本没有互联网企业进入Top10。 这说明中国企业在基于大数据的互联网服务业务上已处于世界前列。 在发展大数据技术上,我国有可能改变过去30年技术受制于人的局面,在大数据应用上中国有可能在全世界起到引领作用。 但是,企业的规模走在世界前列并不表示我国在大数据技术上领先。 实际上,国际上目前流行的大数据主流技术没有一项是我国开创的。 开源社区和众包是发展大数据技术和产业的重要途径,但我们对开源社区的贡献很小,在全球近万名社区核心志愿者中,我国可能不到200名。 我们要吸取过去基础研究为企业提供核心技术不够的教训,加强大数据基础研究和前瞻技术研究,努力攻克大数据核心和关键技术。 2. 理解大数据需要上升到文化和认识论的高度(1) 数据文化是一种先进文化数据文化的本质是尊重客观世界的实事求是精神,数据就是事实。 重视数据就是强调用事实说话、按理性思维的科学精神。 中国人的传统习惯是定性思维而不是定量思维。 目前许多城市在开展政府数据开放共享工作,但是发现多数老百姓对政府要开放的数据并不感兴趣。 要让大数据走上健康的发展轨道,首先要大力弘扬数据文化。 本文讲的数据文化不只是大数据用于文艺、出版等文化产业,而是指全民的数据意识。 全社会应认识到:信息化的核心是数据,只有政府和大众都关注数据时,才能真正理解信息化的实质;数据是一种新的生产要素,大数据的利用可以改变资本和土地等传统要素在经济中的权重。 有人将“上帝与数据共舞”归纳为美国文化的特点之一,说的是美国人既有对神的诚意,又有通过数据求真的理性。 美国从镀金时代到进步主义时期完成了数据文化的思维转变,南北战争之后人口普查的方法被应用到很多领域,形成了数据预测分析的思维方式。 近百年来美国和西方各国的现代化与数据文化的传播渗透有密切关系,我国要实现现代化也必须强调数据文化。 提高数据意识的关键是要理解大数据的战略意义。 数据是与物质、能源一样重要的战略资源,数据的采集和分析涉及每一个行业,是带有全局性和战略性的技术。 从硬技术到软技术的转变是当今全球性的技术发展趋势,而从数据中发现价值的技术正是最有活力的软技术,数据技术与数据产业的落后将使我们像错过工业革命机会一样延误一个时代。 (2)理解大数据需要有正确的认识论历史上科学研究是从逻辑演绎开始的,欧几里得几何的所有定理可从几条公理推导出来。 从伽利略和牛顿开始,科学研究更加重视自然观察和实验观察,在观察基础上通过归纳方法提炼出科学理论,“科学始于观察”成为科学研究和认识论的主流。 经验论和唯理论这两大流派都对科学的发展做出过重大贡献,但也暴露出明显的问题,甚至走入极端。 理性主义走向极端就成为康德所批判的独断主义,经验主义走入极端就变成怀疑论和不可知论。 20世纪30年代,德国哲学家波普尔提出了被后人称为“证伪主义”的认识论观点,他认为科学理论不能用归纳法证实,只能被试验发现的反例“证伪”,因而他否定科学始于观察,提出“科学始于问题”的著名观点[3]。 证伪主义有其局限性,如果严格遵守证伪法则,万有引力定律、原子论等重要理论都可能被早期的所谓反例扼杀。 但“科学始于问题”的观点对当前大数据技术的发展有指导意义。 大数据的兴起引发了新的科学研究模式:“科学始于数据”。 从认识论的角度看,大数据分析方法与“科学始于观察”的经验论较为接近,但我们要牢记历史的教训,避免滑入否定理论作用的经验主义泥坑。 在强调“相关性”的时候不要怀疑“因果性”的存在;在宣称大数据的客观性、中立性的时候,不要忘了不管数据的规模如何,大数据总会受制于自身的局限性和人的偏见。 不要相信这样的预言:“采用大数据挖掘,你不需要对数据提出任何问题,数据就会自动产生知识”。 面对像大海一样的巨量数据,从事数据挖掘的科技人员最大的困惑是,我们想捞的“针”是什么?这海里究竟有没有“针”?也就是说,我们需要知道要解决的问题是什么。 从这个意义上讲,“科学始于数据”与“科学始于问题”应有机地结合起来。 对“原因”的追求是科学发展的永恒动力。 但是,原因是追求不完的,人类在有限的时间内不可能找到“终极真理”。 在科学的探索途中,人们往往用“这是客观规律”解释世界,并不立即追问为什么有这样的客观规律。 也就是说,传统科学并非只追寻因果性,也可以用客观规律作为结论。 大数据研究的结果多半是一些新的知识或新的模型,这些知识和模型也可以用来预测未来,可以认为是一类局部性的客观规律。 科学史上通过小数据模型发现一般性规律的例子不少,比如开普勒归纳的天体运动规律等;而大数据模型多半是发现一些特殊性的规律。 物理学中的定律一般具有必然性,但大数据模型不一定具有必然性,也不一定具有可演绎性。 大数据研究的对象往往是人的心理和社会,在知识阶梯上位于较高层,其自然边界是模糊的,但有更多的实践特征。 大数据研究者更重视知行合一,相信实践论。 大数据认识论有许多与传统认识论不同的特点,我们不能因其特点不同就否定大数据方法的科学性。 大数据研究挑战了传统认识论对因果性的偏爱,用数据规律补充了单一的因果规律,实现了唯理论和经验论的数据化统一,一种全新的大数据认识论正在形成。 3. 正确认识大数据的价值和效益(1)大数据的价值主要体现为它的驱动效应人们总是期望从大数据中挖掘出意想不到的“大价值”。 实际上大数据的价值主要体现在它的驱动效应,即带动有关的科研和产业发展,提高各行各业通过数据分析解决困难问题和增值的能力。 大数据对经济的贡献并不完全反映在大数据公司的直接收入上,应考虑对其他行业效率和质量提高的贡献。 大数据是典型的通用技术,理解通用技术要采用“蜜蜂模型”:蜜蜂的效益主要不是自己酿的蜂蜜,而是蜜蜂传粉对农业的贡献。 电子计算机的创始人之一冯·诺依曼曾指出:“在每一门科学中,当通过研究那些与终极目标相比颇为朴实的问题,发展出一些可以不断加以推广的方法时,这门学科就得到了巨大的进展。 ”我们不必天天期盼奇迹出现,多做一些“颇为朴实”的事情,实际的进步就在扎扎实实的努力之中。 媒体喜欢宣传一些令人惊奇的大数据成功案例,对这些案例我们应保持清醒的头脑。 据Intel中国研究院首席工程师吴甘沙在一次报告中透露,所谓“啤酒加尿布”的数据挖掘经典案例,其实是TerADAta公司一位经理编出来的“故事”,历史上并没有发生过[4]。 即使有这个案例,也不说明大数据分析本身有什么神奇,大数据中看起来毫不相关的两件事同时或相继出现的现象比比皆是,关键是人的分析推理找出为什么两件事物同时或相继出现,找对了理由才是新知识或新发现的规律,相关性本身并没有多大价值。 有一个家喻户晓的寓言可以从一个角度说明大数据的价值:一位老农民临终前告诉他的3个儿子,他在他家的地中埋藏了一罐金子,但没有讲埋在哪里。 他的儿子们把他家所有的地都深挖了一遍,没有挖到金子,但由于深挖了土地,从此庄稼收成特别好。 数据收集、分析的能力提高了,即使没有发现什么普适的规律或令人完全想不到的新知识,大数据的价值也已逐步体现。 (2)大数据的力量来自“大成智慧”每一种数据来源都有一定的局限性和片面性,只有融合、集成各方面的原始数据,才能反映事物的全貌。 事物的本质和规律隐藏在各种原始数据的相互关联之中。 不同的数据可能描述同一实体,但角度不同。 对同一个问题,不同的数据能提供互补信息,可对问题有更深入的理解。 因此在大数据分析中,汇集尽量多种来源的数据是关键。 数据科学是数学(统计、代数、拓扑等)、计算机科学、基础科学和各种应用科学融合的科学,类似钱学森先生提出的“大成智慧学”[5]。 钱老指出:“必集大成,才能得智慧”。 大数据能不能出智慧,关键在于对多种数据源的集成和融合。 IEEE计算机学会最近发布了2014年的计算机技术发展趋势预测报告,重点强调“无缝智慧(seamless intelligence)”。 发展大数据的目标就是要获得协同融合的“无缝智慧”。 单靠一种数据源,即使数据规模很大,也可能出现“瞎子摸象”一样的片面性。 数据的开放共享不是锦上添花的工作,而是决定大数据成败的必要前提。 大数据研究和应用要改变过去各部门和各学科相互分割、独立发展的传统思路,重点不是支持单项技术和单个方法的发展,而是强调不同部门、不同学科的协作。 数据科学不是垂直的“烟囱”,而是像环境、能源科学一样的横向集成科学。 (3)大数据远景灿烂,但近期不能期望太高交流电问世时主要用作照明,根本想象不到今天无处不在的应用。 大数据技术也一样,将来一定会产生许多现在想不到的应用。 我们不必担心大数据的未来,但近期要非常务实地工作。 人们往往对近期的发展估计过高,而对长期的发展估计不足。 Gartner公司预测,大数据技术要在5~10年后才会成为较普遍采用的主流技术,对发展大数据技术要有足够的耐心。 大数据与其他信息技术一样,在一段时间内遵循指数发展规律。 指数发展的特点是,从一段历史时期衡量(至少30年),前期发展比较慢,经过相当长时间(可能需要20年以上)的积累,会出现一个拐点,过了拐点以后,就会出现爆炸式的增长。 但任何技术都不会永远保持“指数性”增长,一般而言,高技术发展遵循Gartner公司描述的技术成熟度曲线(hype cycle),最后可能进入良性发展的稳定状态或者走向消亡。 需要采用大数据技术来解决的问题往往都是十分复杂的问题,比如社会计算、生命科学、脑科学等,这些问题绝不是几代人的努力就可以解决的。 宇宙经过百亿年的演化,才出现生物和人类,其复杂和巧妙堪称绝伦,不要指望在我们这一代人手中就能彻底揭开其奥妙。 展望数百万年甚至更长远的未来,大数据技术只是科学技术发展长河中的一朵浪花,对10~20年大数据研究可能取得的科学成就不能抱有不切实际的幻想。 4 .从复杂性的角度看大数据研究和应用面临的挑战大数据技术和人类探索复杂性的努力有密切关系。 20世纪70年代,新三论(耗散结构论、协同论、突变论)的兴起对几百年来贯穿科学技术研究的还原论发起了挑战。 1984年盖尔曼等3位诺贝尔奖得主成立以研究复杂性为主的圣菲研究所,提出超越还原论的口号,在科技界掀起了一场复杂性科学运动。 虽然雷声很大,但30年来并未取得预期的效果,其原因之一可能是当时还没有出现解决复杂性的技术。 集成电路、计算机与通信技术的发展大大增强了人类研究和处理复杂问题的能力。 大数据技术将复杂性科学的新思想发扬光大,可能使复杂性科学得以落地。 复杂性科学是大数据技术的科学基础,大数据方法可以看作复杂性科学的技术实现。 大数据方法为还原论与整体论的辩证统一提供了技术实现途径。 大数据研究要从复杂性研究中吸取营养,从事数据科学研究的学者不但要了解20世纪的“新三论”,可能还要学习与超循环、混沌、分形和元胞自动机等理论有关的知识,扩大自己的视野,加深对大数据机理的理解。 大数据技术还不成熟,面对海量、异构、动态变化的数据,传统的数据处理和分析技术难以应对,现有的数据处理系统实现大数据应用的效率较低,成本和能耗较大,而且难以扩展。 这些挑战大多来自数据本身的复杂性、计算的复杂性和信息系统的复杂性。 (1)数据复杂性引起的挑战图文检索、主题发现、语义分析、情感分析等数据分析工作十分困难,其原因是大数据涉及复杂的类型、复杂的结构和复杂的模式,数据本身具有很高的复杂性。 目前,人们对大数据背后的物理意义缺乏理解,对数据之间的关联规律认识不足,对大数据的复杂性和计算复杂性的内在联系也缺乏深刻理解,领域知识的缺乏制约了人们对大数据模型的发现和高效计算方法的设计。 形式化或定量化地描述大数据复杂性的本质特征及度量指标,需要深入研究数据复杂性的内在机理。 人脑的复杂性主要体现在千万亿级的树突和轴突的链接,大数据的复杂性主要也体现在数据之间的相互关联。 理解数据之间关联的奥秘可能是揭示微观到宏观“涌现”规律的突破口。 大数据复杂性规律的研究有助于理解大数据复杂模式的本质特征和生成机理,从而简化大数据的表征,获取更好的知识抽象。 为此,需要建立多模态关联关系下的数据分布理论和模型,理清数据复杂度和计算复杂度之间的内在联系,奠定大数据计算的理论基础。 (2) 计算复杂性引起的挑战大数据计算不能像处理小样本数据集那样做全局数据的统计分析和迭代计算,在分析大数据时,需要重新审视和研究它的可计算性、计算复杂性和求解算法。 大数据样本量巨大,内在关联密切而复杂,价值密度分布极不均衡,这些特征对建立大数据计算范式提出了挑战。 对于PB级的数据,即使只有线性复杂性的计算也难以实现,而且,由于数据分布的稀疏性,可能做了许多无效计算。 传统的计算复杂度是指某个问题求解时需要的时间空间与问题规模的函数关系,所谓具有多项式复杂性的算法是指当问题的规模增大时,计算时间和空间的增长速度在可容忍的范围内。 传统科学计算关注的重点是,针对给定规模的问题,如何“算得快”。 而在大数据应用中,尤其是流式计算中,往往对数据处理和分析的时间、空间有明确限制,比如网络服务如果回应时间超过几秒甚至几毫秒,就会丢失许多用户。 大数据应用本质上是在给定的时间、空间限制下,如何“算得多”。 从“算得快”到“算得多”,考虑计算复杂性的思维逻辑有很大的转变。 所谓“算得多”并不是计算的数据量越大越好,需要探索从足够多的数据,到刚刚好的数据,再到有价值的数据的按需约简方法。 基于大数据求解困难问题的一条思路是放弃通用解,针对特殊的限制条件求具体问题的解。 人类的认知问题一般都是NP难问题,但只要数据充分多,在限制条件下可以找到十分满意的解,近几年自动驾驶汽车取得重大进展就是很好的案例。 为了降低计算量,需要研究基于自举和采样的局部计算和近似方法,提出不依赖于全量数据的新型算法理论,研究适应大数据的非确定性算法等理论。 (3)系统复杂性引起的挑战大数据对计算机系统的运行效率和能耗提出了苛刻要求,大数据处理系统的效能评价与优化问题具有挑战性,不但要求理清大数据的计算复杂性与系统效率、能耗间的关系,还要综合度量系统的吞吐率、并行处理能力、作业计算精度、作业单位能耗等多种效能因素。 针对大数据的价值稀疏性和访问弱局部性的特点,需要研究大数据的分布式存储和处理架构。 大数据应用涉及几乎所有的领域,大数据的优势是能在长尾应用中发现稀疏而珍贵的价值,但一种优化的计算机系统结构很难适应各种不同的需求,碎片化的应用大大增加了信息系统的复杂性,像昆虫种类一样多(500多万种)的大数据和物联网应用如何形成手机一样的巨大市场,这就是所谓“昆虫纲悖论”[6]。 为了化解计算机系统的复杂性,需要研究异构计算系统和可塑计算技术。 大数据应用中,计算机系统的负载发生了本质性变化,计算机系统结构需要革命性的重构。 信息系统需要从数据围着处理器转改变为处理能力围着数据转,关注的重点不是数据加工,而是数据的搬运;系统结构设计的出发点要从重视单任务的完成时间转变到提高系统吞吐率和并行处理能力,并发执行的规模要提高到10亿级以上。 构建以数据为中心的计算系统的基本思路是从根本上消除不必要的数据流动,必要的数据搬运也应由“大象搬木头”转变为“蚂蚁搬大米”。 5 .发展大数据应避免的误区(1) 不要一味追求“数据规模大”大数据主要难点不是数据量大,而是数据类型多样、要求及时回应和原始数据真假难辨。 现有数据库软件解决不了非结构化数据,要重视数据融合、数据格式的标准化和数据的互操作。 采集的数据往往质量不高是大数据的特点之一,但尽可能提高原始数据的质量仍然值得重视。 脑科学研究的最大问题就是采集的数据可信度差,基于可信度很差的数据难以分析出有价值的结果。 一味追求数据规模大不仅会造成浪费,而且效果未必很好。 多个来源的小数据的集成融合可能挖掘出单一来源大数据得不到的大价值。 应多在数据的融合技术上下功夫,重视数据的开放与共享。 所谓数据规模大与应用领域有密切关系,有些领域几个PB的数据未必算大,有些领域可能几十TB已经是很大的规模。 发展大数据不能无止境地追求“更大、更多、更快”,要走低成本、低能耗、惠及大众、公正法治的良性发展道路,要像现在治理环境污染一样,及早关注大数据可能带来的“污染”和侵犯隐私等各种弊端。 (2) 不要“技术驱动”,要“应用为先”新的信息技术层出不穷,信息领域不断冒出新概念、新名词,估计继“大数据”以后,“认知计算”、“可穿戴设备”、“机器人”等新技术又会进入炒作高峰。 我们习惯于跟随国外的热潮,往往不自觉地跟着技术潮流走,最容易走上“技术驱动”的道路。 实际上发展信息技术的目的是为人服务,检验一切技术的唯一标准是应用。 我国发展大数据产业一定要坚持“应用为先”的发展战略,坚持应用牵引的技术路线。 技术有限,应用无限。 各地发展云计算和大数据,一定要通过政策和各种措施调动应用部门和创新企业的积极性,通过跨界的组合创新开拓新的应用,从应用中找出路。 (3) 不能抛弃“小数据”方法流行的“大数据”定义是:无法通过目前主流软件工具在合理时间内采集、存储、处理的数据集。 这是用不能胜任的技术定义问题,可能导致认识的误区。 按照这种定义,人们可能只会重视目前解决不了的问题,如同走路的人想踩着自己身前的影子。 其实,目前各行各业碰到的数据处理多数还是“小数据”问题。 我们应重视实际碰到的问题,不管是大数据还是小数据。 统计学家们花了200多年,总结出认知数据过程中的种种陷阱,这些陷阱不会随着数据量的增大而自动填平。 大数据中有大量的小数据问题,大数据采集同样会犯小数据采集一样的统计偏差。 Google公司的流感预测这两年失灵,就是由于搜索推荐等人为的干预造成统计误差。 大数据界流行一种看法:大数据不需要分析因果关系、不需要采样、不需要精确数据。 这种观念不能绝对化,实际工作中要逻辑演绎和归纳相结合、白盒与黑盒研究相结合、大数据方法与小数据方法相结合。 (4) 要高度关注构建大数据平台的成本目前全国各地都在建设大数据中心,吕梁山下都建立了容量达2 PB以上的数据处理中心,许多城市公安部门要求存储3个月以上的高清监控录像。 这些系统的成本都非常高。 数据挖掘的价值是用成本换来的,不能不计成本,盲目建设大数据系统。 什么数据需要保存,要保存多少时间,应当根据可能的价值和所需的成本来决定。 大数据系统技术还在研究之中,美国的E级超级计算机系统要求能耗降低1 000倍,计划到2024年才能研制出来,用现在的技术构建的巨型系统能耗极高。 我们不要攀比大数据系统的规模,而是要比实际应用效果,比完成同样的事消耗更少的资源和能量。 先抓老百姓最需要的大数据应用,因地制宜发展大数据。 发展大数据与实现信息化的策略一样:目标要远大、起步要精准、发展要快速。
最近,大公司如MS、Google、IBM等都在炒作一个概念就是云计算,如IBM跟欧盟 合作开展云计算,欧盟拨款1.7亿万欧元;Google与IBM 联合力推云计算模式;Yahoo! 也把宝押在了云计算上;我国也在无锡 跟IBM公司联合建立了一个云计算中心;有人说微软收购Yahoo!一个重要的考虑就是在Yahoo在云计算方面的领先地位,多少有点儿道理。 那么,什么是云计算哪?我看到有一位推广自由开源的老先生把云计算(Cloud Computing)翻译成“云雾计算”着实是可笑,好多网友也在问什么是云计算,什么是雾计算,说明好多人对于云计算是一头雾水。 云计算可不是“云雨”,可不是云山雾罩。 “云计算”(Cloud Computing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,或者说是这些计算机科学概念的商业实现。 许多跨国信息技术行业的公司如IBM、Yahoo和Google等正在使用云计算的概念兜售自己的产品和服务。 云计算这个名词可能是借用了量子物理中的“电子云”(Electron Cloud),强调说明计算的弥漫性、无所不在的分布性和社会性特征。 量子物理上有“电子云(electron cloud)”,在原子核周围运动的电子不是一个经验世界的轨道例如像天体一样的运行轨道,而是弥漫空间的、云状的存在,描述电子的运动不是牛顿经典力学而是一个概率分布的密度函数,用薛定谔波动方程来描述,特定的时间内粒子位于某个位置的概率有多大,这跟经典力学的提法完全不同。 电子云有以下特性,概然性、弥漫性、同时性等等,云计算可能的确是来自电子云的概念,前今年就有所谓“无所不在的计算”,IBM有一个无所不在的计算叫“Ubiquitous “,MS(Bill)不久也跟着提出一个无所不在的计算“Pervade“,现在人们对无所不在的计算又有了新的认识,现在说是”Omnipresent “。 但是,云计算的确不是纯粹的商业炒作,的确会改变信息产业的格局,现在许多人已经用上了Google Doc和Google Apps,用上了许多远程软件应用如Office字处理而不是用自己本地机器上安装这些应用软件,以后谁还会花钱买Office软件哪?还有许多企业应用如电子商务应用,例如要写一个交易程序,Google的企业方案就包含了现成的模板,一个销售人员根本没学习过Netbeanr也能做出来。 这种计算和产业动向是符合开源精神的,符合SaaS(Software as a Service)趋势。 现在有这样的说法,当今世界只有五台计算机,一台是Google的,一台是IBM的,一台是Yahoo的,一台是Amazon的,一台是微软的,因为这五个公司率先在分布式处理的商业应用上捷足先登引领潮流。 Sun公司很早就提出说“网络就是计算机”是有先见之明的。 有以下五个主要原因使得分布式计算必然会越来越普遍,逐渐发展成主流的计算模式而取代集中式的大型计算机: 1。 现在分布式系统的第一个原因就是因为他具有比集中式系统更好的性能价格比。 你不要花几十万美元就能获得高效能计算。 2。 多数应用本身就是分布式的。 如工业企业应用,管理部门和现场不在同一个地方。 3。 高可靠性。 冗余不仅是生物进化的必要条件,而且也是信息技术。 现代分布式系统具有高度容错机制,控制核反应堆主要采用分布式来实现高可靠性。 4。 可扩展性。 买一台性能更高的大型机,或者再买一台性能相同的大型机的费用都比添加几台PC的费用高得多。 5。 高度灵活性。 能够兼容不同硬件厂商的产品,兼容低配置机器和外设而获得高性能计算。 粗略地计算,目前的个人计算机每个CPU芯片的处理能力是200MIPS,就是每秒种执行200M也就是两亿次指令,而最近Yahoo!公司报道他们已经实现了有一万个节点(node)就是一万台PC计算机连接的分布式系统,总的处理能力是 2,000,000MIPS,最快的芯片也达不到这个速度,因为在一定面积上设计的芯片的速度是存在一个极限的,不可逾越。 而当前世界著名的超级计算机所谓的TOP500,达到每秒几百万亿次指令执行,都是采用分布式设计的,世界第一的IBM BlueGene超级计算机采用了32部机架,每部机架部署有768个PowerPC440 CPU。 顺便说一句,这TOP500基本都是使用Linux操作系统的!现在社会和家庭拥有的个人计算机就是PC,只有30%的计算能力被利用,甚至更低,而其余70%的实际上是被闲置的,这些闲置的计算机资源和计算能力只有通过分布式系统才能得到有效的利用,这样可以大大提高一个国家的计算能力,而计算能力是衡量一个国家国力和科学研究能力的指标,这一点现在还没有被国人充分认识到。 一个国家和地区的计算能力现在已经成为一种重要的战略资源,不亚于石油和其他战略物资的重要性。 云计算就是把普通的服务器或者个人计算机连接起来以获得超级计算机也叫高性能和高可用性计算机的功能,但是成本更低。 这在世界上也是个先进的项目。 云计算模式必定能大大提高我国科学计算机和商业计算能力,使得我国经济竞争力大大提升。 美国和欧洲有许多社会分布的分布式计算系统,他们动员和使用这些社会计算能力进行人类基因组学(Genomics)的研究、天文学问题研究、数学难题研究以及其他的科学问题研究。 去年的一个研究报告估计我国个人计算机PC保有量接近两亿台。 按照计算机操作系统的宗师Andrew S. Tanenbaum(AST)给分布式系统的的定义:“分布式系统是这样的系统,它运行在不具有共享内存的多台机器上,但在用户的眼里却像是一台计算机”。 (引自《现代操作系统》,机械工业出版社,1999年中文版)。 它的目标是让每个用户感觉联网的计算机是一个分时系统——就像使用个人计算机一样 ——而不是一个由许多计算机联合起来的集体,即使由五个节点组成的分布式系统也应该让用户感觉自己是在使用一台价值20万美元的大型计算机,唯一不寻常的感觉是处理速度提高了许多,别的没有什么不同。 例如,这里有一个简单的例子,在机器A的用户要使用安装在机器B上用户的目录里的文件,A用户要使用远程登录命令rlogin B登录到机器B的目录上,那么这就不是一个真正的分布式系统,因为用户A意识到了另外一台机器的存在,分布式系统必须要做到,用户A登录到一个目录上的时候不知道自己是在本地机器上还是在远程机器上的目录上,对于用户A来说机器B是透明的,这就是分布式系统设计时考虑的“透明性”要求。 其他有关的问题包括:分布式文件系统的问题,目录和文件访问机制以及一致性问题,分布式系统进程的通信问题等等。 目前的云计算严格说还没有到达真正的分布式计算的语义学水平。
云计算[1](cloud computing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。 云是网络、互联网的一种比喻说法。 过去在图中往往用云来表示电信网,后来也用来表示互联网和底层基础设施的抽象。 因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。 用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。 [2]对云计算的定义有多种说法。 对于到底什么是云计算,至少可以找到100种解释。 [3]目前广为接受的是美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 中文名云计算外文名Cloud Computing目录1背景2特点3概念4简史5演化6影响▪ 软件开发的影响▪ 对软件测试的影响7服务形式▪ IaaS:基础设施即服务▪ PaaS:平台即服务▪ SaaS:软件即服务8应用▪ 云物联▪ 云安全▪ 云存储▪ 云游戏▪ 云计算与大数据9隐私10技术11相关问题12发展1背景编辑云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变。 云计算(Cloud Computing)是分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、[4]网络存储(Network Storage Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。 2特点编辑云计算是通过使计算分布在大量的分布式计算机上,而非本地计算机或远程服务器中,企业数据中心的运行将与互联网更相似。 这使得企业能够将资源切换到需要的应用上,根据需求访问计算机和存储系统。 好比是从古老的单台发电机模式转向了电厂集中供电的模式。 它意味着计算能力也可以作为一种商品进行流通,就像煤气、水电一样,取用方便,费用低廉。 最大的不同在于,它是通过互联网进行传输的。 被普遍接受的云计算特点如下:(1) 超大规模“云”具有相当的规模,Google云计算已经拥有100多万台服务器, Amazon、IBM、微软、Yahoo等的“云”均拥有几十万台服务器。 企业私有云一般拥有数百上千台服务器。 “云”能赋予用户前所未有的计算能力。 (2) 虚拟化云计算支持用户在任意位置、使用各种终端获取应用服务。 所请求的资源来自“云”,而不是固定的有形的实体。 应用在“云”中某处运行,但实际上用户无需了解、也不用担心应用运行的具体位置。 只需要一台笔记本或者一个手机,就可以通过网络服务来实现我们需要的一切,甚至包括超级计算这样的任务。 (3) 高可靠性“云”使用了数据多副本容错、计算节点同构可互换等措施来保障服务的高可靠性,使用云计算比使用本地计算机可靠。 (4) 通用性云计算不针对特定的应用,在“云”的支撑下可以构造出千变万化的应用,同一个“云”可以同时支撑不同的应用运行。 (5) 高可扩展性“云”的规模可以动态伸缩,满足应用和用户规模增长的需要。 (6) 按需服务“云”是一个庞大的资源池,你按需购买;云可以像自来水,电,煤气那样计费。 (7) 极其廉价由于“云”的特殊容错措施可以采用极其廉价的节点来构成云,“云”的自动化集中式管理使大量企业无需负担日益高昂的数据中心管理成本,“云”的通用性使资源的利用率较之传统系统大幅提升,因此用户可以充分享受“云”的低成本优势,经常只要花费几百美元、几天时间就能完成以前需要数万美元、数月时间才能完成的任务。 云计算可以彻底改变人们未来的生活,但同时也要重视环境问题,这样才能真正为人类进步做贡献,而不是简单的技术提升。 (8) 潜在的危险性云计算服务除了提供计算服务外,还必然提供了存储服务。 但是云计算服务当前垄断在私人机构(企业)手中,而他们仅仅能够提供商业信用。 对于政府机构、商业机构(特别象银行这样持有敏感数据的商业机构)对于选择云计算服务应保持足够的警惕。 一旦商业用户大规模使用私人机构提供的云计算服务,无论其技术优势有多强,都不可避免地让这些私人机构以“数据(信息)”的重要性挟制整个社会。 对于信息社会而言,“信息”是至关重要的。 另一方面,云计算中的数据对于数据所有者以外的其他用户云计算用户是保密的,但是对于提供云计算的商业机构而言确实毫无秘密可言。 所有这些潜在的危险,是商业机构和政府机构选择云计算服务、特别是国外机构提供的云计算服务时,不得不考虑的一个重要的前提。 [5]3概念编辑原文:Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 XenSystem,以及在国外已经非常成熟的Intel 和IBM,各种“云计算”的应用服务范围正日渐扩大,影响力也无可估量。 由于云计算应用的不断深入,以及对大数据处理需求的不断扩大,用户对性能强大、可用性高的4路、8路服务器需求出现明显提速,这一细分产品同比增速超过200%。 IBM在这一领域占有相当的优势,更值得关注的是,浪潮仅以天梭TS850一款产品在2011实现了超过15%的市场占有率,以不到1%的差距排名IBM,HP之后,成为中国高端服务器三强。 目前浪潮斥资近十亿元研发的32路高端容错服务器天梭K1系统尚未面世,其巨大的市场潜力有待挖掘。 原文:Cloud computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.云计算常与网格计算、效用计算、自主计算相混淆。 网格计算:分布式计算的一种,由一群松散耦合的计算机组成的一个超级虚拟计算机,常用来执行一些大型任务;效用计算:IT资源的一种打包和计费方式,比如按照计算、存储分别计量费用,像传统的电力等公共设施一样;自主计算:具有自我管理功能的计算机系统。 事实上,许多云计算部署依赖于计算机集群(但与网格的组成、体系结构、目的、工作方式大相径庭),也吸收了自主计算和效用计算的特点。 4简史编辑1983年,太阳电脑(Sun Microsystems)提出“网络是电脑”(“The Network is the Computer”),2006年3月,亚马逊(Amazon)推出弹性计算云(Elastic Compute Cloud;EC2)服务。 2006年8月9日,Google首席执行官埃里克·施密特(Eric Schmidt)在搜索引擎大会(SES San Jose 2006)首次提出“云计算”(Cloud Computing)的概念。 Google“云端计算”源于Google工程师克里斯托弗·比希利亚所做的“Google 101”项目。 2007年10月,Google与IBM开始在美国大学校园,包括卡内基梅隆大学、麻省理工学院、斯坦福大学、加州大学柏克莱分校及马里兰大学等,推广云计算的计划,这项计划希望能降低分布式计算技术在学术研究方面的成本,并为这些大学提供相关的软硬件设备及技术支持(包括数百台个人电脑及BladeCenter与System x服务器,这些计算平台将提供1600个处理器,支持包括Linux、Xen、Hadoop等开放源代码平台)。 而学生则可以通过网络开发各项以大规模计算为基础的研究计划。 2008年1月30日,Google宣布在台湾启动“云计算学术计划”,将与台湾台大、交大等学校合作,将这种先进的大规模、快速将云计算技术推广到校园。 2008年2月1日,IBM(NYSE: IBM)宣布将在中国无锡太湖新城科教产业园为中国的软件公司建立全球第一个云计算中心(Cloud Computing Center)。 2008年7月29日,雅虎、惠普和英特尔宣布一项涵盖美国、德国和新加坡的联合研究计划,推出云计算研究测试床,推进云计算。 该计划要与合作伙伴创建6个数据中心作为研究试验平台,每个数据中心配置1400个至4000个处理器。 这些合作伙伴包括新加坡资讯通信发展管理局、德国卡尔斯鲁厄大学Steinbuch计算中心、美国伊利诺伊大学香宾分校、英特尔研究院、惠普实验室和雅虎。 2008年8月3日,美国专利商标局网站信息显示,戴尔正在申请“云计算”(Cloud Computing)商标,此举旨在加强对这一未来可能重塑技术架构的术语的控制权。 2010年3月5日,Novell与云安全联盟(CSA)共同宣布一项供应商中立计划,名为“可信任云计算计划(Trusted Cloud Initiative)”。 2010年7月,美国国家航空航天局和包括Rackspace、AMD、Intel、戴尔等支持厂商共同宣布“OpenStack”开放源代码计划,微软在2010年10月表示支持OpenStack与Windows Server 2008 R2的集成;而Ubuntu已把OpenStack加至11.04版本中。 2011年2月,思科系统正式加入OpenStack,重点研制OpenStack的网络服务。 5演化编辑云计算主要经历了四个阶段才发展到现在这样比较成熟的水平,这四个阶段依次是电厂模式、效用计算、网格计算和云计算。 电厂模式阶段:电厂模式就好比是利用电厂的规模效应,来降低电力的价格,并让用户使用起来更方便,且无需维护和购买任何发电设备。 效用计算阶段:在1960年左右,当时计算设备的价格是非常高昂的,远非普通企业、学校和机构所能承受,所以很多人产生了共享计算资源的想法。 1961年,人工智能之父麦肯锡在一次会议上提出了“效用计算”这个概念,其核心借鉴了电厂模式,具体目标是整合分散在各地的服务器、存储系统以及应用程序来共享给多个用户,让用户能够像把灯泡插入灯座一样来使用计算机资源,并且根据其所使用的量来付费。 但由于当时整个IT产业还处于发展初期,很多强大的技术还未诞生,比如互联网等,所以虽然这个想法一直为人称道,但是总体而言“叫好不叫座”。 网格计算阶段:网格计算研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多低性能的计算机来处理,最后把这些计算结果综合起来攻克大问题。 可惜的是,由于网格计算在商业模式、技术和安全性方面的不足,使得其并没有在工程界和商业界取得预期的成功。 云计算阶段:云计算的核心与效用计算和网格计算非常类似,也是希望IT技术能像使用电力那样方便,并且成本低廉。 但与效用计算和网格计算不同的是,现在在需求方面已经有了一定的规模,同时在技术方面也已经基本成熟了。 6影响编辑软件开发的影响云计算环境下,软件技术、架构将发生显著变化。 首先,所开发的软件必须与云相适应,能够与虚拟化为核心的云平台有机结合,适应运算能力、存储能力的动态变化;二是要能够满足大量用户的使用,包括数据存储结构、处理能力;三是要互联网化,基于互联网提供软件的应用;四是安全性要求更高,可以抗攻击,并能保护私有信息;五是可工作于移动终端、手机、网络计算机等各种环境。 云计算环境下,软件开发的环境、工作模式也将发生变化。 虽然,传统的软件工程理论不会发生根本性的变革,但基于云平台的开发工具、开发环境、开发平台将为敏捷开发、项目组内协同、异地开发等带来便利。 软件开发项目组内可以利用云平台,实现在线开发,并通过云实现知识积累、软件复用。 云计算环境下,软件产品的最终表现形式更为丰富多样。 在云平台上,软件可以是一种服务,如SAAS,也可以就是一个Web Services,也可能是可以在线下载的应用,如苹果的在线商店中的应用软件,等等。 [6]对软件测试的影响在云计算环境下,由于软件开发工作的变化,也必然对软件测试带来影响和变化。 软件技术、架构发生变化,要求软件测试的关注点也应做出相对应的调整。 软件测试在关注传统的软件质量的同时,还应该关注云计算环境所提出的新的质量要求,如软件动态适应能力、大量用户支持能力、安全性、多平台兼容性等。 云计算环境下,软件开发工具、环境、工作模式发生了转变,也就要求软件测试的工具、环境、工作模式也应发生相应的转变。 软件测试工具也应工作于云平台之上,测试工具的使用也应可通过云平台来进行,而不再是传统的本地方式;软件测试的环境也可移植到云平台上,通过云构建测试环境;软件测试也应该可以通过云实现协同、知识共享、测试复用。 软件产品表现形式的变化,要求软件测试可以对不同形式的产品进行测试,如Web Services的测试,互联网应用的测试,移动智能终端内软件的测试等。 云计算的普及和应用,还有很长的道路,社会认可、人们习惯、技术能力,甚至是社会管理制度等都应做出相应的改变,方能使云计算真正普及。 但无论怎样,基于互联网的应用将会逐渐渗透到每个人的生活中,对我们的服务、生活都会带来深远的影响。 要应对这种变化,我们也很有必要讨论我们业务未来的发展模式,确定我们努力的方向。 [6]7服务形式编辑云计算可以认为包括以下几个层次的服务:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。 IaaS:基础设施即服务IaaS(Infrastructure-as-a- Service):基础设施即服务。 消费者通过Internet可以从完善的计算机基础设施获得服务。 PaaS:平台即服务PaaS(Platform-as-a- Service):平台即服务。 PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。 因此,PaaS也是SaaS模式的一种应用。 但是,PaaS的出现可以加快SaaS的发展,尤其是加快SaaS应用的开发速度。 SaaS:软件即服务SaaS(Software-as-a- Service):软件即服务。 它是一种通过Internet提供软件的模式,用户无需购买软件,而是向提供商租用基于Web的软件,来管理企业经营活动。 8应用编辑云物联“物联网就是物物相连的互联网”。 这有两层意思:第一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;第二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信。 物联网的两种业务模式:1.MAI(M2M Application Integration), 内部MaaS;2.MaaS(M2M As A Service), MMO, Multi-Tenants(多租户模型)。 随着物联网业务量的增加,对数据存储和计算量的需求将带来对“云计算”能力的要求:1.云计算:从计算中心到数据中心在物联网的初级阶段,PoP即可满足需求;2. 在物联网高级阶段,可能出现MVNO/MMO营运商(国外已存在多年),需要虚拟化云计算技术,SOA等技术的结合实现互联网的泛在服务:TaaS (everyTHING As A Service)。 云安全云安全(Cloud Security)是一个从“云计算”演变而来的新名词。 云安全的策略构想是:使用者越多,每个使用者就越安全,因为如此庞大的用户群,足以覆盖互联网的每个角落,只要某个网站被挂马或某个新木马病毒出现,就会立刻被截获。 “云安全”通过网状的大量客户端对网络中软件行为的异常监测,获取互联网中木马、恶意程序的最新信息,推送到Server端进行自动分析和处理,再把病毒和木马的解决方案分发到每一个客户端。 云存储云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。 当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变成为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。 云游戏云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,并将渲染完毕后的游戏画面压缩后通过网络传送给用户。 在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。 就现今来说,云游戏还并没有成为家用机和掌机界的联网模式,因为至今X360仍然在使用LIVE,PS是PS NETWORK ,wii是wi-fi。 但是几年后或十几年后,云计算取代这些东西成为其网络发展的终极方向的可能性非常大。 如果这种构想能够成为现实,那么主机厂商将变成网络运营商,他们不需要不断投入巨额的新主机研发费用,而只需要拿这笔钱中的很小一部分去升级自己的服务器就行了,但是达到的效果却是相差无几的。 对于用户来说,他们可以省下购买主机的开支,但是得到的确是顶尖的游戏画面(当然对于视频输出方面的硬件必须过硬。 )。 你可以想象一台掌机和一台家用机拥有同样的画面,家用机和我们今天用的机顶盒一样简单,甚至家用机可以取代电视的机顶盒而成为次时代的电视收看方式。 [7]云计算与大数据云计算与大数据[1]从技术上看,大数据与云计算的关系就像一枚硬币的正反面一样密不可分。 大数据必然无法用单台的计算机进行处理,必须采用分布式计算架构。 它的特色在于对海量数据的挖掘,但它必须依托云计算的分布式处理、分布式数据库、云存储和虚拟化技术。 [1]9隐私编辑云技术要求大量用户参与,也不可避免的出现了隐私问题。 用户参与即要收集某些用户数据,从而引发了用户数据安全的担心。 很多用户担心自己的隐私会被云技术收集。 正因如此,在加入云计划时很多厂商都承诺尽量避免收集到用户隐私,即使收集到也不会泄露或使用。 但不少人还是怀疑厂商的承诺,他们的怀疑也不是没有道理的。 不少知名厂商都被指责有可能泄露用户隐私,并且泄露事件也确实时有发生。 事实上,国家在大力提倡建设云计算中心的同时,对云技术与互联网的安全性也高度重视。 发改委等7部联合发布《关于下一代互联网“十二五”发展建设的意见》中强调:互联网是与国民经济和社会发展高度相关的重大信息基础,加强网络与信息安全保障工作,全面提升下一代互联网安全性和可信性。 加强域名服务器、数字证书服务器、关键应用服务器等网络核心基础设施的部署及管理;加强网络地址及域名系统的规划和管理;推进安全等级保护、个人信息保护、风险评估、灾难备份及恢复等工作,在网络规划、建设、运营、管理、维护、废弃等环节切实落实各项安全要求;加快发展信息安全产业,培育龙头骨干企业,加大人才培养和引进力度,提高信息安全技术保障和支撑能力。 10技术编辑1、编程模式2、海量数据分布存储技术3、海量数据管理技术4、虚拟化技术5、云计算平台管理技术11相关问题编辑数据隐私问题:如何保证存放在云服务提供商的数据隐私不被非法利用,不仅需要技术的改进,也需要法律的进一步完善数据安全性:有些数据是企业的商业机密,数据的安全性关系到企业的生存和发展。 云计算数据的安全性问题解决不了会影响云计算在企业中的应用。 用户的使用习惯:如何改变用户的使用习惯,使用户适应网络化的软硬件应用是长期而且艰巨的挑战。 网络传输问题:云计算服务依赖网络,目前网速低且不稳定,使云应用的性能不高。 云计算的普及依赖网络技术的发展。 缺乏统一的技术标准:云计算的美好前景让传统IT厂商纷纷向云计算方向转型。 但是由于缺乏统一的技术标准,尤其是接口标准,各厂商在开发各自产品和服务的过程中各自为政,这为将来不同服务之间的互连互通带来严峻挑战。 云计算标准化体系草案形成2014[3]中国国际云计算技术和应用展览会3月4日在北京开幕,工信部软件服务业司司长陈伟在会上透露,云计算综合标准化技术体系目前已形成草案。 工信部要从五方面促进云计算快速发展:一是要加强规划引导和合理布局,统筹规划全国云计算基础设施建设和云计算服务产业的发展;二是要加强关键核心技术研发,创新云计算服务模式,支持超大规模云计算操作系统,核心芯片等基础技术的研发推动产业化;三是要面向具有迫切应用需求的重点领域,以大型云计算平台建设和重要行业试点示范、应用带动产业链上下游的协调发展;四是要加强网络基础设施建设;五是要加强标准体系建设,组织开展云计算以及服务的标准制定工作,构建云计算标准体系。 12发展编辑近年来云计算作为一个新的技术趋势已经得到了快速的发展。 云计算已经彻底改变了一个前所未有的工作方式,也改变了传统软件工程企业。 以下几个方面可以说是云计算目前发展最受关注的几大方面:1、云计算扩展投资价值云计算简化了软件、业务流程和访问服务。 比以往传统模式改变的更多,这是帮助企业操作和优化他们的投资规模。 这不仅是通过降低成本,有效的商业模式,或更大的灵活性操作。 有很多的企业通过云计算优化他们的投资。 在相同的条件下,企业正扩展到更多创新与他们的IT能力,这将会帮助企业带来更多的商业机会。 2、混合云计算的出现企业使用云计算(包括私人和公共)来补充他们的内部基础设施和应用程序。 专家预测,这些服务将优化业务流程的性能。 采用云服务是一个新开发的业务功能。 在这些情况下,按比例缩小两者的优势将会成为一个共同的特点。 3、以云为中心的设计有越来越多将组织设计作为云计算迁移的元素。 这仅仅意味着需要优化云的经历是那些将优先采用云技术的企业。 这是一个趋势,预计增长更随着云计算的扩展到不同的行业。 4、移动云服务未来一定是移动,这样或那样的方式。 作为移动设备的数量上升显著的——平板电脑、iphone和智能手机是在移动中发挥了更多的作用。 许多这样的设备被用来规模业务流程、通信等功能。 让云计算应用在所有的员工采取“移动”的方法。 更多的云计算平台和api将成为可以是移动云服务。 5、云安全人们担心他们在云端的数据安全。 正因为此,用户应该期待看到更安全的应用程序和技术上来。 许多新的加密技术,安全协议,在未来会越来越多的呈现出来。
CNA是什么意思?CNA是Cloud Native Application的缩写,云原生应用程序是一种构建、部署和管理基于云计算架构的应用程序的方法。CNA包括一系列云原生技术和服务,例如容器化、微服务架构、DevOps等,旨在提高应用程序的可移植性、可扩展性和可维护性。
CNA在云计算中的应用越来越广泛,容器技术是支持CNA的核心技术之一。容器是一种轻量级的虚拟化技术,可以将应用程序及其依赖项作为一个封装的容器进行打包,便于在不同的环境中快速部署和运行。CNA的应用可以部署在公有云、私有云、混合云等不同的云计算环境中,并能够实现自动化扩展、故障恢复等高可用性功能。
CNA的出现,让企业应用程序开发变得更加高效、灵活和便捷。开发人员可以通过CNA技术实现快速迭代、持续集成、持续交付等敏捷开发模式,缩短应用程序开发周期和上线时间。同时企业也可以借助CNA技术来降低应用程序的运维成本,提高应用程序的可靠性和性能。CNA的发展前景广阔,也给云计算行业带来了新的发展机遇。
根据《云计算发展白皮书(2020)》,未来十年,云计算仍将迎来下一个黄金十年,进入普惠发展期。一是随着新基建的推进,云计算将加快应用落地进程,在互联网、政务、金融、交通、物流、教育等不同领域实现快速发展。二是全球数字经济背景下,云计算成为企业数字化转型的必然选择,企业上云进程将进一步加速。三是新冠肺炎疫情的出现,加速了远程办公、在线教育等SaaS服务落地,推动云计算产业快速发展。云计算产业发展的6大趋势如下:
趋势1:云技术从粗放向精细转型
“云技术从粗放向精细转型,技术体系日臻成熟。”
随着云原生的容器、微服务、无服务器等技术,越来越靠近应用层,资源调度的颗粒性、业务耦合性、管理效率和效能利用率都得到了极大提高。
在企业数字化转型中,数字中台发挥非常重要的作用,云原生恰恰是数字中台的“底座”,可以说数字中台是利用云原生技术精细化落地的最佳实践。同时,随着云原生的发展越来越精细化,原生云安全需求也越来越“细”。
趋势2:云需求从IaaS向SaaS上移
“目前,国内SaaS服务较国外相比存在3-5年差距,但是正是因为有差距,同时加上疫情的‘驱动’,国内市场蓄势待发。”从这几年企业上云的情况也能够发现一些“端倪”:尽管目前国内没有SaaS独角兽企业,但是企业上云中,很多行业客户因为对于基础IT不是特别熟悉,因而更多会选择和行业相关的SaaS服务,国内细分行业SaaS市场需求旺盛。
新冠肺炎疫情发生后,越来越多的企业养成了使用线上应用的习惯,比如疫情防控、在线教育,视频会议等都是SaaS服务,因而在后疫情时代,SaaS将通过增加客户粘性和专业性提升用使用率。
“同时,SaaS、IaaS和ISV服务商三方将深度合作,形成优势互补,打通产业链上下游,共建繁荣、和谐的SaaS服务生态。”
“未来,企业级SaaS服务向行业化、平台化、智能化发展。”
趋势3:云架构从中心向边缘延伸
“随着边缘计算的发展,分布式云已经成为云计算的新形态,边缘侧布局也成为重点。”
分布式云根据部署位置不同,规模大小不同,服务能力强弱等要素,可以分为中心云、区域云和边缘云,三者形成的云边协同平台可以更加开放地为各大行业赋能。目前电信运营商都在利用5G基站,布局分布式的架构。未来,增加云边协同的能力,以及边缘侧赋能的能力,将为行业发展云计算带来更多红利。
尽管电信服务商和互联网服务商在云边协同上的布局路径有所不同,但是最终都将为行业带来算力红利。从具体的行业上看,大媒体行业首先受益于分布式云的发展,而在工业、交通、农业三大行业,云边协同也将发挥重要作用。比如:云边协同将实现传统工业与信息化的融合,云边协同将帮助传统农业向数字化、智能化、网络化转型,云边协同助力传统交通向智慧交通转型等。
“云边协同,促使云计算为各行业各的赋能更加具备普惠性,将算力延伸到边缘侧。”
趋势4:云安全从外部向原生转变
“原生云安全推动安全与云深度融合。”
与以往相比,原生云安全平台将安全能力逐步从生产向开发和测试等环节延伸,融入从设计到运营的整个过程中,向用户交付更安全的云服务,而原生云安全产品,则是由原来的外挂逐渐转为内嵌,更多地发挥云平台的数据价值,进行安全态势感知、云访问安全代理等。
趋势5:云应用从互联网向行业生产渗透
“数字化转型推动云应用从互联网向行业生产渗透,传统信息基础设施亟待升级为数字基础设施。”
信通院调研显示,云应用日趋广泛,并且正在从消费互联网向产业互联网渗透。
然而需要看到的是,目前在传统行业,传统信息基础设施真正实现数字化并不多。栗蔚认为,主要原因有两个:一是技术架构存在痛点,比如,跨平台异构环境的数据难打通,高并发、不可预测访问需求承载力有限,上层应用敏捷化的交付需求难支撑等;二个是IT管理存在痛点,比如,多场景多层次的IT服务需求难实现,IT管理和服务各要素(技术、平台、流程、管理、组织架构、运营体系)能力水平不齐等。
为了应对上述痛点,目前业界加速推进企业技术架构迭代升级,促进传统数字化转型。同时,云化管理平台的作用也日渐凸显。栗蔚介绍,在这一背景下,信通院即将推出企业数字基础设施云化管理和服务运营能力成熟度模型(IOMM),从服务产品化、能力平台化、管理精益化、运营体系化、数据价值化等六个方面,为企业数字化转型的数字基础设施能力“把脉”。
趋势6:云定位既是基础资源也是基建操作系统
“新基建促使云的定位从基础资源向基建操作系统扩展。”
以往,业界更多认为云计算就是虚拟化资源,然而在新基建框架中,云计算越来越多扮演基建管理调度的角色,是承上启下的重要平台,全面提升网络和算力的能力。
发改委对于新基建概念的定义包括三个方面:融合基础设施、信息基础设施、创新基础设施。其中,信息基础设施又包括算力基础设施、新技术基础设施、网络基础设施,云计算是新技术基础设施中的一个环节。
“如果将信息基础设施看作是一台计算机,那么云计算就是这台计算机的操作系统。”云计算作为信息基础设施一部分,不仅提供虚拟化资源,并且以云原生为技术体系,构建面向全域数据高速互联与算力的全覆盖的整体架构,全面提升网络和算力能力水平。
一:降低企业技术开发成本企业上云能够降低企业的技术开发成本,大多数中小企业并没有庞大的IT预算开支,处理技术采购方面问题的精力也相当有限。 我们需要将有限的资金用到真正需要的方面。 这也中小企业的共同点。 使用云计算服务比购买一般的物理硬件要便宜得多,那么中小企业就可以摆脱很多不必要的开支。 二:丰富的产品线一站式上云云计算提供的不仅仅是云服务器的计算服务,还有更多的周边云产品。 以阿里云为例,ECS云服务器是企业上云的基本单元,如果想用户的应用场景需要更高的容灾能力,您可以将ECS部署在不同的可用区;如果想要将数据库分离出去,您可以选择云数据库,云数据库从RDS到NoSQL云数据库版本丰富;您可以使用对象存储OSS,搭配阿里云CDN,提高网络速度;如果您被同行或他人攻击,您还可以接入云盾安全类产品等等。 新手站长网就不多赘述,有问题可以参考阿里云官方文档三:企业云计算的灵活性“云”带给了更大的灵活性和移动性,使用云,可以让企业在一台机器上开始工作并且在另外一台机器上完成它。 在实际的传统企业中,我们经常会遇到,公司的数据只能在公司获取,回到家以后,就链接不到公司的服务器。 当然这其中有安全的因素在,从另一方面讲,传统的IT服务,的确存在它的不灵活弊端。 四:升级方便随着企业的发展,企业可能会增加企业软硬件产品的更换升级,这无疑会成为一笔不小的开支,但是企业上云后,企业可以根据自身的发展情况弹性的选择升级自己的云计算套餐。 另外,企业也无需烦恼硬件的更新换代,这些事情是阿里云等云计算厂商要操心的小站。 五:企业上云减少运维开支:传统企业的数据服务中心需要有专人进行运营与维护,云服务可以在管理方面为企业提供高效计划,企业上云可以减少运营开支,并且获取到最大的安全与便捷
#云原生背景#云计算是信息技术发展和服务模式创新的集中体现,是信息化发展的重要变革和必然趋势。 随着“新基建”加速布局,以及企业数字化转型的逐步深入,如何深化用云进一步提升云计算使用效能成为现阶段云计算发展的重点。 云原生以其高效稳定、快速响应的特点极大地释放了云计算效能,成为企业数字业务应用创新的原动力,云原生进入快速发展阶段,就像集装箱加速贸易全球化进程一样,云原生技术正在助力云计算普及和企业数字化转型。 云原生计算基金会(CNCF)对云原生的定义是:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。 云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式编程API。 #云安全时代市场发展#云安全几乎是伴随着云计算市场而发展起来的,云基础设施投资的快速增长,无疑为云安全发展提供土壤。 根据 IDC 数据,2020 年全球云安全支出占云 IT 支出比例仅为 1.1%,说明目前云安全支出远远不够,假设这一比例提升至 5%,那么2020 年全球云安全市场空间可达 53.2 亿美元,2023 年可达 108.9 亿美元。 海外云安全市场:技术创新与兼并整合活跃。 整体来看,海外云安全市场正处于快速发展阶段,技术创新活跃,兼并整合频繁。 一方面,云安全技术创新活跃,并呈现融合发展趋势。 例如,综合型安全公司 PaloAlto 的 Prisma 产品线将 CWPP、CSPM 和 CASB 三个云安全技术产品统一融合,提供综合解决方案及 SASE、容器安全、微隔离等一系列云上安全能力。 另一方面,新兴的云安全企业快速发展,同时,传统安全供应商也通过自研+兼并的方式加强云安全布局。 国内云安全市场:市场空间广阔,尚处于技术追随阶段。 市场规模上,根据中国信通院数据,2019 年我国云计算整体市场规模达 1334.5亿元,增速 38.6%。 预计 2020-2022 年仍将处于快速增长阶段,到 2023 年市场规模将超过 3754.2 亿元。 中性假设下,安全投入占云计算市场规模的 3%-5%,那么 2023 年中国云安全市场规模有望达到 112.6 亿-187.7 亿元。 技术发展上,中国在云计算的发展阶段和云原生技术的程度上与海外市场还有一定差距。 国内 CWPP 技术应用较为广泛,对于 CASB、CSPM 一些新兴的云安全技术应用较少。 但随着国内公有云市场的加速发展,云原生技术的应用越来越广泛,我们认为CASB、SCPM、SASE 等新兴技术在国内的应用也将越来越广泛。 #云上安全呈原生化发展趋势#云原生技术逐渐成为云计算市场新趋势,所带来的安全问题更为复杂。 以容器、服务网格、微服务等为代表的云原生技术,正在影响各行各业的 IT 基础设施、平台和应用系统,也在渗透到如 IT/OT 融合的工业互联网、IT/CT 融合的 5G、边缘计算等新型基础设施中。 随着云原生越来越多的落地应用,其相关的安全风险与威胁也不断的显现出来。 Docker/Kubernetes 等服务暴露问题、特斯拉 Kubernetes 集群挖矿事件、Docker Hub 中的容器镜像被“投毒”注入挖矿程序、微软 Azure 安全中心检测到大规模 Kubernetes 挖矿事件、Graboid 蠕虫挖矿传播事件等一系列针对云原生的安全攻击事件层出不穷。 从各种各样的安全风险中可以一窥云原生技术的安全态势,云原生环境仍然存在许多安全问题亟待解决。 在云原生技术的落地过程中,安全是必须要考虑的重要因素。 #云原生安全的定义#国内外各组织、企业对云原生安全理念的解释略有差异,结合我国产业现状与痛点,云原生与云计算安全相似,云原生安全也包含两层含义:“面向云原生环境的安全”和“具有云原生特征的安全”。 面向云原生环境的安全,其目标是防护云原生环境中的基础设施、编排系统和微服务的安全。 这类安全机制,不一定具备云原生的特性(比如容器化、可编排),它们可以是传统模式部署的,甚至是硬件设备,但其作用是保护日益普及的云原生环境。 具有云原生特征的安全,是指具有云原生的弹性敏捷、轻量级、可编排等特性的各类安全机制。 云原生是一种理念上的创新,通过容器化、资源编排和微服务重构了传统的开发运营体系,加速业务上线和变更的速度,因而,云原生系统的种种优良特性同样会给安全厂商带来很大的启发,重构安全产品、平台,改变其交付、更新模式。 #云原生安全理念构建#为缓解传统安全防护建设中存在的痛点,促进云计算成为更加安全可信的信息基础设施,助力云客户更加安全的使用云计算,云原生安全理念兴起,国内外第三方组织、服务商纷纷提出以原生为核心构建和发展云安全。 Gartner提倡以云原生思维建设云安全体系基于云原生思维,Gartner提出的云安全体系覆盖八方面。 其中,基础设施配置、身份和访问管理两部分由云服务商作为基础能力提供,其它六部分,包括持续的云安全态势管理,全方位的可视化、日志、审计和评估,工作负载安全,应用、PaaS 和 API 安全,扩展的数据保护,云威胁检测,客户需基于安全产品实现。 Forrester评估公有云平台原生安全能力Forrester认为公有云平台原生安全(Public cloud platform native security, PCPNS)应从三大类、37 个方面去衡量。 从已提供的产品和功能,以及未来战略规划可以看出,一是考察云服务商自身的安全能力和建设情况,如数据中心安全、内部人员等,二是云平台具备的基础安全功能,如帮助和文档、授权和认证等,三是为用户提供的原生安全产品,如容器安全、数据安全等。 安全狗以4项工作防护体系建设云原生安全(1)结合云原生技术的具体落地情况开展并落实最小权限、纵深防御工作,对于云原生环境中的各种组成部分,均可贯彻落实“安全左移”的原则,进行安全基线配置,防范于未然。 而对于微服务架构Web应用以及Serverless应用的防护而言,其重点是应用安全问题。 (2)围绕云原生应用的生命周期来进行DevSecOps建设,以当前的云原生环境的关键技术栈“K8S + Docker”举例进行分析。 应该在容器的全生命周期注重“配置安全”,在项目构建时注重“镜像安全”,在项目部署时注重“容器准入”,在容器的运行环境注重云计算的三要素“计算”“网络”以及“存储”等方面的安全问题。 (3)围绕攻击前、中、后的安全实施准则进行构建,可依据安全实施准则对攻击前、中、后这三个阶段开展检测与防御工作。 (4)改造并综合运用现有云安全技术,不应将“云原生安全”视为一个独立的命题,为云原生环境提供更多支持的主机安全、微隔离等技术可赋能于云原生安全。 #云原生安全新型风险#云原生架构的安全风险包含云原生基础设施自身的安全风险,以及上层应用云原生化改造后新增和扩大的安全风险。 云原生环境面临着严峻的安全风险问题。 攻击者可能利用的重要攻击面包括但不限于:容器安全、编排系统、软件供应链等。 下面对重要的攻击面安全风险问题进行梳理。 #云原生安全问题梳理#问题1:容器安全问题在云原生应用和服务平台的构建过程中,容器技术凭借高弹性、敏捷的特性,成为云原生应用场景下的重要技术支撑,因而容器安全也是云原生安全的重要基石。 (1)容器镜像不安全Sysdig的报告中提到,在用户的生产环境中,会将公开的镜像仓库作为软件源,如最大的容器镜像仓库Docker Hub。 一方面,很多开源软件会在Docker Hub上发布容器镜像。 另一方面,开发者通常会直接下载公开仓库中的容器镜像,或者基于这些基础镜像定制自己的镜像,整个过程非常方便、高效。 然而,Docker Hub上的镜像安全并不理想,有大量的官方镜像存在高危漏洞,如果使用了这些带高危漏洞的镜像,就会极大的增加容器和主机的入侵风险。 目前容器镜像的安全问题主要有以下三点:1.不安全的第三方组件在实际的容器化应用开发过程当中,很少从零开始构建镜像,而是在基础镜像之上增加自己的程序和代码,然后统一打包最终的业务镜像并上线运行,这导致许多开发者根本不知道基础镜像中包含多少组件,以及包含哪些组件,包含的组件越多,可能存在的漏洞就越多。 2.恶意镜像公共镜像仓库中可能存在第三方上传的恶意镜像,如果使用了这些恶意镜像来创建容器后,将会影响容器和应用程序的安全3.敏感信息泄露为了开发和调试的方便,开发者将敏感信息存在配置文件中,例如数据库密码、证书和密钥等内容,在构建镜像时,这些敏感信息跟随配置文件一并打包进镜像,从而造成敏感信息泄露(2)容器生命周期的时间短云原生技术以其敏捷、可靠的特点驱动引领企业的业务发展,成为企业数字业务应用创新的原动力。 在容器环境下,一部分容器是以docker的命令启动和管理的,还有大量的容器是通过Kubernetes容器编排系统启动和管理,带来了容器在构建、部署、运行,快速敏捷的特点,大量容器生命周期短于1小时,这样一来容器的生命周期防护较传统虚拟化环境发生了巨大的变化,容器的全生命周期防护存在很大变数。 对防守者而言,需要采用传统异常检测和行为分析相结合的方式,来适应短容器生命周期的场景。 传统的异常检测采用WAF、IDS等设备,其规则库已经很完善,通过这种检测方法能够直观的展示出存在的威胁,在容器环境下,这种方法仍然适用。 传统的异常检测能够快速、精确地发现已知威胁,但大多数未知威胁是无法通过规则库匹配到的,因而需要通过行为分析机制来从大量模式中将异常模式分析出来。 一般来说,一段生产运营时间内的业务模式是相对固定的,这意味着,业务行为是可以预测的,无论启动多少个容器,容器内部的行为总是相似的。 通过机器学习、采集进程行为,自动构建出合理的基线,利用这些基线对容器内的未知威胁进行检测。 (3)容器运行时安全容器技术带来便利的同时,往往会忽略容器运行时的安全加固,由于容器的生命周期短、轻量级的特性,传统在宿主机或虚拟机上安装杀毒软件来对一个运行一两个进程的容器进行防护,显示费时费力且消耗资源,但在黑客眼里容器和裸奔没有什么区别。 容器运行时安全主要关注点:1.不安全的容器应用与传统的Web安全类似,容器环境下也会存在SQL注入、XSS、RCE、XXE等漏洞,容器在对外提供服务的同时,就有可能被攻击者利用,从而导致容器被入侵2.容器DDOS攻击默认情况下,docker并不会对容器的资源使用进行限制,默认情况下可以无限使用CPU、内存、硬盘资源,造成不同层面的DDOS攻击(4)容器微隔离在容器环境中,与传统网络相比,容器的生命周期变得短了很多,其变化频率也快很多。 容器之间有着复杂的访问关系,尤其是当容器数量达到一定规模以后,这种访问关系带来的东西向流量,将会变得异常的庞大和复杂。 因此,在容器环境中,网络的隔离需求已经不仅仅是物理网络的隔离,而是变成了容器与容器之间、容器组与宿主机之间、宿主机与宿主机之间的隔离。 问题2:云原生等保合规问题等级保护2.0中,针对云计算等新技术、新应用领域的个性安全保护需求提出安全扩展要求,形成新的网络安全等级保护基本要求标准。 虽然编写了云计算的安全扩展要求,但是由于编写周期很长,编写时主流还是虚拟化场景,而没有考虑到容器化、微服务、无服务等云原生场景,等级保护2.0中的所有标准不能完全保证适用于目前云原生环境;通过安全狗在云安全领域的经验和具体实践,对于云计算安全扩展要求中访问控制的控制点,需要检测主机账号安全,设置不同账号对不同容器的访问权限,保证容器在构建、部署、运行时访问控制策略随其迁移;对于入侵防范制的控制点,需要可视化管理,绘制业务拓扑图,对主机入侵进行全方位的防范,控制业务流量访问,检测恶意代码感染及蔓延的情况;镜像和快照保护的控制的,需要对镜像和快照进行保护,保障容器镜像的完整性、可用性和保密性,防止敏感信息泄露。 问题3:宿主机安全容器与宿主机共享操作系统内核,因此宿主机的配置对容器运行的安全有着重要的影响,比如宿主机安装了有漏洞的软件可能会导致任意代码执行风险,端口无限制开放可能会导致任意用户访问的风险。 通过部署主机入侵监测及安全防护系统,提供主机资产管理、主机安全加固、风险漏洞识别、防范入侵行为、问题主机隔离等功能,各个功能之间进行联动,建立采集、检测、监测、防御、捕获一体化的安全闭环管理系统,对主机进行全方位的安全防护,协助用户及时定位已经失陷的主机,响应已知、未知威胁风险,避免内部大面积主机安全事件的发生。 问题4:编排系统问题编排系统支撑着诸多云原生应用,如无服务、服务网格等,这些新型的微服务体系也同样存在着安全问题。 例如攻击者编写一段代码获得容器的shell权限,进而对容器网络进行渗透横移,造成巨大损失。 Kubernetes架构设计的复杂性,启动一个Pod资源需要涉及API Server、Controller、Manager、Scheduler等组件,因而每个组件自身的安全能力显的尤为重要。 API Server组件提供的认证授权、准入控制,进行细粒度访问控制、Secret资源提供密钥管理及Pod自身提供安全策略和网络策略,合理使用这些机制可以有效实现Kubernetes的安全加固。 问题5:软件供应链安全问题通常一个项目中会使用大量的开源软件,根据Gartner统计至少有95%的企业会在关键IT产品中使用开源软件,这些来自互联网的开源软件可能本身就带有病毒、这些开源软件中使用了哪些组件也不了解,导致当开源软件中存在0day或Nday漏洞,我们根本无法获悉。 开源软件漏洞无法根治,容器自身的安全问题可能会给开发阶段带的各个过程带来风险,我们能做的是根据SDL原则,从开发阶段就开始对软件安全性进行合理的评估和控制,来提升整个供应链的质量。 问题6:安全运营成本问题虽然容器的生命周期很短,但是包罗万象。 对容器的全生命周期防护时,会对容器构建、部署、运行时进行异常检测和安全防护,随之而来的就是高成本的投入,对成千上万容器中的进程行为进程检测和分析,会消耗宿主机处理器和内存资源,日志传输会占用网络带宽,行为检测会消耗计算资源,当环境中容器数量巨大时,对应的安全运营成本就会急剧增加。 问题7:如何提升安全防护效果关于安全运营成本问题中,我们了解到容器安全运营成本较高,我们该如何降低安全运营成本的同时,提升安全防护效果呢?这就引入一个业界比较流行的词“安全左移”,将软件生命周期从左到右展开,即开发、测试、集成、部署、运行,安全左移的含义就是将安全防护从传统运营转向开发侧,开发侧主要设计开发软件、软件供应链安全和镜像安全。 因此,想要降低云原生场景下的安全运营成本,提升运营效率,那么首先就要进行“安全左移”,也就是从运营安全转向开发安全,主要考虑开发安全、软件供应链安全、镜像安全和配置核查:开发安全需要团队关注代码漏洞,比如使用进行代码审计,找到因缺少安全意识造成的漏洞和因逻辑问题造成的代码逻辑漏洞。 供应链安全可以使用代码检查工具进行持续性的安全评估。 镜像安全使用镜像漏洞扫描工具持续对自由仓库中的镜像进行持续评估,对存在风险的镜像进行及时更新。 配置核查核查包括暴露面、宿主机加固、资产管理等,来提升攻击者利用漏洞的难度。 问题8:安全配置和密钥凭证管理问题安全配置不规范、密钥凭证不理想也是云原生的一大风险点。 云原生应用会存在大量与中间件、后端服务的交互,为了简便,很多开发者将访问凭证、密钥文件直接存放在代码中,或者将一些线上资源的访问凭证设置为弱口令,导致攻击者很容易获得访问敏感数据的权限。 #云原生安全未来展望#从日益新增的新型攻击威胁来看,云原生的安全将成为今后网络安全防护的关键。 伴随着ATT&CK的不断积累和相关技术的日益完善,ATT&CK也已增加了容器矩阵的内容。 ATT&CK是对抗战术、技术和常识(Adversarial Tactics, Techniques, and Common Knowledge)的缩写,是一个攻击行为知识库和威胁建模模型,它包含众多威胁组织及其使用的工具和攻击技术。 这一开源的对抗战术和技术的知识库已经对安全行业产生了广泛而深刻的影响。 云原生安全的备受关注,使ATTACK Matrix for Container on Cloud的出现恰合时宜。 ATT&CK让我们从行为的视角来看待攻击者和防御措施,让相对抽象的容器攻击技术和工具变得有迹可循。 结合ATT&CK框架进行模拟红蓝对抗,评估企业目前的安全能力,对提升企业安全防护能力是很好的参考。
云计算(cloud computing)是一种基于因特网的超级计算模式,在远程的数据中心里,成千上万台电脑和服务器连接成一片电脑云。
因此,云计算甚至可以让你体验每秒10万亿次的运算能力,拥有这么强大的计算能力可以模拟核爆炸、预测气候变化和市场发展趋势。用户通过电脑、笔记本、手机等方式接入数据中心,按自己的需求进行运算。
IBM的创立者托马斯·沃森曾表示,全世界只需要5台电脑就足够了。比尔·盖茨则在一次演讲中称,个人用户的内存只需640K足矣。李开复打了一个很形象的比喻:钱庄。最早人们只是把钱放在枕头底下,后来有了钱庄,很安全,不过兑现起来比较麻烦。
现在发展到银行可以到任何一个网点取钱,甚至通过ATM,或者国外的渠道。就像用电不需要家家装备发电机,直接从电力公司购买一样。云计算就是这样一种变革——由谷歌、IBM这样的专业网络公司来搭建计算机存储、运算中心,用户通过一根网线借助浏览器就可以很方便的访问,把“云”做为资料存储以及应用服务的中心。
本文地址:http://www.hyyidc.com/article/15051.html