加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_阳江站长网 (https://www.0662zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

云计算简史(完整版)

发布时间:2020-11-16 12:06:41 所属栏目:优化 来源:51cto
导读:围绕云计算相关的技术领域、技术名词和技术产品令人眼花缭乱。在云计算发端之初,应用开发环境还比较简单,当时还有所谓的全栈工程师存在,意味着如果不考虑开发周期,一个人就能搞定整个应用软件。今天,这个称谓已经名不符实。很少再有一个人,甚至一个

2015年,Google开源了Kubernates项目,让多云解决方案更胜一筹。K8S能够对容器的创建、扩展等进行自动编排。这意味着无论应用有多么复杂,它都能够在多云环境中进行统一运维。比如自家的某种类型存储用完了,就可以临时购买一些亚马逊的存储。数据过时了,就定期自动地转移到低价格的冷存服务中。

有了多云技术框架和服务,同时意味着云计算平台必须提供广泛支持。阿里云当然希望多卖一些云主机服务,但是如果因为技术框架落后,客户就会流失。所以,全世界的云计算平台目前都义无反顾地支持了多云策略,希望在这个过程中继续以专业服务商的地位存在。

多云策略对应用开发者的影响也很大。首先开发者必须从第一天就按照云计算环境来规划,支持多云部署,自动伸缩,采用微服务架构以实现容器部署。其次,应用开发者也能够从这样的架构中受益。因为它使得客户获得私有软件也像应用SaaS一样简单,唯独不同的是应用和数据运行在客户控制的计算环境中,但是软件本身都是基于单一代码库的(Single Code Base)。我们明道云原来是一个SaaS形态应用,客户只需要在mingdao.com上注册即可使用,现在,通过容器技术,我们的客户也可以在自己的云计算环境中安装和升级。这些都有赖于多云技术架构。

前面我们提到了云计算公司的竞争将向应用开发和部署环境迁移。那么它具体指的是什么呢?它有关于围绕云计算相关的四个技术领域。Tom Siebel把他们概括为云计算本身、大数据、人工智能和物联网。

接下来,我们会逐一介绍这十五年来,伴随云计算发展起来的数字化技术领域。正是因为云计算服务的普及,才催化了这些新兴的技术领域,反过来,这些技术领域的发展也让现代云服务更加完善,当然也更加复杂。正是这些复杂性,让企业数字化转型工作变得阻力重重。相较于更早前的基础信息化工作,企业届要认知和掌握的技术范畴要比宽广得多。因此,我们介绍云计算的发展简史,就必须要把关联技术域的发展也一并介绍。

二、云计算相关的技术领域

1. 大数据(Big Data)

在大数据概念出现之前,数据存储、处理和分析的技术早已存在。随着存储成本的下降和云计算提供的弹性计算能力增强,越来越多的数据场景已经不能被传统的数据库技术所处理。这些新场景可以被概括为高数据量(Volume),高频度(Velocity)和多数据类型(Variety)三个特点。比如在电子商务、金融和物联网领域,系统往往在很短的时间内会产生大量的数据。这些数据甚至在存储的过程中就会产生瓶颈,更不用说实时性很强的计算和分析。所以,从搜索引擎时代开始,大数据相关的技术就开始孕育。

(1) MapReduce和Hadoop

搜索引擎的霸主Google成立于1998年,几年以后,Google的搜索服务所承载的数据量已经是一个天文数字,而且还在以光速增加。传统的数据处理技术完全依赖硬件算力的铺陈,这会让Google在未来的发展中不堪重负。2004年,Google在内部推出了GFS分布式文件系统和分布式计算框架MapReduce。前者解决了单一硬件资源的限制,后者通过一系列数学原理,将多类型的数据进行切片并分散存储在特定的分区中,这个设计能够让未来的计算和分析大幅提效。MapReduce的技术原理是大数据技术发展的最重要基础。

很快,开源软件领域开始响应这项技术方案,Lucene项目创始人Doug Cutting在2006年正式独立出Hadoop开源项目,在其中包括了分布式文件系统,在集群资源上的调度工具,以及最核心的大数据并行处理开发框架。有了Hadoop以后,那些面对海量数据分析难题行业从此有了更好的解决方案。只是在2006年前后,主要的应用行业还是互联网行业本身。Yahoo,

中国的百度等都很快应用了Hadoop来解决海量数据的存储和检索问题。

云计算简史(完整版)

(2) Hive,Spark和流式计算

在随后的几年中,Hadoop相关的大数据处理技术继续得到增强。Facebook开源的Hive分析工具用更高层和抽象的语言来描述算法和数据处理流程,能够用SQL语句进行大数据分析,这大大降低了使用者门槛,也提升了大数据技术的应用效率。不要小看这项改进,它让全世界大多数现有的数据分析人员可以轻易掌握大数据技术。

2009年,加州大学伯克利分校的AMP实验室开发了Spark开源集群计算框架,通过完善API和库,提供更完善的能力和通用性。而且Spark的特色是能够将数据存储在内存中,所以数据处理和查询效率要比利用硬盘存储的MapReduce框架快百倍。目前,Spark已经加入Apache Software Foundation,成为Apache开源项目中的明星项目,被大数据技术领域作为最重要的工具框架。

至此为止的技术栈基本解决了针对海量数据批量进行处理和分析的需求。比如零售业企业如果需要研究顾客和交易数据,从而对顾客群进行特征细分,这些技术就足够了。但是,数字化技术的发展总是会刺激出更高级的需求。比如,在线上零售中,商品和顾客的行为数据是永续不断在发生的,我们希望在数据发生的时刻就立即进行计算,及时地给顾客推送一张个性化的优惠券,而不是定时进行某种批量计算,这时候就需要大数据技术的一个分支—流式计算。

流式计算的常用框架包括Storm和Spark Stream和Flink,他们在零售和电子商务行业中的交易分析、金融风控、物联网中的态势监控、车联网中的自动驾驶等领域都被广泛应用。2019年,阿里巴巴用1亿美元收购了Flink,是因为我们用的淘宝天猫中的搜索、商品推荐,包括双11的实时监控大屏数据都是由Flink来驱动的。Flink用几乎无延迟的速度截获双十一最后一秒钟结束后的GMV数值,可见它在实时处理数据方面的性能。

(3) NoSQL数据库

与大数据技术同步发展的还包括NoSQL(非关系型)数据库市场。在上个世纪,大多数商业数据库都是关系数据库,通过SQL语言进行数据处理和查询。当大数据技术发展起来后,技术专家们发现数据库完全可以用不同的形态来存储数据,这样可以大幅减少数据分析过程中的预处理工作量。所以,从2009前后开始,各种NoSQL数据库开始进入市场。

下图是维基百科上针对NoSQL数据库类型的分类方法:

云计算简史(完整版)

读者可以忽略其中的细节技术语言,只需要了解不同类型的NoSQL数据库会有利于特定场景的应用开发。比如文档数据库采用JSON格式存储,可以随心所欲定义不同的数据结构,而且横向扩展性很强(数据规模增大后可以保证查询效率)。我们明道云的工作表就是利用了文档数据库MongoDB作为存储方案。

NoSQL数据库普遍支持分布式文件系统,所以都具备很强横向扩展性。和关系数据库相比,NoSQL数据库大多不具备事务一致性,但是这个牺牲交换得到数据处理的效率,因而作为大数据技术相关的常见存储方案。

(4) 云计算平台上的大数据服务

(编辑:应用网_阳江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!