QQ截图20150203140554
1 `) b$ X4 R4 ~- X! \& D( A
编者按:作为两大主流开源云平台,OpenStack和CloudStack各具优势。CloudStack安装和部署都很方便,OpenStack框架相对开放灵活,可以根据用户需求方便的进行开发定制。本文中,博主通过自身基于OpenStack搭建公司私有云平台的实战经验 ,对OpenStack实施私有云落地的需求进行梳理,综合产生个人的观点和评价并和读者分享。/ U, i6 W# {) }0 c6 y2 ^2 |: i0 `$ L3 j
之前一段时间的工作,基于OpenStack搭建公司私有云平台。! h6 `9 z6 q0 r
借此机会梳理了一下OpenStack实施私有云落地的需求,以飨各位读者。
' i6 U. Z7 b3 t% Z. v. ?6 ?私有云落地需求:
% S! ~" x4 p+ Z0 u A" |% O1.为公司WEB服务提供弹性负载均衡,降低硬件消耗
" X/ M2 s+ Q7 |3 R2 y- v' q+ B作为互联网服务,在访问高峰时段和低谷时段,流量差异很大,各服务的高峰时段和低谷时段也处于不同时间点上,例如A服务的访问高峰期在晚上8点到11点,B服务高峰期则处于白天10点到15点。
3 T/ `9 }4 v- c8 h- ^+ Q若以传统架构,则需要为2个服务的高峰值准备足量的运算资源,服务器消耗则为A+B所需最大资源,才能保证高峰期两个服务正常运行。换用云平台方案后,可以对资源进行细粒度管理,将物理服务器资源,分解成虚拟机进行资源管理。在A服务高峰期,可以相应关闭B服务相关实例,以减少计算资源消耗。
3 H2 ^3 v; Y3 F+ L0 o/ U/ s$ q线上服务,可以考虑使用虚拟机或容器技术实现。
6 s* D3 v3 L$ ?* B2.为公司研发和测试,提供虚拟机资源
% k- I& v& i$ l; h" S& z' \5 y对于互联网公司线上服务来说,RD和QA都需要一套线下环境,来对真实场景进行开发和模拟测试。7 p# f: ]9 E/ I/ i5 O" l
开发和测试环境,需要完全的隔离,基于此种考虑,使用虚拟机来做开发和测试环境目前是最好的选择。
1 T% h: j' ^' Y3.解决运维部门对资源的分配瓶颈6 h3 F+ ?# k x0 J0 t0 _ n y
有云平台之前,WEB应用的上线和下线,都需要运维人员来部署和回收服务器资源,对于运维部门来说,需要有专人解决机器的安装和配置、DNS设置、前端代理服务器的配置等问题。研发部门则需要在研发流程结束后,进入排单流程,等待运维将机器安装并调试,交付之后,才能进行WEB应用上线。4 s' i' f0 w' }, n# \2 @
云平台可以以模板的形式,将虚拟机做成模板,需要上线的时候,可以迅速以此模板为基础,克隆一台新的VM进行交付。回收资源的时候,删除相应VM即可。! v7 F: y( t" Q- [1 T. o
4.为公司内部提供文件服务器,提供公司内部员工上传和下载文件的权限,用于公司内部文件共享,建立公司内部知识库体系。
- c' c5 j* n6 x& [4 T私有云落地选型9 X9 t: h3 G7 G' k' q
OpenStack & CloudStack
% w( C) b4 L2 n# D3 O* Q+ v作为两大主流开源云平台,OpenStack和CloudStack各具优势。# R0 C( y C' Z. x5 |, L" Q" ?
CloudStack是从cloud.com公司的产品转向开源,从产品化方面来说,本身是个比较成熟的产品,安装和部署都很方便,且提供了完整的升级流程,可以便于将来和社区保持同步。然而随着社区版本的不断更新和兼容各家产品,CloudStack也逐渐变得庞大。以公司搭建私有云落地方案而言,很多功能无用且显得多余。
- ~) o9 Q) B+ p, gOpenStack开放至今,并没有完成产品化发行,优势在于其插件化的框架,因为技术框架允许自由的选择可用插件,私有云落地方案中,可以只选择需要的组件进行安装。因为框架允许插入不同组件,所以OpenStack社区也获得了更多厂商的支持,社区活跃度也比较高。在企业实施落地方案的时候,可以有更多的选择余地,对遇到的问题,也有了更多更快的响应。2 m; `# R) u% z# N, [* r
考虑到将来公司还需要进一步开发所需要的组件,并且需要对云平台进行针对性的调优,例如虚拟机的IO、CPU绑定等操作,而不只是依赖于开源社区的版本,OpenStack的框架则是更好的选择。CloudStack如果进行二次开发,代码未合并入社区版本的时候,升级则需要再次merge代码,重复工作比较多。OpenStack则可以做成插件,在升级OpenStack版本的时候,保持插件的可用。
) o! W3 m! b5 o3 v" C, j由于OpenStack的产品化不成熟,搭建落地到将来的升级,以及后续的二次开发,都需要进行不少的开发和测试人力投入。对于互联网公司来说,因为有着比较成熟的运维团队和研发团队,开发和测试在人力资源成本方面计算,并不是特别大的开销。$ O7 U3 ~) [6 r) Q& }6 x, u2 D* [
最终的选择,更倾向于OpenStack。
9 R" a4 d7 y9 G( B" @KVM & XenServer & VMWare
* s% |+ @! i, W) f& OOpenStack原生对KVM支持更加完善。
" j( ]. P! C. O% W; l C; [KVM也是比较成熟的虚拟化平台,于2006年写入Linux内核,且在Redhat 6以后,转向对KVM的支持而非之前大力推广Xen的虚拟化方案。
2 ~: d D* I3 v1 R8 @6 OKVM相比较于Xen,更小,更轻量级,更方便管理。: }7 l0 M1 o* A, A' i0 M/ O- ~) S
XenServer是Citrix将之前的商业版本开源而来,其产品成熟,功能和管理界面更加友好。但OpenStack对于XenServer的管理却并不完善。+ `5 c: y6 [+ Q! v! ]
VMware是商业软件,在虚拟化平台中,目前应该属于IO和稳定性都最优化的方案。OpenStack中,因为VMware本身提供了相应的driver,对VMware的支持也比较成熟。最终放弃VMware的原因,是因为其授权比较昂贵。! o" x: l3 H8 H4 ?. c1 @
目前暂定的方案,以KVM和XenServer为主,具体使用哪种方案,需要后续进行各版本的测试对比。' s5 ]# S$ g" M/ b
CentOS & Ubuntu7 \0 P/ f6 a) s, i
OpenStack社区对Ubuntu支持比较完善,Ubuntu更新速度快,内核版本比较新,可以支持更高版本的KVM,对OpenStack使用者来说,Ubuntu可以提供更好的性能。
' z$ `1 T( j" `( \就系统的稳定性而言,CentOS来自Redhat商业版本的重新编译,稳定性和系统优化以及兼容性方面,CentOS有着比较完善的测试和发型流程。CentOS 7 以后,也换用了 Linux 3.x内核版本。
0 O5 [. U- y+ v鉴于系统可靠性的选择和之前公司的技术积累,还是选用CentOS系列,比Ubuntu管理更为方便。
G6 I$ J. m' Q" E) X6 \$ v: O5 @结论目前公司选型,基于OpenStack+KVM/XenServer+CentOS6.5/7.0 实施私有云落地。2 V7 q9 I8 H& ]2 T
KVM和XenServer的选择,最终还需要进一步测试才能决定使用方案。 评价个人意见,OpenStack和CloudStack作为两大开源云平台,各自有其擅长的领域。
. u' y7 s7 W% ^* W( Q" |4 TKVM、XenServer、VMware之争也是各执一词。0 L9 c( Q. b: T; N8 T @0 Q+ F
真正选项到实施落地方案,还是要看公司内部技术积累+将来的技术投入+财力来进行选型。 注:相关网站建设技巧阅读请移步到建站教程频道。 |
|