CloudStack vs OpenStack Fred Liu
Status Survey done by Zenoss 2012 Q3
What to compare? Survey done by Zenoss 2012 Q3
项目历史与运营团队 CloudStack 2008 年由 Cloud.com 开发, 有商业和开源两个版本 开源版本采用 GPL v2 license 2011 年 7 月 Cloud.com 被 Citrix( 思杰 ) 收购,CloudStack 全部开源 2012 年 4 月 Citrix 将 CloudStack 贡献给 Apache 基金会, 改为 Apache 2.0 license OpenStack Rackspace 和 NASA 合作研发,2010 年 10 月开源, 采用 Apache 2.0 license 2011 年 Rackspace 宣布成立 OpenStack 基金会, 将 OpenStack 贡献给该基金会
Apache 2.0 Apache Licence 是著名的非盈利开源组织 Apache 采用的协议 该协议和 BSD 类似, 同样鼓励代码共享和尊重原作者的著作权, 同样允许代码修改, 再发布 ( 作为开源或商业软件 ) 需要满足的条件也和 BSD 类似 : 需要给代码的用户一份 Apache Licence 如果你修改了代码, 需要再被修改的文件中说明 在延伸的代码中 ( 修改和有源代码衍生的代码中 ) 需要带有原来代码中的协议, 商标, 专利声明和其他原来作者规定需要包含的说明 如果再发布的产品中包含一个 Notice 文件, 则在 Notice 文件中需要带有 Apache Licence 你可以在 Notice 中增加自己的许可, 但不可以表现为对 Apache Licence 构成更改 Apache Licence 也是对商业应用友好的许可 使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布 / 销售
CloudStack Release History In July 2010, Cloud.com became one of the founding members of OpenStack In October 2010, Cloud.com announced a partnership with Microsoft to develop the code to provide integration and support of Windows Server 2008 R2 Hyper-V to the OpenStack project. CloudStack Release 2.0 June 17, 2010 2.2 Feb, 2011 3.0 March, 2012
OpenStack Release History
社区发展
社区发展
系统比较 通用虚拟机网络存储 Hypervisor CloudStack OpenStack XenServer,XCP,OVM, vmware,kvm,bare Metal XenServer,OpenXen,OVM,vMWare,KVM,QEMU,LXC(Linux Container) 数据库 MySQL PostgreSQL MySQL SQLite 组件 Management Server Usage Server Host Agent (KVM/OVM only) System VM VirtualRouter Nova Glance Keystone Horizon Swift Qutumn Cinder 编码 Java Python, 各模块独立 动态资源调配动态迁移无, 但可以通过 Nova-Scheduler 实现 服务方案 有 (Compute Offering) 有 (Flavors) 主机选择策略 5 种分配策略 3 种分配策略 虚拟机模板 支持 支持 VM Console 支持 支持 备份与恢复 硬盘快照 实例快照 ( 硬盘 + 内存 ) 卷快照 ( 硬盘 ) 网络形式 ISOLATION(VLAN) VLAN SHARE FLAT,FLATDHCP Load Balance 内部软件负载均衡 (VR) 内部软件负载均衡 (Nova-Network) 外部硬件负载均衡外部硬件负载均衡 VLAN 有 有 存储分级 主存储二级存储 无 VM 镜像使用设备 模板 / 快照使用设备 NAS,iSCSI, FC-SAN,Local Disk Ceph(KVM) NAS, 后端可接 Swift Swift Local file system S3 Http(read only) 用户界面 功能完善 简单 告警机制 有 ( 灵活可变的告警阈值 ) 无, 依赖第三方软件 版本问题版本发布较稳定, 不存在版本兼容性问题版本发布快, 存在各版本兼容性问题 部署运维 最小化部署一个管理节点, 一个计算节点 All in One(Nova,KeyStone,Glance 组件必选 ) 高可用 Management Server Cluster DB replication 不同组件有不同的方式 BSS Usage Server, 定期收集资源使用情况无, 依赖第三方实现
用户界面 CloudStack
用户界面 OpenStack
权限管理 CloudStack 由管理节点统一管理, 分为 Domain/SubDomain/Account/User, 树状结构 Account 属于某个 Domain 或 SubDomain,User 为 Account 的别名不同 Account 的资源相互隔离, 同一 Account 的不同用户共享同样的资源 Project 中可包含多个 Account 的资源 OpenStack Keystone: Tenant(Project), User, Role 每次通信之前, 都会进行 keystone 验证
Virtual Machine Manager Storage Manager Network Manager Console Proxy Manager Snapshot Manager Async Job Manager Template Manager 系统架构 CloudStack EC2 CloudStac k API Layer Access Control Pros Agile development for existing developers Scales well horizontally Cons Monolithic Difficult to educate new and third-party developers Easy to introduce bugs Agent Manager Xen Server Resource KVM Resourc e SRX Resource F5 Resourc e NetScal er Resourc e Other Resourc es 14
系统架构 CloudStack(New Architecture) Scales horizontally to different pressure points Automatically scales service VMs in zones to facilitate most efficient data path transfers Fault isolation between API servers and Execution servers and resources within zones
系统架构 OpenStack 16
系统架构 OpenStack
部署方式 CloudStack
部署方式 OpenStack
规模部署 OpenStack 使用 RabbitMQ 来做消息通信, 有人提出在 100 个节点的规模下, RabbitMQ 有出现问题,Joe 表示 SwiftStack 使用 zeromq 代替了 RabbitMQ; 如果要大规模部署, 可以将每个 zone 作为独立的单元进行部署, 各自独立运作, 在上层构建另外一套调度系统 CloudStack 10k resources managed per management server node Scales out horizontally (must disable stats collector) Real production deployment of tens of thousands of resources
主机选择策略 CloudStack/OpenStack
网络架构 CloudStack
网络架构 CloudStack - Multi-tier network Public Network/Internet Public IP 65.37.141.111 Public IP 65.37.141.112 Firewall LB Virtual Network 10.1.1.0/24 VLAN 100 Private IP 10.1.1.111 Private IP 10.1.1.112 10.1.1.1 10.1.1.3 10.1.1.4 Web VM 1 Web VM 2 Web VM 3 Virtual Network 10.1.2.0/24 VLAN 1001 10.1.2.21 10.1.2.18 10.1.2.38 10.1.2.31 10.1.2.24 App VM 1 10.1.3.21 App VM 2 10.1.3.45 Virtual Network 10.1.3.0/24 VLAN 141 10.1.3.24 DB VM 1 10.1.1.5 Web VM 4 10.1.2.39 DHCP, DNS User-data CS Virtual Router DHCP, DNS, User-data CS Virtual Router DHCP, DNS User-data, Source-NAT, VPN CS Virtual Router Public IP 65.37.141.115
网络架构 CloudStack - Multi-tier unified [vision] Internet IPSec or SSL site-to-site VPN Load Balancer CS Virtual Router / Other Customer Premises Monitoring VLAN Virtual Router Services IPAM DNS LB [intra] S-2-S VPN Static Routes ACLs NAT, PF FW [ingress & egress] BGP 10.1.1.1 10.1.1.3 10.1.1.4 Web VM 1 Web VM 2 Web VM 3 10.1.2.31 10.1.2.24 App VM 1 App VM 2 10.1.3.24 DB VM 1 10.1.1.5 Web VM 4 Virtual Network 10.1.1.0/24 VLAN 100 Virtual Network 10.1.2.0/24 VLAN 1001 Virtual Network 10.1.3.0/24 VLAN 141
网络架构 OpenStack Nova-Network
网络架构 OpenStack - Quantum Quantum plugin Open vswitch - Builds isolated networks with OVS and L2-in- L3 tunnel Cisco UCS - Isolation based on VLAN and net-profiles applied to Cisco UCS converged network adapters Linux Bridge - Build isolated networks with VLAN interfaces and linux bridges - Works with every Linux Distro NTT-Data Ryu - Acts as a proxy for the NTT Ryu platform Nicira NVP - Acts as a proxy for the Nicira NVP platform
存储 CloudStack 分级架构 二级存储 NAS, 后端可以 Pass-through 给 Swift 主存储 现有的存储设备, NAS,Iscsi, FC-SAN,Local Disk, Ceph (CloudStack 4.0) * Qemu on the Hypervisor has to be compiled with RBD enabled * The libvirt version on the Hypervisor has to be at least 0.10 with RBD enabled S3 Like 集成 Caringo, 提供 S3 功能
存储 OpenStack -- Swift (Object storage)
存储 OpenStack -- Cinder (Block storage)
高可用性 CloudStack
高可用性 OpenStack 组件依赖组件模式 Nova-api 无 每个节点可运行自己 的 nova-api, 负载均衡 Nova-scheduler 无 每个节点可运行自己 的 nova-scheduler Nova-volume 暂无 HA 方案 Nova-network 无 2 种方案 KeyStone Glance Swift Pacemaker,Corosync, OCF Agent Pacemaker,Corosync, OCF Agent 本身就是分布式存储, 不需要自己添加 HA RabbitMQ 需要持久化到硬盘主被 主备 N+1 N-N 等多种模式 主备 N+1 N-N 等多种模式 无中心节点, 高性能, 无瓶颈
Why we choose CloudStack? 产品成熟度 CloudStack 全球商用案例超过 100 个, OpenStack 不到 10 个 ( 不包含仅用 OpenStack Swift 存储模块 ) 社区管理 CloudStack 是 Apache 基金会项目, 作为全球最大的开源项目管理基金会, 我们更相信他们对开源项目的管理能力 OpenStack 是由 OpenStack 基金会董事会管理 开发语言 CloudStack 采用 Java,C OpenStack 采用 Python
Contact us www.tcloudcomputing.com.cn elaster@tcloudcomptuing.com