云计算核心技术知识体系
云计算的服务模式可以认为包括以下几个层次:基础设施即服务(IaaS),平台即服务(PaaS)和软件即服务(SaaS)。在这三层服务模式中,使用到了云计算的绝大部分核心技术。
一、IaaS 这一层服务由于是云计算的最底层,所以包含了比较多的内容,例如物理层面的机架、硬件服务器及其操作系统和软件等,这方面不做赘述。与传统不同的主要有如下几点: 1、虚拟化技术 这是一种计算机资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。 主要的虚拟化技术有硬件辅助虚拟化,即利用硬件(主要是CPU)辅助处理敏感指令以实现完全虚拟化的功能,客户操作系统无需修改,以及使用名为hypervisor的一种软件,在虚拟服务器和底层硬件之间建立一个抽象层。例如VMware Workstation、Xen、KVM等, 2、云操作系统(云计算管理平台) 云操作系统是用开源软件编写的具有高可用性及扩展性的云计算管理平台项目,同时是一个开源云计算解决方案。可以加速高伸缩性的公共和私有云(IaaS)的部署、管理、配置。当前主流的系统有Openstack和Cloudstack等。 3、云存储 云存储是是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的系统。主要包括对象存储和块存储等方式。 4、云网络 NFV(Network Function Virtualization),即网络功能虚拟化,通过使用x86等通用性硬件以及虚拟化技术,来承载很多功能的软件处理。从而降低网络昂贵的设备成本。可以通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署,并基于实际业务需求进行自动部署、弹性伸缩、故障隔离和自愈等。 SDN(Software Defined Network),即软件定义网络,是网络虚拟化的一种实现方式,其核心技术OpenFlow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。 隧道技术(Tunneling)是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将其它协议的数据帧或包重新封装然后通过隧道发送。新的帧头提供路由信息,以便通过互联网传递被封装的负载数据。 以上几种加上传统的VPN、VLAN等网络虚拟化技术,共同组成了云计算网络。 5、云计算 美国国家标准与技术研究院(NIST)定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问, 进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。 NOVA是Openstack云管理平台中的一个主要模块,管理虚拟机实例的整个生命周期,根据用户需求来提供虚拟服务。负责虚拟机创建、开机、关机、挂起、暂停、调整、迁移、重启、销毁等操作,以及配置CPU、内存等信息规格。 其他还有云计算调度、资源评估、迁移等主要技术。 6、云安全 云的安全性是相当重要的一个部分,也是用户最为关心的一个方面,包括了网络安全、虚拟化安全,以及云上的访问、通信、操作、数据等各项安全性保证。 二、PaaS PaaS层将IT系统的平台软件层作为服务进行提供,它解决了应用软件依赖的运行环境(如中间件、数据库、运行库等),为应用软件在云上的顺利运行提供了平台。 1、软件技术 包括了docker容器技术、CI(持续集成)/CD(持续交付)技术、调度编排技术和微服务等。 2、平台技术 包含了REST技术、多租户技术、分布式缓存、持久化存储等。 三、SaaS SaaS层在前两层的基础上,提供了适合客户使用的应用软件,并将其作为自身的服务内容,进一步降低了用户的实用技术门槛,为其提供了更为便利的服务。所以,软件开发技术成为了这一层中的核心技术。 应用开发 包含了多租户开发和用户接口等。 以上是云计算的三层服务模式及其相关的核心技术。在这三层服务的基础上,还可以衍生出数据即服务(DaaS),即与大数据和人工智能相关的内容,可见云计算是当前众多先进技术和前沿科学的基础。 |