返回介绍

22.3 云计算的核心技术和工程

发布于 2024-10-13 13:59:13 字数 3138 浏览 0 评论 0 收藏 0

云计算的普及要过技术、工程和法律多道关卡。才能在社会上普及。我们先看看其中的关键技术,包括存储、资源管理和信息安全几个大的领域。

先谈谈存储,它其实又包括海量数据的存储和结构化数据的存储。这两项技术在学术界研究了十多年后,最早由 Google 真正在工业界实现和应用,Google 的代号分别是 GFS 和 BigTable。

GFS 是 Google 文件系统( Google File System )的缩写,最早由 Google 的两个创始人佩奇和布林在斯坦福大学做博士生时提出,在 Google 成立后, 由 Google 的工程师们变成了产品。和以往操作系统中的文件系统不同,GFS 的目标是在分布式的多台机器上存储海量数据,同时对于它的用户来讲,所有的操作都和在一台计算机上操作一个小文件一样简单。为了保证数据的可靠性, GFS 里每份数据都有三个备份。GFS 上的一个文件有多大呢,它可以大到千万亿字节( PB) ,需要同时储存在前台服务器上,比如整个互联网网页的索引可以是一个文件。GFS 从 2002 年到 2010 年的 8 年间支撑了 Google 的整体业务。其他五联网公司在 Google 后也推出了自己的大型分布式文件系统。到了 2010 年后,整个互联网已经大到 GFS 也不能支持了。Google 于是推出了第二代云计算文件系统 CFS ,规模是 GFS 的 1000 倍。

和以往的计算机文件系统不同的是, GFS 不是为随机读写设计的。很多仿制 Google 文件系统的公司都没有理解这个本质,包括一些中国非常著名的公司。它们浪费了几百人年的工作,试图去实现大型文件系统随机计算工作量的单位, 读写的效率,最后才发现是白白浪费时间。

那么对于需要随机读写的应用怎么办呢? 这些数据是需要放在内存中的。

考虑到在实际应用中大量的数据都是结构化的(类似于数据库系统的) ,Google 提出和实现了针对这些应用的大型结构化数据的 BigTable 系统。

解决了海量数据的存储问题,那么如何把成千上万台服务器组织到一起来完成一件大事呢?如何让使用者觉得远程使用云计算的资源就如同使用自家的计算机呢? Google 为此开发了两个计算机任务和资源管理的工具。

第一个是被称为 MapReduce 的工具。它将一个巨大型的任务分解为无数小任务,分派到不同服务器中完成,然后再把每一台服务器上完成的小任务合并起来,达到最终完成大任务的目的。MapReduce 的技术含量很高,它实现的好坏将直接影响到云计算的效率,而效率很容易差出一两倍。和 Google MapReduce 类似,雅虎开发了一个称之为 Hadoop 的开源工具,由于是开源的,它在世界上的使用者颇多。但是由于 Hadoop 在一开始设计时就有硬伤,主要是存储和运算功能没分清楚,因此它的扩展性和资源管理的灵活性大打折扣。

云计算资源管理的另一个重要工具是 Borg。它的作用是把整个云端(可以跨几个数据中心)的服务器资源作为整体完全保存,然后根据用户的需求动态分配这些资源。比如某个互联网公司的业务以前需要买 125 台 4 核处理器、16GB 内存的服务器;现在它只要向云计算公司申请 500 个 CPU 的计算盘和 2TB 的内存,至于它用的是哪些服务器上的 CPU 和内存,用户不用关心,都是由 Borg 来分配。

上述技术因为它的“高科技”特征已经被业界关注了很长时间。但是,另一方面的技术常常因为看上去不是什么高科技,则屡屡为人们所忽视一一信息安全技术。而事实上, 信息安全技术是云计算是否能普及的关键。

李开复博士举了个很好的例子来说明为什么从信息安全的角度看,云计算比现在的 WinTel 模式更好。现在使用计算机的模式相当于把钱家里,如果自己的计算机上有个防火墙,则相当于把钱存在自家保险柜里。但是,即使是保险柜,也不能保证 100% 不丢钱。你如果去买一件大宗商品,比如电视机或钻戒,就需要随身带很多现金,这样其实很不安全。而云计算相当于把钱存到银行里,你可以在任何时间、任何取款机上提现。而且只要带上信用卡或现金卡就可以在任何和银行联网的商家消费。事实上,存在个人电脑(或其他个人终端)上的信息并不比存在服务器端的更安全。

几年前闹得沸沸扬扬的“艳照门”事件,恰恰是存在个人电脑上的信息泄露引起的。

在云计算的模式中,终端用户所需的应用程序和工具不需要存储和运行在自己的个人电脑上,而是运行在互联网上大规模的服务器集群中。用户所处理的数据也不一定要存储在本地,而可以保存在互联网上的数据中心里。提供云计算服务的企业有专业的人员负责管理和维护这些数据中心的安全性。这样,用户不用再担心数据丢失、病毒人侵等麻烦。

当然,要保证信息安全,还必须有相应的政策和法规的配合。由于互联网上商机巨大,世界各国都会遇到一些公司为了自己的利益,通过技术的手段做危害用户信息安全和损害其他公司的事情。在任何国家,抢银行都是重罪,这在某种程度上保证了银行系统的正常运营。而现在,盗取信息,包括常见的盗号、网络欺诈、钓鱼等不法行为,几乎不会受到什么刑事惩罚,这样必然阻碍云计算的发展。更有甚者,现在一些公司竟然打着信息安全的旗号破坏信息安全,它们甚至肆意修改用户客户端上安装的软件。

和盗号与钓鱼不同,这些公司对用户有很大的欺骗性,以至于会有成千上万的用户上当。其实,对云计算用户来讲,最安全的做法就是在客户端上除了浏览器,剩下来的和上网有关的客户端软件都少装,即使是所谓的杀毒软件。

最后让我们从工程上看看云计算的关键之处。云计算本身是一个非常复杂的系统工程。它的普及首先离不开巨型数据中心的建设和全球高速光纤主干网的铺设,这就好比电的普及离不开发电厂和输电网一样。在 Google,这些工程称为全球基础架构,它本身也需要很多关键技术,甚至一些看上去 IT 无关的技术,比如制冷技术。全球基础架构设计和实施的好坏可能会导致运营成本上成倍的差别。

要做到在任何时间、任何地点都能访问互联网,互联网的入口是个问题。

这和手机网络覆盖率或银行的 ATM 机的数量是同一个道理。只有当用户可以随时随地取到钱,他才会从携带现金转为携带取款卡;只有当用户可以在城市的任何地点使用手机,移动通信才会彻底取代市话业务; 只有当用户可以在城市大多数地区都能很方便地访问网络, 才会将自己的文挡和日程表放在网上。这里面又包括法律上互联网的中立性,以及技术与工程上两方面的挑战。我们在介绍 Google 一章中已经介绍了, 就不再赘述了。

值得补充的一点是,云计算的发展是全社会的事情,最终需要公开的接口标准和服务。就像操作系统是一个硬件制造商和软件开发商都遵守的平台一样, 云计算也是一个这样的平台。云计算要想得到充分的发展和全世界计算机产业的认可,不是单凭任何一家公司的力量就能做到的。在全球信息化的今天,最好的发展模式莫过于开放的开发环境。云计算的服务提供商必须遵守统一、开放的标准, 并为下家提供开放的服务,才能促成整个产业链的发展。在这一点上中国政府工信部(主要是软件司) 的主管官员们非常有远见,一直在致力于统一中国云计算的标准,并且增强中国云计算技术和标准在世界上的话语权。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文