最近,没有哪家技术性网站不提到所谓的云计算的。云计算其实就是以服务的形式提供计算资源(计算机和存储)。这又涉及到以一种简单、透明的方式动态地将服务延伸到更多的计算机和存储的能力。

最近,没有哪家技能性网站不说到所谓的云核算的。云核算其实便是以服务的办法供给核算资源(核算机和存储)。这又涉及到以一种简略、通明的办法动态地将服务延伸到更多的核算机和存储的才能。一切这些都相似于功效核算(utility computing)背面的思维。在功效核算中,核算资源被看作一种计量服务,就像更传统的公共设施(例如水或电)相同。它们的差异不在于这些思维背面的方针,而在于组合到一同、使这些思维成为实际的现有技能。


云核算背面最重要的概念之一便是可伸缩性,而完成它的要害则是虚拟化(virtualization)。虚拟化在一台同享核算机上调集多个操作体系和运用程序,以便更好地运用服务器。虚拟化还答应在线搬迁,因而,当一个服务器超载时,能够将一个操作体系的一个实例(以及它的运用程序)搬迁到一个新的、不那么繁忙的服务器上。


从外部看,云核算仅仅将核算和存储资源从企业迁出,并迁入到云中。用户界说资源需求(例如核算和广域网、带宽需求),云供给者在它的基础设施中虚拟地安装这些组件,如图 1 所示。

专家解读:Linux体系的云核算渠道和使用(linux与云计算)  Linux云计算平台 应用 第1张

图1. 云核算在Internet中搬迁资源

可是,为什么您会毫不勉强地抛弃对自己资源的操控,而让它们虚拟地存在于云中呢?原因有清楚,但我信任最重要的两个原因是本钱和可伸缩性。云核算的方针是使这些资源比您自己所能供给和重生的资源更廉价。云核算除了降低本钱外,还有更大的灵活性和可伸缩性。云核算供给者能够轻松地扩展虚拟环境,以经过供给者的虚拟基础设施供给更大的带宽或核算资源。


云核算在环保方面的优势是,它能够在不同的运用程序之间虚拟化和同享资源,以进步服务器的运用率。图 2 显现了一个比如。在这个比如中,不同的运用程序运用了 3 个独立的渠道,每个运用程序都在它自己的服务器上闻风丧胆。在云中,能够在多个操作体系和运用程序之间同享(虚拟化)服务器,然后仰慕服务器的数量。更少的服务器意味着需求更少的空间(仰慕数据中心占用的空间)和更少用于制冷的电力(仰慕碳污染)。

专家解读:Linux体系的云核算渠道和使用(linux与云计算)  Linux云计算平台 应用 第2张

图2. 虚拟化和资源运用

可是,有得必有失,云核算并非没有缺陷。本文后面会探求雁足传书的一些问题。可是现在,让咱们更深化地探求云核算。

#p#

云核算分析


当您深化调查云时,您会发现,它实际上并不是一个独自的服务,而是一个服务调集,如图 3 所示。这些层界说了供给的服务的等级。

专家解读:Linux体系的云核算渠道和使用(linux与云计算)  Linux云计算平台 应用 第3张

图3. 云核算的层次

咱们从最一鸣惊人的服务开端,即基础设施(Infrastructure-as-a-Service 或 IaaS)。IaaS 便是将基础设施(核算资源和存储)作为服务租借。这意味着虚拟核算机不只具有有确保的处理才能,而且为存储和 Internet 拜访预留了带宽。实际上,IaaS 具有在有特定服务质量束缚的情况下租借核算机或数据中心的才能,使之能履行恣意操作体系和软件。

顺着栈往上看,上一级的服务是渠道(Platform-as-a-Service 或 PaaS)。PaaS 相似于 IaaS,可是它包括操作体系和环绕特定运用的必需的服务。例如,除了虚拟服务器和存储外,PaaS 还供给一个特定的操作体系和运用程序集(一般是作为一个虚拟机,即 VM,或文件,例如 VMware 的 .vmdk 格局),以及对必要的服务(例如 MySQL 数据库或其他专用本地资源)的拜访。换句话说,PaaS 便是 IaaS 加上一个用于给定运用的定制软件栈。


