1.3 OpenStack的功能与作用
当今的数据中心,许多服务器都遇到过同样的问题,即计算、电源、网络带宽等资源利用率不足。例如,某个项目可能会需要大量计算资源来完成计算,而一旦完成了计算任务,将不再需要那么多的计算资源。当用户想要一种灵活的、按需供给计算资源的服务,通过自动化或很少人工干预就能使用时,那么云计算就是最好的选择之一。“云计算”通常包含了一个服务责任(Service Level Agreement,SLA),表示云计算服务提供商承诺的性能、规格、可用率等。云计算服务让用户通过一个共享的计算资源、网络带宽、存储池,运行应用程序或服务来完成计算工作,并按资源的使用量来计费。
这些关于云计算服务的主要特点如下。
按需自助服务:用户可以提供自己的需要订购所需的计算、存储和网络资源,而几乎不需要人工干预。
网络访问:可以通过网络使用任意类型的(异构)计算能力。通过标准化的机制调用计算资源而不受限于具体的访问设备。
资源池:多个用户可以同时访问和使用云计算提供的计算服务,服务提供商根据消费者的计算要求或实际使用量汇集和分配实际的计算资源。
弹性:可根据需要在不停机或短暂停机后迅速垂直或横向扩展。
计量或测量服务:按照使用的时间、传输或存储的字节数支付云计算服务,并提供消费者具体的资源消费图表。同时,它也可以根据消费者的不同需求提供定制化的计费模式。
下面了解一下当今的IaaS/Cloud与OpenStack的对比情况,从而进一步了解OpenStack的特点,见表1-1。
当今的云计算概念是由Google公司提出的,狭义的云计算是指IT基础设施的交付和使用模式,按需取用所需的IT资源;广义的云计算是指服务交付和使用模式,通过网络按需取用所需的服务,这种服务可以是IT、软件、互联网相关的,也可以是其他服务。它具有超大规模、虚拟化、可靠安全、弹性等特性。通过SaaS(Software as a Service)、PaaS(Platform as a Service)、 IaaS(Infrastructure as a Service)提供从上到下不同层面的云计算服务。
云计算(Cloud Computing)是网格计算(Grid Computing)、分布式计算(Distributed Computing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、联机存储技术(Network Storage Technology)、虚拟化(Virtualization)、负载均衡(Load Balance)等一系列传统计算机技术和网络技术发展融合的产物。它旨在通过网络将多个成本低廉的计算实体整合成一个大型计算资源池,并借助SaaS、PaaS、IaaS等服务模式,将强大的计算能力分发到终端用户手中。云计算的核心理念就是通过不断提高“云”端处理能力,减轻用户负担,将一系列的IT能力以服务形式提供给用户,简化用户终端的处理负担,最终使用户成为一个单纯的输入/输出设备,享受“云”提供的强大计算处理及服务能力。
OpenStack具有建设这样资源池的能力,通过OpenStack的各种组件多种模式的排列组合,可以搭建成各种规模的“云”,这些云可以是私有云、公有云、混合云。
OpenStack具有三大核心功能,即计算、存储、网络,分别对应相应的项目Nova、Cinder。其中Neutron。其中Nova提供了计算资源的管理,可以管理跨服务器网络的VM实例。同时,Nova还提供对多种Hypervisor的支持,如KVM、QEMU、Xen、LXC、VMware、Hyper-V、PowerVM等。Cinder提供了存储资源的管理,可以管理各个厂商提供的专业存储设备。Neutron提供了网络资源的管理,并且LBaaS、FWaaS等一系列网络相关的组件也正在逐渐发展起来。