运维需要掌握各个方面的技术和知识,如何才能少走弯路?在CDN做运维和在电子商务网站做运维有什么不同?在本次人物访谈中,我们邀请到了资深项目管理工程师余洪春(抚琴煮酒)跟我们分享他的一些经验心得。
人物简介:抚琴煮酒在2005年开始正式进入企业网管的岗位,在2007年到2009年之间在北京3158维护CDN系统,后来回到武汉某外企任职高级Linux/Unix系统管理员、项目实施工程师,负责电子商务网站维护、内网开发环境部署、以及技术研发支持等工作。最近加盟新组建的电子商务网站一拍网,担任系统架构师一职。
提问:首先介绍一下您现在的情况吧。您现在加盟一拍网,主要还是负责电子商务网站维护、内网开发环境部署和技术研发么?
抚琴煮酒:主要是负责电子商务网站维护和技术研发。由于是小公司,所以不存在内网开发环境这块,程序这块我们全部外包出去了;公司没有程序员,肯定就不存在内网开发环境这一说。
一拍网的网站架构现在是我在设计。一开始预算不多,前期规模不会很大,后期我会再增加四台web服务器和四台squid反向加速服务器,全部用二手的2950,这样性价比最高!
提问:也就是相当于现在更多还是偏向于生产环境运维这一块了。从酒哥的经历看来,您自己对Windows、Linux/BSD服务器,网络以及数据库都有所涉猎。学了这么多方面的东西,您觉得从2005年正式开始转作企业网管到现在,发展的过程中有没有哪些走了弯路的地方?
抚琴煮酒:我感觉在工作中有二个方面花了不少时间和精力,但收益非常之少;
一个方面,我有段时间很喜欢研究别人没研究过的东东,比如DDNS,花了不少时间和精力做出来的实验却没法在生产环境中应用,还有samba结合域控等,我也想提醒大家,建议大家学习和努力的方向,应该是生产环境下能用得着的,大家真正在企业做事,领导真正看中的是你的经验,即你能够迅速投入生产环境的技术,而不是你会什么能什么;
第二个方面,我花了接近一年时间从事RHCE和Linux方面的教学工作,虽然认识了不少朋友,也拓宽了自己的职业发展方向,但我个人觉得,这种工作性质跟我目前从事的项目实施工程师还是很有距离,做讲师虽然是一个知识沉淀的过程,但由于接触不到生产环境,技术退步的反而性可能更大。
提问:就是说如果希望在项目实施工程师方向成长,最有效的方式还是尽可能的多参与生产环境的项目,这样才能知道企业真正需要什么技术么?
抚琴煮酒:恩,如果对自己有要求和不怕辛苦的话,建议多参加生产环境的项目实践,这是一个方面。第二个方面建议在一些大公司和门户网站做事。因为如果没有足够大的并发环境,许多开源的新技术都用不上;大家现在可以关注下淘宝的新架构,用了不少自己开发的新技术,这个也是我们应该关注的。企业真正需要的并不是什么技术,它需要的是能做事的人,特别是能够为自己的公司节约钱的人,这也是现在Xen虚拟化和集群如何流行的原因之一!
提问:刚好您说到节约钱,那我就先顺便问一句:酒哥有没有遇到过老板出于成本考虑不愿意添加服务器的情况?
抚琴煮酒:这种情况居多啊。像我现在做的许多小网站,就是因为客户不愿意增加服务器,逼得我用HAProxy做1+2的架构;而公司用的测试服务器就不说了,经常是组装的服务器,装个VMware ESXI都装不上,所以我只有花许多时间来测试VMware Server和思杰的XenServer5.6!
提问:难怪酒哥把各种虚拟化都试用了一圈。那么回到之前走弯路的那个话题。比如酒哥在07-09年间在北京3158负责维护CDN系统。那么07年之前,您对CDN系统有什么样的理解?然后现在您要总结的话,维护CDN系统都需要哪些技术?
抚琴煮酒:CDN主要是用来解决高并发和南北互连的问题,南北互连的问题即电信和网通之间的问题,CDN维护的技术含量非常高的,我觉得应该至少具备:
一、极熟悉linux/FreeBSD系统,我希望这方面的经验至少是3-5年以上的,因为很多时候我发现,CDN系统都是基于FreeBSD的;
二、极熟练的配置Linux的集群技术,比如LVS/Nginx/HAproxy,还有F5等硬件负载均衡,软件级别的负载均衡我希望大家能到一个比较精的水平;
三、了解squid和varnish原理,能够熟练的配置和优化它们;还有Nginx,这个是基本功,这一点是玩CDN中最重要的,尤其是squid的优化。
四、bind的智能view搭建和维护,这个不多说了,基本功;