当前位置:云计算云平台 → 正文

天云SkyForm云平台架构简析

责任编辑:editor007 作者:贾琨 |来源:企业网D1Net  2015-05-14 21:32:08 本文摘自:CSDN

【编者按】如何结合各种最新的云计算开源技术设计属于自己的云架构是一个值得研究的课题。在这篇文章中,天云软件研发总监贾琨从开源IaaS的技术趋势及私有云的实际需求出发,结合天云的产品研发和项目实践经验介绍了SkyForm云管理平台产品的架构和实现思路。

IaaS私有云项目的实际需求

去年的OpenStack Meetup线下活动中,有人总结了国内基于OpenStack的私有云项目需满足以下功能需求:

基于OpenStack提供基础架构层的自服务功能,包括虚拟机,存储和网络功能等;

需要完整的监控功能,包括硬件设备、Hypervisor物理机及虚拟机甚至应用层面等;

考虑ITIL方面的需求,如提供资产管理、CMDB、用户/权限管理、审计及事件通知等功能;

考虑资源整合和现有系统迁移,如VMware存量虚拟化的整合问题。

类似的观点我们也可以从Forrester去年发布的调查报告《关于私有云的10个事实》中看到:私有云的3个核心组件是自服务访问、追踪和监控资源和完全自动化;最耗时的步骤;集成和过程自动化

综合两个观点,我们得到以下的典型的IaaS私有云技术方案

私有云的自服务访问通过OpenStack或CloudStack等开源IaaS平台提供;

追踪资源的功能需要资产管理、CMDB等系统提供资源的从采购到业务上线以及中间的各种变更的全生命周期管理;

监控资源覆盖配置管理、性能采集及告警功能;

通过监控、告警及相关的故障、事件处理系统来维护系统的稳定高效运行,建立一个闭环反馈系统来构建完全自动化管理系统。

传统企业IT管理流行的ITIL通过一组规范试图达指导IT服务管理,在当前云技术的发展下则有了更高的实现要求,构建一套工具链来达到完全的自动化,这就是云管理平台。在这个目标达成的过程中,各种系统集成和过程自动化是当前的常态,也是起点。再加上cloud bursting的要求,基本覆盖了私有云项目的技术发展方向和项目落地对系统架构及功能的要求。

天云SkyForm私有云管理平台实践

天云软件在近几年的产品研发和项目实践中逐步构建了一个云管理平台产品SkyForm来试图满足上述要求,下面介绍一下这个系统的功能、架构及实现的思路。

SkyForm系统架构

从系统架构图(见上图)中我们可以看到,SkyForm对外提供统一的IaaS资源自助服务的功能抽象,可以覆盖各种公有云、私有云系统;另外还设计了资源管理、用户权限管理功能和监控、告警功能。

SkyForm的核心子服务是由SkyForm Cloud Service Gateway、SkyForm Cloud API和各种功能组件、云平台驱动构成的SkyForm Multi-Cloud Engine。其中SkyForm Cloud Service Gateway对各种私有云、公有云进行统一的抽象并管理各种系统的不同能力, SkyForm Cloud API则对外提供抽象OpenStack兼容的API并提供特定功能的扩展。虚拟化平台(如VMware)、开源云OS平台(如CloudStack和OpenStack)、容器技术(如Docker)以及公有云(如AWS)通过Driver接入SkyForm云平台以满足多种应用场景的需求。其中VMware Driver会处理用户存量VM的自动发现和自服务管理操作,可以利用VMware的高级资源管理功能如DRS等并支持集成VMware的各种IaaS服务如VDP备份服务,桌面服务View,PaaS层服务如vFabric数据库服务。

SkyForm Resource Scheduler提供资源管理,资源调度,资源分析等功能。它处理VM的资源分配及位置决策,公有云Cloud Bursting触发并对外提供各种基于优先级/服务能力的资源管理能力,实现上通过实现集中的openstack/cloudstack调度插件完成。Scheduler也提供系统资源容量管理功能,再加上资源请求分析,请求预测功能,试图为企业提供云平台建设投资决策的支持。

