首页 > 代码库 > 云计算中的一些重要概念

云计算中的一些重要概念

什么是云计算

     曾经被人严肃的问到过一个问题,那就是如果要你用一句话,向一个完全没有计算机知识的农民解释什么是云计算,你该如何说,记得我当时说了一堆类似服务器虚拟化,存储虚拟化等相关的东西,这个显然不够浅显。如果再给我一次机会,我会说:云计算就是把计算机放到了“云”上,家里面不用放计算机,使用的人只要从云上拉一根网线下来就可以做任何电脑相关的事情了,虽然这种解释对搞云计算的程序员来说不太准确,但是我想这差不多解释了云计算内涵的八九成了。


 为什么需要云计算

     IT相关技术的发展总是要给人带来便利,说大了是为了提高“生产力”,现在的IT资源可以分为三类,(1)服务器--计算资源;(2)磁盘--存储资源;(3)交换机--网络资源。一般情况下每个公司都会有自己的IT部门,来管理这三类设备保证它们的正常运行,升级,同时也要保证设备的安全性,可扩展性等。也就是说每个公司都需要投入相当多的人力物力用于维护IT基础设施,如果能够有一个大的机构专门提供这些资源,将计算服务化,那么大部分的公司或个人将会省去很多不必要的工作。云计算就是在这样的背景下产生的,这和发电厂产生的背景是一样的:在发电厂之前各家各自自买自装发电设备来提供电力。

     云计算的主要作用有:

    (1)提供计算,网络,存储资源

    (2)用户可以省去IT设备的安装,投资,维护等繁琐的过程(IaaS)

    (3)给应用开发者提供快速的开发环境(PaaS)

    (4)提供可扩展的服务

    (5)高可靠性,通过备份或容灾实现无单点故障的高可靠性。


     云计算作为一种新兴技术,它也面临不少困难:

    (1)接入的便利性:通过自用终端随时接入云端还有许多挑战

    (2)显示质量:图像,特别是3D等经过网络传输,失真比较严重。这在注重视觉效果的人来说是不可以接受的

    (3)隔离性:不同虚拟机之间会对对方性能产生影响,提法提供良好的QoS等。前两个主要在网络方面,后一个在虚拟化方面

    

目前现有云的类型有私有云、公有云、企业云、混合云等, 私有云就是用户拥有对整个硬件的完全控制,通常购买私有云的客户需要购买私有云的维护,目前在私有云方面做的最好的是VMware,国内的华为在这发面也做的不错;公有云就是由云服务提供商通过网络向企业或个人提供计算资源,国外的亚马逊AWS,国内的阿里云,青云,新浪等在这方面都做得不错。硬件的所有权在云服务提供商手中。企业云是公有云的一个特例,它专门向企业用户提供高可靠、安全、稳定的软件和服务。混合云是公有云和私有云的结合。一些企业将非关键数据放在公有云上,关键数据放在企业内部,二者之间通过加密的防火墙,VPN实现互通。举个例子:银行虽然安全,保险箱还是有很大市场。


云计算关键技术

     云计算的产生背后靠的是在计算、网络、存储虚拟化等关键技术上的突破。虚拟化技术的成功同时也依赖于硬件(如多核CPU-支持VT技术,内存,磁盘容量的增大,数据读取速度的增加)和软件(如虚拟化层Xen,KVM)的发展。

计算虚拟化

    (1)虚拟机:虚拟机是用软件实现的抽象的物理计算机,可以获取CPU资源,访问内存,进行网络操作等。在它上面可以安装操作系统和软件,从而可以向用户提供多主机多用户的服务,另外也具有良好的可扩展性(内存,CPU,网络带宽等可以根据需要进行调整)

    (2)虚拟化层(Hypervisors),通常也叫做VMM(Virtual Machine Monitor)。虚拟化层的作用是创建和管理虚拟机。存在两种类型的虚拟化层,第一种是直接运行在硬件上的虚拟化层,这种叫做裸金属虚拟化,虚拟化层管理运行在其上的Guest OS。采用裸金属架构的主要有Xenserver, VMware ESX, KVM, Microsoft Hyper-V;另外一种称作寄居虚拟化,这种虚拟化层运行在已有的操作系统上,如VMWare workstation和VirtualBox。虚拟化层需要强大的硬件资源来支撑运行在其上的虚拟机和操作系统。INTEL和AMD分别提供了具有特殊功能的CPU:INTEL-VTx和AMD-V,它们可以提供高级内存管理:如内存页表扩展和虚拟化等;支撑特权指令(Virtual Machine Extensions VMX)。

网络虚拟化

(1)VPN-Virtual Private Networks :它可以在公有云中提供隔离的私有网络。

(2)NFV – Network Function Virtualization:通过软件实现网络功能,从而在需要网络模块的地方只需要安装这类软件就可以了,而不用再来安装网络硬件。

(3)NV-Network Virtualization:指虚拟网络,最典型的代表是VLAN。

存储

     存储技术从最初的软盘和SCSI驱动到现在的闪存和固态硬盘驱动,发展迅速。这中间主要有三种技术NAS,SAN,RAID。

   (1)NAS– Network Attached Storage:NAS实现了一个文件系统,在这个系统中,磁盘看起来像是一种具有网络功能的模块,其它人可以通过网络访问它们。也就是说,磁盘具有网络连接,可以连接到交换机和其它计算机网络。NAS就像是一个文件服务器,磁盘不必和某个CPU联系在一块。文件服务器就是一个网络模块。NAS现在支持采用NFS和CIFS协议实现分布式文件共享。NAS提供文件存储。NFS( Network File System)是一种分布式文件系统协议,客户端采用RPC技术通过来访问网络文件,就像访问本地文件一样。NFS在Linux, Windows系统中广泛使用。

   (2)SAN – Storage Area Network:SAN不同于NAS,它需要构建一个专门的存储网络,该存储网络向外提供块存储。SAN一般有两类,基于FC协议的FC SAN和基于iSCSI协议的IP SAN。iSCSI(Internet Small Computer System Interface)是一种基于IP协议访问存储的技术。它采用IP协议承载SCSI命令。

   (3)RAIDs-Redundant Array of Independent Disks:RAID可以建立逻辑磁盘单元,数据在不同的磁盘单元内备份与分布。RAID具有很好的可靠性,目前一般的计算中心采用RAID作为主存。