与互联网公司人员交流,很多公司会选择云服务器,有些公司也会选择自建部署私有云,那么我们的互联网项目在服务器的选择上,我们如何着手?
在过去5年,公有云市场犹如狂风卷大浪,席卷了互联网市场的大部分计算需求,很多公司都会考虑项目“上云”,觉得简便、快速。一般来说,互联网项目创业初期,大概几个“4核16G”左右的服务器,就能解决创业初期的需求,能完成软件架构的基本部署,非常好的支持了项目初期的发展。在项目市场初步推广试水完毕后,面临着访问量上升的情况,这个时候,就不是4核16G能解决的问题,如果是直接横向扩展,必然面临着成本的直线上升。
企业自己购买服务器,以基本“CPU-2670V2*2、内存256g - DDR3,REG-ECC-1866MHZ,3.5寸-15K-硬盘600g*4-RAID10”普通配置来计算,CPU-2.5G-20核-40线程,256G内存,1000G存储空间,可以在算力上满足很大的突发需求。一般BGP机柜托管成本大约1200元/月/台,那么首年成本大概是2.5万元/台含基本带宽,第二年大概是1.5万元/台含基本带宽,也就是第二年只有机房托管的月成本。多台服务器硬件采用openstack(KVM、QEMU)虚拟化或者 Rancher(docker)虚拟化做私有云管理平台,做到资源共享和故障转移,在面对业务突发方面,计算能力上的支持会强很多。
一般发展初期过后的互联网企业在互联网项目的部署需求上,会考虑以下几个方向:
1、 成本
2、 支持业务突发能力
3、 稳定性
4、 安全防护
在成本方面,与服务器等硬件需要多少台有关系,需要多大计算能力有关系,基本有几个方向,CPU计算能力、内存大小和IO、磁盘IO能力、网络IO能力。那么企业自己独立占有的服务器硬件,是完全拥有计算能力的。
在支持业务突发能力方面,CPU硬核心、多线程,面对大量并发的时候,要求计算速度快,流水线多,能1秒内完成的工作就1秒内完成,避免拥堵积压。
稳定性方面,硬件的可靠性是重点,但是再好的硬件也有宕机的时候,那么虚拟化管理软件就比较有管理优势,迅速的在存活的机器上把服务拉起来支持业务开展,显得尤为重要。
安全防护方面,企业一般无法独立完成,一般采用服务商的DDOS清洗。现在各IDC机房基本都能完成流量清洗,而且流量清洗是骨干网清洗或者源头清洗(源路清洗),也就是流量到达机房前就清洗,不然整个机房会出现堵塞。CC这个情况一般需要互联网企业对用户访问做进一步识别,然后在项目架构的负载均衡单元前端做阻断。市场上,云服务商会提供类似DDOS防护服务,自购服务器托管的可以由托管机房处理DDOS。CC则需要企业自己做深入调试,甄别用户访问行为,避免前端负载均衡单元做误处理。
自购托管,以5台服务器硬件为例:
CPU:200线程,2.5G
内存:1280G
硬盘:5000G
成本:5台硬件购买加机房托管。第1年成本大概15万元,第2年成本大概是8万元/年,第3年成本大概也是8万元/年。前3年的企业拥有成本大概是30万元。且企业能独占服务器硬件的计算能力,后期进一步可以扩展服务器的内存及硬盘,而且企业可以拥有固定资产。
公有云与之相对应,公有云需要4核16G的云机50个到80个,成本大约30万元/年到48万元/年,后续每年的成本都是30万元/年到48万元/年,前3年的企业拥有成本是90万元到144万元。
注:50个是按CPU算,80个是按内存算。
那么,从企业前3年的拥有成本来计算,一目了然。
那么,公有云是不是就不可取呢?当然不是。在互联网项目初期,公有云有时间成本上和计算资源成本上是有优势的;在互联网项目发展期,在企业自有服务器的基础上,面对公司项目的访问量突增或者短期的市场推广行为,公有云是可以快速的开启,去应对突发突增访问量的,相关访问量完毕后,则再做进一步考虑。
那么私有云(也可以称为:企业级虚拟化),要自建两个部分:
第一个部分,譬如要采用Openstack(KVM、QEMU)虚拟化 或者 Rancher(docker)虚拟化做私有云管理平台,达到管理资源共享和实施故障转移的目标,这个目前在开源软件上越来越成熟,如下:
Openstack(KVM、QEMU)相关的开源项目如下:
Mirantis-Fuel9.0:https://www.mirantis.com/software/openstack/download/
Redhat-RDO:https://www.rdoproject.org/install/packstack/
Docker 相关的开源项目:
Rancher(Docker):https://github.com/rancher/rancher
Wayne(Docker):https://github.com/Qihoo360/wayne
第二个部分,是要做一套负载均衡前端,譬如有检测后端存活、有过滤URL方面的不良访问等功能,可以采用如下开源项目:
Tengine(Nginx):http://tengine.taobao.org/
Kong(Nginx):https://konghq.com/install/
还有一些开源项目可满足其他方面的需求,这里就不一一列举了。
终归来讲,企业采用公有云还是私有云,具体看企业对服务器等计算能力方面的评估。如果企业对计算能力或者功能方面要求比较多,那么私有云加公有云是不错的选择;如果企业是发展初期,项目还在开发测试阶段,或者试水阶段,那么使用公有云可以降低企业成本。如果企业有其他一些特殊的要求,譬如金融行业,就另当别论。
请关注微信公众号“运维沙龙”,
或者加QQ群216589280
欢迎大家参与技术讨论。
“运维沙龙”现征集技术文章,
因为会以您的名义发布,所以请您署上您的名字。
(当然您也可以选择匿名)。
也可以带上您的照片和简历,只为更方便分享技术经验。
来稿请邮件发送到:emailtoyou@qq.com,
或者加QQ好友:77810419
谢谢您的支持!技术世界有您真好!
长按二维码、扫码关注微信公众号“运维沙龙”

文章来源于网友投稿、网络转载、自写自撰等,
如果有争议请联系。