SkyForm Application Manager管理云上运行业务所使用的各种IT资源,包括VM/物理机、虚拟硬盘以及网络资源(如VNetWork, VLAN,IP)的资源统计,资源详细列表信息以及资源用途信息(如某个VM作为DB server还是接入server等用途信息)。配合Monitoring as a Service服务和应用性能数据采集技术,可以提供完整的业务资源管理,应用性能管理(APM)解决方案。

SkyForm CMDB设计满足资产管理、CMDB及ITIL相关的需求,它接入RabbitMQ消息总线,监听来自SkyForm Multi-Cloud Engine等其他系统的各种资源生命周期变更事件(如VM的创建/启动/停止/销毁事件和Hypervisor停机事件),维护整体IT资源的关联关系和变更信息。它连接了SkyForm的OS( Multi-Cloud Engine)和管理系统(监控、告警系统),同时也提供API与其他IT系统集成。

SkyForm设计了一个分布式的数据采集、分析、统计框架,提供从物理机Hypervisor,交换机,存储设备到虚拟机的监控、告警支持。从上图可见,SkyForm中包括集中的采集控制节点和采集任务执行器,这样的设计可以有效处理大规模环境下海量数据的采集任务,也能应对复杂网络环境下数据采集和安全的综合要求。采集数据会直接执行各种阈值告警规则的处理,将各种设备包括资源实例的告警统一汇总。告警系统支持外部设备或者系统通过SNMPTrap或者消息主动上报各种设备异常、系统预警事件。为了利用优秀的开源采集监控系统的能力,设计了采集适配器来支持Zabbix等扩充SkyForm的设备支持能力。另外基于OpenStack Celiometer开发了监控服务(Monitoring as a Service),用于用户自定义资源指标和应用性能指标管理。

SkyForm整体架构和实现思路