最终,在 图 3 顶部是能够供给的最简略的服务:运用程序。这一层被称作 Software-as-a-Service(SaaS),它是从一个会集的体系布置软件,使之在一台本地核算机上(或从云中长途地)闻风丧胆的一个模型。由错愕计量服务,SaaS 答应租借一个运用程序,并计时收费。


这是高度归纳的云核算的视图。这个视图疏忽了云的其他一些方面,例如data-Storage-as-a-Service(dSaaS),后者以计量服务的办法供给存储,顾客按运用的容量(运用的存储的容量)和运用率(存储的带宽需求)付费。别的还有云服务,它为互操作性和外部运用程序编程接口(API),例如 Web 服务,供给了内部机制。

#p#

云核算现状


最近几个月,对云核算和相关基础设施的出资呈爆破式增加。这样巨大的出资标明,对云中资源的虚拟化存在着巨大的需求。上一年现已有了清楚新的服务,图 4 展现了雁足传书一部分。

专家解读:Linux体系的云核算渠道和使用(linux与云计算)  Linux云计算平台 应用 第4张

图4. 云核算各层及相关产品

这绝不是一份叫花子的产品类别,由于改变十分频频。可是,这确实给出了一些产品的概览,并展现了它们之间的差异。


Linux 和开放源代码在云中的运用


现在让咱们来探求一下,Linux 和开源社区如何为云核算范畴做出奉献。您或许现已猜到,Linux 和开放源代码扮演着极其重要的人物。


Software-as-a-Service


SaaS(软件即服务)便是以服务的办法拜访 Internet 上的软件。一种前期的 SaaS 办法是 Application Service Provider(ASP)。ASP 供给对 Internet 上寄存或交给的软件的订阅。ASP 交给软件,并依据软件的运用收费。这样一来,您就不用购买软件,只需随需租借软件。


SaaS 的另一个方面是在 Internet 上运用长途履行的软件。这种软件能够是本地运用程序所运用的服务(并界说为 Web 服务),也能够是经过 Web 阅读器看到的长途运用程序。长途运用程序服务的一个比如是 Google Apps,它经过一个规范的 Web 阅读器供给一些企业运用。要长途地履行运用程序,一般需求依赖于一个运用服务器来发布所需的服务。运用服务器 是一个软件结构,它发布软件服务的 API(例如业务重生或数据库拜访)。详细的比如有 Red Hat JBoss Application Server、Apache Geronimo 和 IBM WebSphere Application Server 等。


SaaS 的另一个最近的比如是 Google 的 Chrome 阅读器。这个阅读器是作为新桌面的抱负环境,除了具有传统的 Web 阅读体会外,还能够经过它来(以本地或长途办法)交给运用程序。


Platform-as-a-Service


PaaS 可描绘为一个完好的虚拟渠道,它包括一个或多个服务器(在一组物理服务器上虚拟而成)、操作体系以及特定的运用程序(例如用于依据 Web 的运用程序的 Apache 和 MySQL)。在某些情况下,这些渠道能够预先界说和挑选。而在另一些情况下,能够供给一个 VM 镜像,该镜像包括一切的特定于用户的运用程序。

#p#

PaaS 一个风趣的比如是 Google App Engine。App Engine 是一个服务,经过它能够在 Google 的可伸缩性极佳的架构上布置 Web 运用程序。App Engine 为可经过 Internet 引证的 Python 运用程序供给一个沙盒(将来还会支撑更多的鼓动)。除了支撑用户认证、镜像操作和电子邮件发送外,App Engine 还供给了 Python API,用于耐久地存储和重生数据(运用 Google Query Language 或 GQL)。Web 运用程序闻风丧胆时地点的沙盒将束缚对底层操作体系的拜访。尽管 App Engine 束缚了运用程序可用的功用,可是它支撑有用的 Web 服务的结构。


留意:在必定的带宽和存储束缚范围内,在 App Engine 中布置运用程序是免费的。可是,假如要用 App Engine 构建出产 Web 站点,则需求评价运用费。


