1.3 IaaS的基本架构
上文我们简单介绍了云服务的基本概念,在本节中我们将简单介绍IaaS的基本架构。作为云服务最基础的表现形式,IaaS主要包含了计算资源、存储资源和网络资源。
1.3.1 基础设施层
基础设施层主要包括计算资源、存储资源、网络和安全以及虚拟交换机等核心组件。
1. 计算资源
计算资源通常以虚拟主机的形式提供,云服务商使用Vmware,Hyper-V,XenServer或者KVM等虚拟化软件对已有的硬件资源做虚拟化后,以资源池的形式向上层提供服务。主机使用虚拟化技术后,一台主机承载多台虚拟主机,并且可以通过虚拟化软件实现像使用物理主机一样使用虚拟主机,原生地提供了一个多租户的环境。
2. 存储资源
除了计算服务,云服务商通常还需要能够访问计算服务的存储服务。云环境中的存储服务提供了一个池化的存储资源,计算资源中的虚拟主机可以通过虚拟化软件层访问存储资源池,存储资源池将存储作为一种服务提供给虚拟主机或者最终用户。存储资源池的架构如图1.2所示。
图1.2 存储资源池架构图
虚拟化存储资源池一般使用NAS(Network Attached Storage)或者SAN(Storage Area Network)存储技术构建,使用支持策略的全局的虚拟化存储管理和调度软件给计算资源,或者最终用户提供统一的接口以支持存储服务。特别地,在为虚拟机实例提供存储的时候,通常选择DAS(Direct Attached Storage),用于安装实例的操作系统等系统软件。
3. 网络和安全
云服务中网络的配置通常包含子网的定义、按需分配IP地址资源、定制路由表等常用配置。此外,还包含像负载均衡之类的高可用设备的配置。云服务中的安全通常使用安全组和网络隔离的策略来实现多个租户之间的隔离。云服务中的网络和安全策略主要用于在一个资源共享的环境中实现多租户的隔离,目前实现网络隔离时常用的技术有VLAN、VXLAN、VCDNI以及STT。
云服务的安全主要是指包含多个组件的应用在多租户的环境中部署的时候,希望数据库类的应用只允许内网访问,Web服务只允许通过某些开放的端口访问等需求。针对这种需求,我们通常使用二层的隔离技术(VLAN等)配合三层的安全组(Security Group)和四层的端口过滤来保证多租户之间私有服务的绝对隔离。
除了保证租户间隔离的二层三层四层安全策略,云服务中的网络还提供了NAT、VPN、GateWay、Port forwarding和ACL等多种灵活的接入和过滤模式。可以为用户定制更加灵活的网络设计方案和网络访问控制策略。
1.3.2 管理层
管理层为云环境中的计算资源、存储资源、网络和安全提供了一个统一的管理平台,主要用于帮助用户便捷管理和配置自己在云环境中购买的各种资源,快速构建自己需要的应用平台。
管理层提供了报表展示、可视化安装配置、资源监控等核心功能。其核心特性包括:
1. 自动化
管理层为用户提供了一个高度自动化的资源管理环境,用户可以使用云服务提供商提供的管理功能,很轻松地完成各类资源的分配和回收(如虚拟机的创建和回收,存储资源的分配和回收),构建自己需要的应用平台的网络和安全策略。除了可视化界面,云服务提供商还提供了这些标准操作的API和封装了这些API的SDK供用户去定制自己需要的可视化界面。
2. 流程编排
服务组合用于帮助用户组合集成云计算平台中的各种不同功能的服务。使用云服务提供商提供的流程编排功能,用户可以使用IT基础设施库中已有的服务类型,按照自己的需求重新组合这些服务以实现更复杂的功能。目前在云服务中的流程编排主要使用在组网过程上,用户可以选择一些已有的网关、路由、防火墙及VPN等组件搭建自己需要的网络类型。
3. 任务执行
任务执行属于管理层比较底层的操作,通常通过命令行接口或者API通过管理层向底层(主要是虚拟机)发送任务执行的命令。任务执行的具体实现和底层虚拟机的平台相关。任务执行这一功能需要通过管理层来激活。
4. 服务管理
服务管理功能主要用于提供实现自动化管理和适配服务的方法和策略,使用这些策略来构建流程去实现不同应用场景的服务编排。使用服务管理功能,用户可以将自己常用的一些服务进行分类,为每个服务创建单独的启动、停止模板,实现服务的统一管理。