SkyForm设计过程中详细分析了各种开源云平台技术(详见相关文章《开源IaaS云平台的分析与比较》并吸取了团队成员参与过的多个类似产品的经验和教训,整体架构和实现有如下几个方面的考虑:

1. 分层与SOA设计

系统中明确地定义了Portal与API的接入层,核心IaaS功能层,接口适配层及底层IaaS资源层等逻辑分层,具有功能明确独立的各种服务,如IaaS服务Multi-Cloud Engine,调度服务SkyForm Resource Scheduler,监控服务 Monitoring,告警服务Alarm Service,包括没有在架构图中出现的应用AutoScaling服务和用于解决服务发现和依赖的服务管理功能。

2. 异步事件驱动

异步是分布式系统的典型信息交换方式,SkyForm引入RabbitMQ来利用异步事件的优势。例如,Multi-Cloud Engine接收底层Cloud Service Gateway发出的各种云平台的资源变更事件,如VM的创建,启动/停止,销毁等事件,同时经过转换后对外广播统一的资源变更事件驱动SkyForm CMDB和监控CollectorManager, Collector做出相应地处理逻辑。系统中设计了全局的事件管理功能用于记录各类系统事件(如用户登录,VM操作,系统配置等事件),可以做为资源计量,安全审计,流程追踪等功能的原始信息。

3. 控制流与数据流分离

云平台实际是一个管理系统,包括资源开通流程,资源操作流程等几个重要流程。采用消息总线的设计能够很好地处理这些流程。另一方面各服务间通常管理资源的某个维度的信息,需要保持服务间的关键信息的同步同时对外提供数据查询能力。SkyForm的一个架构原则是,控制流采用异步消息驱动,服务间的数据交换采用Restful API同步完成并辅以异步事件消息做增量更新。

4. 分布式任务管理

SkyForm中两大重要服务组件, Multi-Cloud Engine和监控服务均采用了分布式设计。其中Multi-Cloud Engine采用了无状态的负载均衡设计,监控服务则采用了Master-Slave的主从设计处理采集任务管理并辅以负载均衡模式响应外部查询。一个重要的出发点是基于资源生命周期来自大量用户的多地并发操作互相没有依赖,而监控采集任务有各种集群,地域,网络安全限制需要灵活的全局调度以满足生产环境的各种要求。未来监控系统会引用Gossip和分布式哈希等技术进行架构演进并辅以系统健康保障系统,满足无人值守的超大规模集群和任务管理的需求。

5. 插件化设计

插件化设计是实现异构系统管理的经典实践,SkyForm在Multi-Cloud Engine,性能数据采集,外部告警接受处理上都采用了类似的设计来处理异构多版本IaaS资源池,多类型的采集任务和多样的告警来源的管理需求。

下一步的工作

典型的IT系统通常需要经历建设、实用、维护、调优和再投资等阶段,云管理平台作为新一代的企业IT资源供给技术平台,也需要从IT服务生命周期的角度提供技术支持。SkyForm或类似的基于CloudStack/OpenStack的解决方案为用户提供了建云和提供IaaS层资源服务的技术平台,但用户需要根据自己的业务需求构建合适的覆盖应用的开发、测试、线上管理的应用生命周期管理平台;另外一旦云平台系统上线运行,服务监控、系统调优等就成为日常工作,用户迫切需要一套高自动化水平的运维技术平台。针对这样的事实,SkyForm当前和未来会在应用管理和运维技术上做一定的探索,在这个过程中会引入大数据技术从资源生命周期的维度收集各种相关数据,通过统计分析来为资源调优、资源调度和再投资决策等提供支持。(责编/周建丁)

作者简介:贾琨,云基地旗下初创公司北京天云融创软件技术有限公司产品研发总监兼架构师,2005年开始从事大规模Web服务、HPC/网格及云管理平台等分布式系统研发,历任腾讯Qzone、IBM Platform Computing资源管理调度系统,华为FusionSphere等产品的开发、架构及产品设计工作。精通各种IaaS平台、资源管理、资源调度等相关技术,2010年开始从事OpenStack研发、社区活动,当前主要关注Docker及相关资源管理技术,如Mesos、YARN等。

关键字:SkyForm天云全生命周期管理

本文摘自:CSDN

x 天云SkyForm云平台架构简析 扫一扫
分享本文到朋友圈
当前位置:云计算云平台 → 正文

天云SkyForm云平台架构简析

责任编辑:editor007 作者:贾琨 |来源:企业网D1Net  2015-05-14 21:32:08 本文摘自:CSDN

【编者按】如何结合各种最新的云计算开源技术设计属于自己的云架构是一个值得研究的课题。在这篇文章中,天云软件研发总监贾琨从开源IaaS的技术趋势及私有云的实际需求出发,结合天云的产品研发和项目实践经验介绍了SkyForm云管理平台产品的架构和实现思路。

IaaS私有云项目的实际需求

去年的OpenStack Meetup线下活动中,有人总结了国内基于OpenStack的私有云项目需满足以下功能需求:

基于OpenStack提供基础架构层的自服务功能,包括虚拟机,存储和网络功能等;

需要完整的监控功能,包括硬件设备、Hypervisor物理机及虚拟机甚至应用层面等;

考虑ITIL方面的需求,如提供资产管理、CMDB、用户/权限管理、审计及事件通知等功能;

考虑资源整合和现有系统迁移,如VMware存量虚拟化的整合问题。

类似的观点我们也可以从Forrester去年发布的调查报告《关于私有云的10个事实》中看到:私有云的3个核心组件是自服务访问、追踪和监控资源和完全自动化;最耗时的步骤;集成和过程自动化

综合两个观点,我们得到以下的典型的IaaS私有云技术方案

私有云的自服务访问通过OpenStack或CloudStack等开源IaaS平台提供;

追踪资源的功能需要资产管理、CMDB等系统提供资源的从采购到业务上线以及中间的各种变更的全生命周期管理;

监控资源覆盖配置管理、性能采集及告警功能;

通过监控、告警及相关的故障、事件处理系统来维护系统的稳定高效运行,建立一个闭环反馈系统来构建完全自动化管理系统。

传统企业IT管理流行的ITIL通过一组规范试图达指导IT服务管理,在当前云技术的发展下则有了更高的实现要求,构建一套工具链来达到完全的自动化,这就是云管理平台。在这个目标达成的过程中,各种系统集成和过程自动化是当前的常态,也是起点。再加上cloud bursting的要求,基本覆盖了私有云项目的技术发展方向和项目落地对系统架构及功能的要求。

天云SkyForm私有云管理平台实践

天云软件在近几年的产品研发和项目实践中逐步构建了一个云管理平台产品SkyForm来试图满足上述要求,下面介绍一下这个系统的功能、架构及实现的思路。

SkyForm系统架构

从系统架构图(见上图)中我们可以看到,SkyForm对外提供统一的IaaS资源自助服务的功能抽象,可以覆盖各种公有云、私有云系统;另外还设计了资源管理、用户权限管理功能和监控、告警功能。

SkyForm的核心子服务是由SkyForm Cloud Service Gateway、SkyForm Cloud API和各种功能组件、云平台驱动构成的SkyForm Multi-Cloud Engine。其中SkyForm Cloud Service Gateway对各种私有云、公有云进行统一的抽象并管理各种系统的不同能力, SkyForm Cloud API则对外提供抽象OpenStack兼容的API并提供特定功能的扩展。虚拟化平台(如VMware)、开源云OS平台(如CloudStack和OpenStack)、容器技术(如Docker)以及公有云(如AWS)通过Driver接入SkyForm云平台以满足多种应用场景的需求。其中VMware Driver会处理用户存量VM的自动发现和自服务管理操作,可以利用VMware的高级资源管理功能如DRS等并支持集成VMware的各种IaaS服务如VDP备份服务,桌面服务View,PaaS层服务如vFabric数据库服务。

SkyForm Resource Scheduler提供资源管理,资源调度,资源分析等功能。它处理VM的资源分配及位置决策,公有云Cloud Bursting触发并对外提供各种基于优先级/服务能力的资源管理能力,实现上通过实现集中的openstack/cloudstack调度插件完成。Scheduler也提供系统资源容量管理功能,再加上资源请求分析,请求预测功能,试图为企业提供云平台建设投资决策的支持。

SkyForm Application Manager管理云上运行业务所使用的各种IT资源,包括VM/物理机、虚拟硬盘以及网络资源(如VNetWork, VLAN,IP)的资源统计,资源详细列表信息以及资源用途信息(如某个VM作为DB server还是接入server等用途信息)。配合Monitoring as a Service服务和应用性能数据采集技术,可以提供完整的业务资源管理,应用性能管理(APM)解决方案。

SkyForm CMDB设计满足资产管理、CMDB及ITIL相关的需求,它接入RabbitMQ消息总线,监听来自SkyForm Multi-Cloud Engine等其他系统的各种资源生命周期变更事件(如VM的创建/启动/停止/销毁事件和Hypervisor停机事件),维护整体IT资源的关联关系和变更信息。它连接了SkyForm的OS( Multi-Cloud Engine)和管理系统(监控、告警系统),同时也提供API与其他IT系统集成。

SkyForm设计了一个分布式的数据采集、分析、统计框架,提供从物理机Hypervisor,交换机,存储设备到虚拟机的监控、告警支持。从上图可见,SkyForm中包括集中的采集控制节点和采集任务执行器,这样的设计可以有效处理大规模环境下海量数据的采集任务,也能应对复杂网络环境下数据采集和安全的综合要求。采集数据会直接执行各种阈值告警规则的处理,将各种设备包括资源实例的告警统一汇总。告警系统支持外部设备或者系统通过SNMPTrap或者消息主动上报各种设备异常、系统预警事件。为了利用优秀的开源采集监控系统的能力,设计了采集适配器来支持Zabbix等扩充SkyForm的设备支持能力。另外基于OpenStack Celiometer开发了监控服务(Monitoring as a Service),用于用户自定义资源指标和应用性能指标管理。

SkyForm整体架构和实现思路

SkyForm设计过程中详细分析了各种开源云平台技术(详见相关文章《开源IaaS云平台的分析与比较》并吸取了团队成员参与过的多个类似产品的经验和教训,整体架构和实现有如下几个方面的考虑:

1. 分层与SOA设计

系统中明确地定义了Portal与API的接入层,核心IaaS功能层,接口适配层及底层IaaS资源层等逻辑分层,具有功能明确独立的各种服务,如IaaS服务Multi-Cloud Engine,调度服务SkyForm Resource Scheduler,监控服务 Monitoring,告警服务Alarm Service,包括没有在架构图中出现的应用AutoScaling服务和用于解决服务发现和依赖的服务管理功能。

2. 异步事件驱动

异步是分布式系统的典型信息交换方式,SkyForm引入RabbitMQ来利用异步事件的优势。例如,Multi-Cloud Engine接收底层Cloud Service Gateway发出的各种云平台的资源变更事件,如VM的创建,启动/停止,销毁等事件,同时经过转换后对外广播统一的资源变更事件驱动SkyForm CMDB和监控CollectorManager, Collector做出相应地处理逻辑。系统中设计了全局的事件管理功能用于记录各类系统事件(如用户登录,VM操作,系统配置等事件),可以做为资源计量,安全审计,流程追踪等功能的原始信息。

3. 控制流与数据流分离

云平台实际是一个管理系统,包括资源开通流程,资源操作流程等几个重要流程。采用消息总线的设计能够很好地处理这些流程。另一方面各服务间通常管理资源的某个维度的信息,需要保持服务间的关键信息的同步同时对外提供数据查询能力。SkyForm的一个架构原则是,控制流采用异步消息驱动,服务间的数据交换采用Restful API同步完成并辅以异步事件消息做增量更新。

4. 分布式任务管理

SkyForm中两大重要服务组件, Multi-Cloud Engine和监控服务均采用了分布式设计。其中Multi-Cloud Engine采用了无状态的负载均衡设计,监控服务则采用了Master-Slave的主从设计处理采集任务管理并辅以负载均衡模式响应外部查询。一个重要的出发点是基于资源生命周期来自大量用户的多地并发操作互相没有依赖,而监控采集任务有各种集群,地域,网络安全限制需要灵活的全局调度以满足生产环境的各种要求。未来监控系统会引用Gossip和分布式哈希等技术进行架构演进并辅以系统健康保障系统,满足无人值守的超大规模集群和任务管理的需求。

5. 插件化设计

插件化设计是实现异构系统管理的经典实践,SkyForm在Multi-Cloud Engine,性能数据采集,外部告警接受处理上都采用了类似的设计来处理异构多版本IaaS资源池,多类型的采集任务和多样的告警来源的管理需求。

下一步的工作

典型的IT系统通常需要经历建设、实用、维护、调优和再投资等阶段,云管理平台作为新一代的企业IT资源供给技术平台,也需要从IT服务生命周期的角度提供技术支持。SkyForm或类似的基于CloudStack/OpenStack的解决方案为用户提供了建云和提供IaaS层资源服务的技术平台,但用户需要根据自己的业务需求构建合适的覆盖应用的开发、测试、线上管理的应用生命周期管理平台;另外一旦云平台系统上线运行,服务监控、系统调优等就成为日常工作,用户迫切需要一套高自动化水平的运维技术平台。针对这样的事实,SkyForm当前和未来会在应用管理和运维技术上做一定的探索,在这个过程中会引入大数据技术从资源生命周期的维度收集各种相关数据,通过统计分析来为资源调优、资源调度和再投资决策等提供支持。(责编/周建丁)

作者简介:贾琨,云基地旗下初创公司北京天云融创软件技术有限公司产品研发总监兼架构师,2005年开始从事大规模Web服务、HPC/网格及云管理平台等分布式系统研发,历任腾讯Qzone、IBM Platform Computing资源管理调度系统,华为FusionSphere等产品的开发、架构及产品设计工作。精通各种IaaS平台、资源管理、资源调度等相关技术,2010年开始从事OpenStack研发、社区活动,当前主要关注Docker及相关资源管理技术,如Mesos、YARN等。

关键字:SkyForm天云全生命周期管理

本文摘自:CSDN

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^