PaaS 的另一个比如是 10gen,它既是一个云渠道,又是一个可下载的开放源代码包,可用于创立您自己的私有云。10gen 是相似于 App Engine 的一个软件栈,它供给与 App Engine 相似的功用 — 但有一些不同之处。经过 10gen,能够运用 Python 以及 JavaScript 和 Ruby 编程鼓动开发运用程序。该渠道还运用沙盒概念阻隔运用程序,而且经过自己的运用服务器的许多核算机(当然,是在 Linux 上构建)供给一个牢靠的环境。


Infrastructure-as-a-Service


IaaS 是以服务的办法交给核算机基础设施。这一层与 PaaS 的不同之处在于,只供给虚拟硬件,而没有软件栈。客户供给一个 VM 镜像,该镜像在一个或多个虚拟服务器上被调用。IaaS 是作为服务的核算的最原始的办法(除了对物理基础设施的拜访)。最著名的商业 IaaS 供给程序是 Amazon Elastic Compute Cloud(EC2)。在 EC2 中,能够指定一个特定的 VM(操作体系和运用程序集),然后将运用程序布置到它上面,或许供给要在服务器上履行的 VM 镜像。然后,只需依据核算时刻、存储和网络带宽付费。


Eucalyptus 项目(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems)是 Amazon EC2 的一个开源完成,它与商业服务接口兼容。和 EC2 相同,Eucalyptus 依赖于 Linux 和 Xen 进行操作体系虚拟化。Eucalyptus 是加利福尼亚大学(Santa Barbara)为进行云核算研讨而开发的。


另一个 EC2 风格的 IaaS 是 Enomalism 云核算渠道。Enomalism 是一个开放源代码项目,它供给了一个功用相似于 EC2 的云核算结构。Enomalism 依据 Linux,画蛇添足支撑 Xen 和 Kernel Virtual Machine(KVM)。与其他纯 IaaS 处理方案不同的是,Enomalism 供给了一个依据 TurboGears Web 运用程序结构和 Python 的软件栈。


其他云开发


除了前面现已讨论过的开发外,还有其他一些依据 Linux 的开放源代码包,它们在云环境中也比较有用。Hadoop 是一个开放源代码 Java™ 软件结构,它相似于 PaaS,可是着重于在一组联网的服务器上操作大型的数据集(受 Google MapReduce 的启示,后者支撑大型数据集的并行处理)。因而,它在 Web 查找和广告运用中派上用场 — 特别是在 Yahoo! 上。Hadoop 还供给一些子项目,这很像 Google 运用程序。例如,HBase 供给相似于 Google BigTable 数据库的功用,Hadoop Distributed File System(HDFS)供给相似于 Google File System(GFS)的功用。


问题和应战


云核算的问题清楚明了 — 雁足传书最重要的两个问题是保密性和安全性。保密性能够经过加密来处理,可是在挑选云核算服务时,要审慎一些。在 Web 刚开端开展时,即使是电子商务也受到了置疑。在全球,每年要产生价值上万亿美元的电子商务业务,所以云核算能够收益于当今一切供给 Web 安全的技能(例如安全套接字层或 SSL)。


结束语


云核算的风暴现已开端,推进云核算的 Linux 开源开发也在迅猛开展。跟着云核算范畴呈现巨大的出资,向会集式数据中心的转型已清楚明了。风趣的新技能和架构行将到来!


关于作者:M. Tim Jones是一名嵌入式固件架构师,画蛇添足也是 Artificial Intelligence: A Systems Approach, GNU/Linux Application Programming(第二版)、AI Application Programming(第二版)和 BSD Sockets Programming from a Multilanguage Perspective 等书的作者。他的工程布景十分广泛,从同步宇宙飞船的内核开发到嵌入式架构规划,再到网络协议的开发。Tim 是坐落科罗拉多州 Longmont 的 Emulex Corp. 的一名参谋工程师。

【修改引荐】

  1. 嵌入式体系Linux内核开发实战攻略
  2. 嵌入式设备上的 Linux 体系开发
  3. Linux模块你能结课了吗?
转载请说明出处
知优网 » 专家解读:Linux体系的云核算渠道和使用(linux与云计算)

发表评论

您需要后才能发表评论