胥峰:运维最重要技术能力是DevOps偏开发的能力!

来自:新钛云服订阅号(微信号:newtyun),作者:胥峰
胥峰介绍
新钛云服首席解决方案架构师,十二年运维经验,曾长期在盛大游戏担任运维架构师,参与盛大游戏多款大型端游和手游的上线运维。资深Linux专家,拥有工信部高级信息系统项目管理师资格,著有畅销书《Linux运维最佳实践》,译著《DevOps:软件架构师行动指南》是DevOps领域的经典著作。

12月8日运维开发腾讯蓝鲸社区沙龙的大咖面对面环节,新钛云服首席架构师胥峰现场和来宾互动,讨论了三个当前运维的热点问题,本文是精彩互动的文字精华版。


问题一
我这边的问题是这样的,现在公有云有像腾讯云、阿里做这样的云服务商,这块就减轻了运维工作量,但是会产生问题一个问题,比如说之前一个岗位五、六个需要负责,现在只需要两、三个了。如果想从事运维行业的话,后面哪些技术和知识是作为一个运维保证以后不会被淘汰的核心竞争力。

胥峰

这个问题是个非常有代表性的问题。我是这样认为的,不管是运维还是开发,我们的目的是促进公司业务的发展,让我们的价值通过平台和技术发挥出来,把我们的价值体现在公司财务收入中。运维第一个最重要技术能力是开发能力,贴合一点,就是DevOps偏开发的能力。刚才咖啡讲的一个段子很好,如果运维不能登录CRT了,那么是很不舒服的。这个成了在我们脑子里固化的错误认识。


我认为,最终运维应该越来越少地依赖于CRT或登上去做手动操作,应该是把重复性的工作固定到蓝鲸这样的平台里面去,或者是Jenkins这样的系统里面去,将所有的运维能力体现在脚本和程序中,这样可以更加规范地去完成任务。

  

第二个是意识,做技术时间久了,可能会缺少一些东西,那就是软能力,软能力之一就是沟通。沟通能力是非常重要的,包括上下级,包括需求来了以后如何处理,怎样和对方沟通,以前运维是幕后的工程师,前面会对接开发,会对接测试,他们都会给你提很多需求,对于他们提出的需求我们要想想是否合理,是否违背标准和自动化的规范,是否违背了安全原则,是否有安全风险在里面,要和他们进行充分沟通,我们要搞清楚需求背后的目的是什么。我们想想可能它就做一个Web的网站,我们有用Nginx的方案,如果是静态的网站,可以使用CDN,如果是动态网站,则可能需要WAF和安全测评,这就是沟通能力。



蓝鲸掌门人咖啡党(补充)


补充另外三个主方向,第一条是运维开发,运维开发首先是运维开发的工具你得搞定,就是PaaS平台的搭建、维护、管理,还有是运维本身,能做你任何想做的东西出来。


第二条就是数据分析和数据理解这样的能力,通过某种平台的计算给出这样一个结论和结果流。


第三条是向DevOps转型,包括容器管理的技术理念,容器管理的二次开发。微服务改造。你给开发运维说,以后除了传统的资源,我们还提供微服务、容器化的治理框架和容器云。你可以不用,我以传统的方式给你做,或者你用,我告诉你什么样的业务可以用,怎样配,然后你不能直接用的你应该怎样改才算微服务,才能用上去。



问题二
为什么Openstack在中国没有大规模应用,你觉得K8s会替代Openstack从而更好的推广吗?

胥峰

我觉得Openstack社区经过这几年的发展是越来越庞大了,但是里面也有一些升级方面的兼容性问题,包括对技术人员的驾驭能力也有很高的要求,其实新钛云服在云计算方面也是走在了比较前面的位置,我们整个创业团队来自于盛大游戏,在2009年我们就开始在虚拟化研究和商用支持。OpenStack一是对技术人员的能力要求比较高,二是发展方向和版本兼容性的问题。 

 

目前在IaaS方面有ZStack产品,这个产品部署更加轻量级。能否很快地部署上去,也是评价一款产品的标准之一。这套产品就是能让客户很快的拥有相对完整的私有云平台。

  

K8S基于底层Docker容器的技术,这个问题换个角度看就是容器和虚拟机对比的问题。K8S更强调应用的标准化,包括标准化的交付、标准化的运行环境,虚拟机更强调隔离性、安全性。从安全性来说,从容器里面逃逸到主机上,相比较从虚拟机逃逸到宿主机上来说更加容易,从安全性和隔离性来说,K8S和底层的Docker来说是弱于虚拟机和虚拟化这一层的。我觉得在很长的时间内,IAAS层的虚拟化是不会被替代的,特别是在公有云上,或者是对隔离性、安全性比较高的应用场景上是无法替代传统的IaaS虚拟化基础设施的。



问题三
刚才您说的产品底层是基于KVM还是什么?第二个是我们想用私有云,类似于金融云这样的产品,但是使用过程中发现可能包括一些权限、征信的安全高,对于我们开发人员、测试人员不太方便,这个私有云在安全方面有没有基于金融行业,或者是军工安全比较高的需求的考虑?

胥峰

我们底层是支持KVM的,大家有VMware的私有云环境,也可以借助它的接口纳管进来。


关于安全这块,每一个产品都应该强调安全,不管是公有云还是私有云,在我们的生活中也要强调安全,包括信息泄露等。我们的产品在设计的时候,已经把关键安全因素考虑进去了,例如VPC的概念,不同租户的隔离,安全组,这些都是可以进行防护的。另外的防护就是需要从系统、应用、开发、数据进行控制,这块需要有资深的安全专家介入。


您说的这个问题是安全对于开发带来的挑战,这个要取得平衡,在一些核心的领域,我们是要牺牲掉一些便利性重点保障安全,比如说刚才说的金融行业,是可以利用工具和平台规范化,比如说你的发布,比如说DevOps流水线里面很重要的编译、打包、测试、上线,你可以考虑开源的Jenkins方案,也是可以将开发手动介入的成本降低的,将一些需要人工操作的东西固化到系统里面去,甚至是在蓝鲸平台上做一个小的产品就可以实现基础的发布流水线了,像发布就可以完全标准化、自动化起来,也可以把一些安全的机制放到流水线里面去。

推荐↓↓↓
运维
上一篇:大型私有云运维实践 下一篇:RAID磁盘阵列是什么(一看就懂)