【第二届中国行业互联网大会暨CIO班十一周年年会】刘秋岐:互联网基础平台运维

2016-08-30 15:44:42  来源:CIO时代网

摘要:运维帮联合创始人、第二届北大互联网CIO-CTO班学员刘秋岐在金融分论坛上发表了题为《互联网基础平台运维》的主题演讲。
关键词: 大数据 互联网
  2016年8月13日,由北大信息化与信息管理研究中心、中国新一代IT产业推进联盟主办,CIO时代网、阿拉善盟旅游局、阿拉善盟文旅投公司承办,北达软、网加时代网、转型家、《金融电子化》协办的“第二届中国行业互联网大会暨CIO班十一周年年会&首届阿拉善峰会”在苍天圣地阿拉善成功举办。与此同时,互联网+金融分论坛在阿拉善隆重举行。来自金融领域的专家、知名企业代表和CIO学员们参加了此次论坛,在新一代信息技术的冲击下,就金融行业的最新技术进展、转型方向等内容进行了深刻的探讨与交锋。
 
  运维帮联合创始人、第二届北大互联网CIO-CTO班学员刘秋岐在金融分论坛上发表了题为《互联网基础平台运维》的主题演讲。以下为演讲实录:
 
\
 
  各位老师下午好,我是北大互联网CIO/CTO2班的的刘秋歧,我主要是讲互联网基础平台的运维,我这个题目是姚老师替我想的。今天来了很多前辈,讲的不好的地方,大家多多包涵。毕业后我一直是在互联网公司从事运维相关的工作。先去了搜狗,负责搜狗400台数据库,之后去了南京,负责整个南京的运维,之后去了宝宝树,宝宝树是全球最大的母婴社区和母婴电商,去那做运维这块儿的负责人,现在是创业,做传统企业的互联网的需求。
 
  今天是从9个细分来给大家讲一下互联网运维这块儿怎么玩,分9个方面,首先是运维服务管理,运维服务质量,接下来是我们的互联网运维的网络架构,第三个是互联网服务器选型,第四个是拿到了服务器之后,装机包括我们的基础规划,包括互联网的一些集群高可用、监控甚至主推的各种平台等等的,我们甚至互联网运维这边的组织架构。
 
  一、运维服务质量
 
  我认为运维服务的质量从我认为四个方面,第一个是关键指标,第二点是制定一个内部SLA ,第三点是量化平台的可用性,第四点是我们要对事故定级。我认为关键指标分两个方面,第一个是可用性指标,稳定性和性能是属于可用性指标。第二点是我们的这些指标的安全性。
 
  接下来是内部SLA,SLA就是我在的公司基本上和IDC服务商和包括第三方服务商会签一个协议,SLA中文叫服务等级协议,是第三方服务商和我之间的一个对服务质量,还有对服务类型等的约束,当然我们运维部,每个互联网运维部内部会制订一个内部的SLA是运维所有的运营部门向自己的业务部门或者向老板去做的一个承诺,我能够保证你的网站全年是4个9的可以用,不会出现网站大。传统的互联网这边传统用N个9来量化他的可用性,首先是两个9,我们叫尽可能用,较高可用是3个9,再往上更高走是4个9,基本上我毕业之后,我所在运维团队,我都要求是4个9的,最高是极高可能性是5个9,这个其实是非常的保障,4个9的话,年度的停机时间是53分钟,其实已经很难保障了。大家来看业界网站的可视性有多少, Twitter 在2008年的话,前四个月的可用性只有98.72%,也就是说连两个9都没有达到,整个前四个月的话,可能有37个小时16分钟不能提供服务,电子巨头ebay在2007年可能性是3个9。我在搜狗的话,包括我后来在宝宝树的话,我要保证全年4个9,我先拆分每个月要达到4个9的稳定性,以此作为我们所有人的考核指标。
 
  做运维的难免遇到一些网站的事故,我们互联网这边对运维有的事故要做一些定级,根据系统的重要性,然后根据搜狗的时间和影响范围,甚至有的一些公司会根据他收入的指标对相应发生的事故进行等级划分。前段时间我们互联网这边有的公司叫卖卖,然后他的网站出现了15个小时宕机,原因是他的ITC供应商那边有一个网线被人解了,导致卖卖15个小时不可用,然后导致了损失的是100万以上,然后卖卖就提出来,这对于他们来说这是一个非常严重的事故,然后他们对他们的ITC供应商提出了申诉。第二点,是我们互联网这边的话,都会成立了一个技术委员会。运维这边的话会有一个运维的技术委员会,整个开发团队也有,根据公司大小而定,然后运维这边的话建议是由技术委员会对事故进行定级,并且事故的当事人要确认由事故当事人写事故报告,总结这次事故,然后避免下次再发生。
 
  二、网络架构
 
  下面我从互联这边的技术架构层网络架构讲一下,我们的网络架构设计要遵循高可用,高性能,高安全,可扩展。一旦用户增长起来的话会非常快,第一年人数是100人,第二年是变成了2千人的规模了,我当时毕业到搜狗进去的时候,整个公司才200人,离职的时候公司3千人,互联网公司发展的特别快,对所有的组建,所有的技术架构的每一层组建要求是高可用、可扩展的,并且是快速扩展的!我们这边的话,我就简单讲两点:第一是如何选择ITC,第二是如何选择网络设备。
 
  选择ITC这边的话,我们互联网的考量有四点,第一点是运营商的网络质量。这个网络质量差别还是有一些的。第二点是电和空调,电和空调的话,这个ITC的电是多少安,因为高一些的话,可以放更多的服务器,空调是很重要的考核指标,就这两点,电力和空调这两点的话,我在的公司,有一层是整顿ITC的运营层,都断电了,因为它是单电,断了以后导致很多的网站就挂了。空调这块儿的话,当年是2013年,空调出现了故障,我们搜狗的网站就不断的服务器就挂了,为什么会挂了?因为空调坏了,整个机房的温度会上升,然后CPU会启动自动保护去关闭机器,就发现不断的报警,机器挂了。第三点是考量指标是费用。不同的ITC的费用,价格差距还是比较大的,比如说最贵了世纪互联,还有一些费用之间是有很大的差别的,第四个是服务质量。服务质量那块儿的话,我觉得服务质量更多的是靠口碑,我们运维的人经常聚在一块儿,有一些运维大会,然后我们运维的人聚在一块儿去探讨一下这些东西,然后无意中会提一下哪家ITC服务质量好,哪家有问题。
 
  然后如何选择网络设备,我第二节内容是网络架构肯定要谈到了网络设备,网络设备这块儿的话,主要是两点:第一点是满足链路中位置需求,比如接入层链路的链路收敛比为下行,如果下行带宽是4GB,上行带宽是1G,那么收敛比满足4:1。第二个点是满足业务需求,比如说我的某个交换机只有8G的限速的交换能力,那么收敛比就是3:2,这块太技术了。我讲的太技术的东西就跳着讲的比较快,因为大家都是管理层的人,听技术细节可能不是很关心。互联网这边的网构架构如果说有能力的公司,比较大一点的公司都会采用多机房,就是多IDC的架构,一般我们网络架构机房之间的通信是两个面,一个专线的通信面,一个是VPN的通信面。因为专线比较贵,我们设置VPN的面是防止专线出问题之后把它切到VPN的面上。大家知道中国网络现在发展也比较好,不断的会有网络施工,不小心蓝翔的挖掘机给你一挖,有些东西就断了,那么两个IDC没法儿通信会导致很多问题。所以我这里举了个例子,比如我有华东IDC、华北的还有华南的,这三个IDC是有一个专线串在一块,也有VPN的线路。VPN平面的话一般是结点之间建立电信和联通的两条VPN的链路。画一个更详细的图,就是说专线平面是要形成一个环,比如说三个IDC之间是用三条a、b、c专线视频连成一个环形的,华南到华东的专线传输通过a电路,当a电路发生异常中断之后秒级切换成b和C走环形过来也是可以的,就是华南到华北再到华东。当然了专线有可能会出现问题,专线出现问题之后,实在没办法,整个专线平面挂掉了,那就切到VPN平面,VPN平面也是一个环状链路,当专线发生异常中断可以切到VPN平面。
 
  三、互联网服务器选型
 
  互联网这边服务器的选型我认为有两点,一是在厂商和机型方面要做减法。第二是根据服务器类型购买硬件,我说的类型是指服务类型。首先我说一下为什么要做减法?因为我接触的很多厂商企业,接触的国家电网,我给国家电网也做过项目,接触过连锁,是一个西南地区最大的商业超市,他们有400多家大型超市,也是A股上市公司。我还接触了一下中国银行,他们里面的机型比较多,比如说小机、大机还有操作系统,操作系统版本有Windows,Windows2003、2012、2008,还有linux4,等等,就是他们的操作系统、机型都很复杂,结果导致我的团队去给他们做项目时遇到了很多问题,就很痛苦,并不是技术层面的,而是一开始没有对机型做统一。而互联网这边怎么做的?厂商基本上就那么几家,要么是戴尔,以前还有惠普,但现在基本上都是选戴尔。厂商或者说百度、阿里,他们直接是选浪潮,支持国产。浪潮也是按照他的要求给他篡机器。机型就几种,我们是根据服务类型,比如说前端服务器就买前端服务器对应的服务器,存储可能要求的是高IO,但是低CPU、低内容,存储量大的,那我买的服务器就是支持硬盘插槽非常多。数据库是高CPU、高内存、高IO的,所以我对数据库的机器要求可能又是另一种类型。总之根据这几种服务类型会定出六种服务器,全年一直买这六种服务器,不会买很多。这样做的好处是什么?最后做平台统一、平台规划、自动化的时候是很方便的。
 
  四、自动化装机
 
  然后我们互联网运维这边拿到服务器之后会做自动化装机,就是我可能有三个机房,华东、华南、华北,我通过PXE、DHCP、labOS直接自动化装机了,插上网线就自动装了。这是我带过公司的一个自动化装机的平台界面,就是机器插上网线之后自动识别IP、自动装,后面有进度条。根据不同的业务、不同类型服务器、需求,会有自动化装机的模板,直接套模板用鼠标点就可以自动化装了。
 
  五、基础服务规划
 
  装了机器,要对基础服务进行规划,比如说一个机房肯定要有一个nppService,要有一个DNS Service。npp是需要时间的,DNS就是做域名解析的,监控的服务器,还有nat服务器,还有log,就是我要收集很多日志,把日志汇总到日志服务器上。互联网这边如果多机房的话我不会在每个机房部署这么多类型的服务器,比如说DNS一个机房就两个,主备。接下来互联网这边,因为它的量比较大,它可能就没有大机,它全是X86PC服务器,基本上都是靠集群路撑。集群的话,我们最常用的就是三种集群:Web集群,接收所有客户的HTP请求的,接下来WebHTP请求往后面转发的时候就到缓存的集群,Web集群常用的软件是恩里克斯和阿尔怕奇。恩里克斯是100欧的,性能会远好于阿尔帕奇。所以阿尔帕奇慢慢的被大型的互联网公司干掉。数据库集群主要用Mysql和NoSQL的。数据库这块,传统企业都用Oracle,现在也慢慢用一些Mysql,但互联网这边,因为互联网公司没有钱,互联网公司一开始都是拿资本的钱去培养用户、培养市场,所以一开始干什么事都是追求开源,开源就是免费,各个方面花钱都很谨慎,预算非常少,所以全都是开源软件。
 
  六、集群和高可用
 
  因为我们是集群,所以我们要对所有的集群做高可用,我们的高可用的一些方法是什么呢?网络四层、七层我们用LVS,基本上实力技术好的公司他的高可用都是用自己的开源软件的,但是也有一些,可能还没有发展到很大的公司,可能会买一个接入的负载均衡设备,比如说F5、V10,但是大的一些互联网公司基本用LVS做前端的负载接入。接下来去做一些高可用。HTP高可用。然后对数据库层,有Mysql实现数据库的高可用。
 
  七、监控
 
  接下来要讲到运维领域老生常谈的问题。这个在互联网领域也是普遍非常重视的,就是监控。我们是如何做监控的?监控分几个层面,一个是网络层面的监控,二是服务器层面的监控,三是针对日志的监控,四是监控策略是什么,最后我要介绍一下互联网这边用的监控工具有哪些。
 
  互联网公司网络层面基本上监控网络的联通性、流量,包括CRC错误。服务器层面就是监控硬件和系统的性能和常规监控,就是说越拧越坏,有没有问题,系统的内存现在占比多少等等。日志就是海量,因为互联网首先它的HTTP的服务器,比如ELK、Spark ,会收很多日志,互联网这块也会在页面里面种很多GS,通过GS收集用户的行为习惯,会产生大量的日志。而这么多日志我们要收集上来,然后做分析,分析就是Hadoop一套,也是一个开放式组件去对用户运维的行为等等运维的行为日志进行一些汇总分析。报警这块,以前都是email+SMS,就是靠发邮件或者发短信。现在互联网都流行玩微信,最近给一个哥们儿的公司上了一个微信套餐,他说有时候报警多的时候就把手机搞没电了。监控工具这块,刚毕业的时候对nagios,但是现在互联网这边企业基本上都转成zabbix ,它是一个可以自动发信的监控工具,也是开源的、免费的,就是一套软件,大家可以下载。一搭建,配上模板就行了,并且它的监控力度还很细,支持到秒级。就是分工级监控,但是可以细到一秒,每一秒监控一次。网上也开源了很多模板,大家可以直接下载。互联网这边啥都是开源。但正是因为这种开源力量而导致开源这块做的还可以,包括很多开源软件经过十多年的发展,基本上坑已经被大家踩完了。
 
  八、运维平台
 
  为什么会有运维平台?传统企业把运维平台叫ITSM。叫IT的系统管理。我刚毕业,在搜狗,我们的老大就说我们一定要搞运维平台,我们要往运维平台攀登,我们的理想是什么?理想是不再面对黑屏,我们所有操作在白屏上操作,这是我们的理想。好象现在也能实现啊。他们的上限可以通过把代码包上传到Web界面,运维拽着Web界面通过一个flash,上线完了。百度前几年就实现这个事了,百度那套东西叫诺亚。现在互联网运维这块比较流行说,运维自动化,就是解脱运维,让运维每天都开心一点,不要被报警所骚扰。所有发生的故障能够自动恢复,或者智能化的,它把故障恢复掉。白屏化操作,如果你的运维平台发展的不错,可以避免手动的在终端上敲命令,避免产生协同内容,因为白屏做不好的话就会把安全控制,权限控制也做的非常好,就会减少故障率。
 
  九、组织架构
 
  最后讲一讲互联网运维的主架构。首先我们大的公司,我说的这个大的公司就是500人以上的互联网公司,业务如果做的还不错,都会有一个运维部,运维部可能底下分几个组,首先是业务运维。业务运维是干什么的?就是负责代码发版的,做灰度发版的,带业务的代码上线。接下来会有一个网络和系统组,网络和系统组是去把买来的服务气上线,对服务器装机,并且对机房内所有网络做维护。接下来还会有安全组,去做一些安全响应。还有一个开发组,运维里面也有一个开发组,他是开发运维的平台、运维的系统。就是这个运维系统反过来要给一些运维工程师用和开发工程师用。比较大的公司会有一个研究和支持的小组。这帮人搞研究,天天研究新的技术,让自己的运维更加牛掰。
 
  讲完了,因为我看大家都是做金融的,也都讲了一些很高大上的东西,我就把互联网运维的今生前世包括整个发展,实际的一些线、实际一些情况,拉出一个线条给大家讲讲,也没有讲特别深,就是存在中层面去讲很多细节的东西。如果说大家对互联网运动员,对队伍特别关注,想要探讨的可以加我微信,咱们私下再交流。我现在在创业,跟好多传统企业做了交流,但是如果说有运维方面的一些东西,要跟我交流的话我可以把互联网这帮技术大咖带到公司去,面对面做一些更深层的交流,包括我也给传统企业做一些互联网+本身的问题,大家有兴趣的话可以加我微信,咱们私下再聊。谢谢大家!

第三十届CIO班招生
法国布雷斯特商学院硕士班招生
北达软EXIN网络空间与IT安全基础认证培训
北达软EXIN DevOps Professional认证培训
责编:刘秋岐