本文将介绍如何组合 SDN 与云基础架构服务,以便优化 IaaS;我将重点介绍以下区域:
- 确保 IaaS 互操作性
- 充分利用 IaaS 云服务模型
- 通过 OpenStack Foundation 和 OpenDayLight 项目来满足用户、开发人员、提供商和维护人员的期望
- 提供富有成本效益的减轻风险的方式,以便优化 IaaS
IaaS 互操作性 网络管理员可以使用带网络功能虚拟化 (Network Functions Virtualization, NFV) 的 SDN 架构来实现 IaaS 互操作性的目标。NFV 架构概念要求使用虚拟化技术,将一整类网络节点功能虚拟化为构建块,然后,后者可以相互连接来创建通信服务。一种虚拟化的网络功能可能包含一个或多个虚拟机,它们可在云基础架构上运行不同的软件和流程。
SDN 架构在一个中央控制台中为管理员提供了从 IaaS 中的某个网络设备传输到另一个设备的流量的全局视图;在必要的时候,它还详细描述了在转移到兼容的 IaaS 之前应如何优化流量。
SDN 架构的核心是控制器,控制器是一个开源应用程序,用于将控制功能与专用网络设备的数据功能相分离。如果某个网络设备遇到大量的流量,那么管理员可以使用控制器告诉网络设备将这些流量包重定向或重新发送到何处。管理员可以根据需要添加 IaaS VM:例如将大量数据从性能低下的网络设备转移到更健康的网络设备。
NFV 将网络功能(比如网络地址转换 (NAT)、防火墙、入侵检测、域名服务 (DNS) 和缓存)与专用硬件设备相分离,以便这些功能可以运行软件中的控件。NFV 整合了必要的网络组件,以便为全面虚拟化的网络基础架构提供支持。
必须正确配置 SDN 和 NFV 控制器,才能优化网络流量,或者让管理员对其执行其他更改。不当的配置可能导致 IaaS 宕机或受到攻击。正确的配置可以通过 OpenStack 和 OpenDayLight 等开源工具来完成。
为了了解有多少网络专家喜欢商业提供商提供的适用于其 SDN 解决方案的开放源码,OpenDayLight 进行了一项调查……该报告调查了北美企业大中型组织中的 600 多位 IT 决策者和技术人员,其中 300 位来自企业,300 位来自服务提供商。该调查显示,95% 的网络专家希望其 SDN 解决方案是开放源码的,但其中 76% 的更喜欢来自商业提供商的开源解决方案。(“。”)
通过选择来自商业提供商的开源解决方案,可以使用 SDN 和 NFV 控制器来优化 IaaS。
IaaS 云服务模型 为了更好地了解如何使用 SDN 执行 IaaS 优化,您需要了解 IaaS 云服务模型的主要角色在控制 IaaS 云上的对比情况。重要参与者包括:
- IaaS 云服务用户
- PaaS/IaaS 云服务开发人员
- IaaS 云服务提供商
- SDN 管理员
IaaS 云服务用户 我们看看 IaaS 云服务用户拥有的控制范围。这个分组包括 IaaS 用户和 SaaS 用户。
IaaS 用户(通常是网络或基础架构专家):
- 在虚拟机级别控制操作系统、网络设备和部署的应用程序。
- 基础架构专家可扩展或精减虚拟服务或存储区域块。
- 他或她也可以是使用控制器来优化设备间的流量的 SDN 管理员。
相较而言,SaaS 用户(无论他或她是个人、企业还是政府机构)拥有的控制权仅包括访问 SaaS 应用程序;SDN 管理员对流量的控制是对他或她透明的。SaaS 用户也可以是 SaaS 提供商,负责满足用户对访问控制、系统、响应时间(吞吐量)和查询响应的期望。
PaaS/IaaS 云服务开发人员 PaaS 和 IaaS 云服务开发人员拥有多少控制权?
PaaS 开发人员控制和保护一个完整业务生命周期中的所有应用程序。开发人员可以构建、部署和运行自定义仓库管理应用程序。作为业务生命周期的一部分,开发人员会使用电子表格、文字处理器、账单、薪资处理功能和发票。PaaS 开发人员需要确保应用程序在 SDN 管理员能够控制的网络中正常运行。
IaaS 开发人员控制一个 IaaS 公共或私有云的生命周期开发,这个云可以与不同服务提供商所托管的另一个 IaaS 云进行互操作。IaaS 开发人员需要确保 IaaS 基于 OpenStack。IaaS 开发人员与 PaaS 开发人员合作在测试环境中的 IaaS 或 PaaS 上运行 SaaS 应用程序。
IaaS 云服务提供商 最低限度上,IaaS 提供商控制虚拟机底层的传统计算资源的基础架构。提供商设置用户、资源和数据请求阈值水平,允许就阈值水平的更改与 PaaS 开发人员进行协商。提供商也可以是控制网络设备之间的流量的 SDN 管理员。
SDN 管理员 在 IaaS 云中,管理员能够控制与数据层面分离的 SDN 功能,以及与专用硬件设备分离的 NFV 功能。管理员需要与 IaaS 云服务模型的角色协作来优化开源 IaaS。
满足期望:OpenStack Foundation 潜在的和当前的云服务客户想要一种开放云服务标准,以便允许 IaaS 与另一个提供商托管的另一个 IaaS 进行互操作。OpenStack 会主动采取措施来满足他们的期望: 允许开发人员和云计算技术人员协作,为 IaaS 公共和私有云生成开源云计算平台。
我们更详细地看看 OpenStack Foundation 有什么用,对 OpenStack 执行了哪些基础工作来标准化 IaaS。然后我将讨论模块架构组件、共享服务以及 Neuron 和 SDN。
Foundation 的工作 OpenStack 是一个 IaaS 云操作系统,可以控制整个数据中心中庞大的计算、存储和网络资源池,以及共享服务。所有这些都通过一个仪表板来管理,这使得管理员能够进行有效控制,同时使得用户和开发人员能够通过 Web 界面来配备资源。
OpenStack Foundation 负责监督 OpenStack 项目,该项目集成了来自 NASA 的 Nebula 平台的代码与 Rackspace 的平台。针对此项目的代码更改是由 2011 年从 Rackspace 分离出的 OpenStack Foundation 的成员贡献的。全球的开发人员和云计算技术人员协作为公共云和私有云生成了开源的云计算平台。
2012 年 4 月,IBM 和 Red Hat 同意作为高级成员加入 Foundation,这意味着它们在接下来的 3 年内每年都会捐赠 500,000 美元。其他计划作为高级成员加入的公司包括 AT&T、Canonical、HP、Nebula、Rackspace 和 SU SE。
模块化架构组件 作为标准化 IaaS 的工作的一部分,OpenStack 拥有一种包含 3 个组件的模块化架构。每个组件都有一个代号。
- :为自动配备的虚拟计算实例的大规模部署提供开源软件和标准。
- :为静态对象的大规模、冗余的存储提供开源软件和标准。
- :在其他 OpenStack 服务(比如 Nova)管理的网络接口设备 (vNIC) 之间提供 “网络即服务”。
共享服务,涵盖计算、存储和网络 3 个分支。这些服务包括:
- Identity 跨所有 OpenStack 项目提供统一的身份验证
- Image 提供虚拟磁盘镜像的交付服务
- Telemetry 提供跨某个 OpenStack 云中部署的服务的聚合的使用和性能数据
- Orchestration 提供了一个模板驱动的引擎,允许应用程序开发人员描述并自动化基础架构的部署
- Dashboard 为 OpenStack 服务(包括 Nova 和 Swift)提供一个基于 Web 的用户界面。
它们都将 OpenStack 组件彼此集成。 |