SIXCloud技术白皮书 下载本文

改相应网络设备(路由器、交换机、防火墙)上的配置是一件非常繁琐的事情。在互联网/移动互联网瞬息万变的业务环境下,网络的高稳定与高性能还不足以满足业务需求,灵活性和敏捷性反而更为关键。SDN所做的事是将网络设备上的控制权分离出来,由集中的控制器管理,无须依赖底层网络设备(路由器、交换机、防火墙),屏蔽了来自底层网络设备的差异。而控制权是完全开放的,用户可以自定义任何想实现的网络路由和传输规则策略,从而更加灵活和智能。

进行SDN改造后,无需对网络中每个节点的路由器反复进行配置,网络中的设备本身就是自动化连通的。只需要在使用时定义好简单的网络规则即可。如果你不喜欢路由器自身内置的协议,可以通过编程的方式对其进行修改,以实现更好的数据交换性能。

假如网络中有SIP、FTP、流媒体几种业务,网络的总带宽是一定的,那么如果某个时刻流媒体业务需要更多的带宽和流量,在传统网络中很难处理,在SDN改造后的网络中这很容易实现,SDN可以将流量整形、规整,临时让流媒体的“管道”更粗一些,让流媒体的带宽更大些,甚至关闭SIP和FTP的“管道”,待流媒体需求减少时再恢复原先的带宽占比。

正是因为这种业务逻辑的开放性,使得网络作为“管道”的发展空间变为无限可能。如果未来云计算的业务应用模型可以简化为“云—管—端”,那么SDN就是 “管”这一环的重要技术支撑。

? J2EE技术

J2EE技术主要用于开发SIXCloud云平台的管理端应用。使用JAVA技术来实现所有SIXCloud云平台与前端管理相关的应用模块。

J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。

J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共同的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,企业内部或外部难以互通的窘境。

J2EE组件和“标准的” Java类的不同点在于:它被装配在一个J2EE应用中,具有固定的格式并遵守J2EE规范,由J2EE服务器对其进行管理。J2EE规范是这样定义J2EE组件的:客户端应用程序和applet是运行在客户端的组件;Java Servlet和Java Server Pages (JSP) 是运行在服务器端的Web组件;Enterprise Java Bean (EJB )组件是运行在服务器端的业务组件。

? LINUX容器技术

21 / 54

Linux 容器技术出现的很早, 其实也是一直虚拟化技术, 但似乎一直没有 Xen, KVM 这些来的出名。Docker是一种在Linux容器里运行应用的开源工具,一种轻量级的虚拟机。除了运行应用,Docker还提供了一些工具,借助Docker Index或自己托管的Docker注册表对进行了集装箱化处理的应用进行分发,从而简化复杂应用的部署过程。

? 中间件技术

中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。

SIXCloud云平台需要提供各种主流的中间件运行环境,为租户的应用托管提供运行容器。 ? 虚拟化技术

在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。

在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件。

五、 SIXCloud云平台功能

SIXCloud云平台是一个完整的云业务系统的管控平台,不仅包括了IaaS层的云操作系统,还包括了PaaS层的底层支撑,是一个大型的软件群。其总体结构如下:

22 / 54

云务 VM 业务系统 业 D ocker务业务系统 业D租户系统 基础容器 S系运营

服务池 统 组件计租服务池 在线开发服务 S

主要包括五大部分: ? OpenStack云操作系统

提供对硬件资源的虚拟化,对所有基础设施资源池进行调度、管理、监控。包含以下几个模块:大规模基础软硬件管理、虚拟计算管理、分布式文件系统、业务/资源调度管理、安全管理控制等几大模块组成。为了支撑当前商用应用,在此基础上,增加了部分功能,使其适合商用的需求。 ? Docker应用容器引擎

Docker是一个开源可以将任何应用包装在”LXC容器”中运行的工具。Docker包装的是应用,是一个轻量级的容器。当应用被打包成Docker Image后,部署和运维就变得极其简单。可以使用统一的方式 来下载,启动,扩展,删除,迁移。 Docker可以用来:

? 自动化打包和部署任何应用。 ? 创建一个轻量级私有PaaS云。 ? 搭建开发测试环境。 ? 部署可扩展的Web应用。

SIXCloud云平台使用Docker来搭建PaaS云,更加简化了PaaS的各种实现,已经在Docker的集成和应用上做了大量的开发工作,最终实现通过Docker来搭建PaaS平

23 / 54

台。 ? AppEngine

提供应用构建、交付、托管相关的各种服务。包括云应用迁移、路由、托管、构建、高可用、运营、运维等功能。

? SIXCloud租户控制台

租户控制台为租户提供了一个自助的综合管理系统,租户通过租户控制台来使用云平台的服务,所有工作都是通过浏览器来完成。 租户控制台管理提供了租户对云资源的所有操作,包括: ? IaaS服务 ? Docker服务 ? PaaS服务 ? 监控中心 ? 日常管理

租户可用的资源包括IaaS虚拟机资源及Docker容器资源,两类资源分别对应不同的管理模块。

? SIXCloud云管理控制台

SIXCloud云管理控制台向云平台建设者提供了综合的运营管控相关的管理控制台,其功能包括整个云平台的创建、日常管理、业务受理、技术支持、设备维护、收费与结算等方面。 主要模块包括: ? 资源中心 ? 租户管理 ? 服务管理 ? 运营管理 ? 运维管理

运营管理贯穿云平台的各个资源层,是云平台正常运转的关键系统。

24 / 54