写点什么

快意 IT 江湖 20 年,砥砺运维开发之心得

  • 2016 年 11 月 23 日
  • 本文字数:5028 字

    阅读完需:约 16 分钟

编者按

二十年,是一个什么概念?

对于中国互联网,过去二十年是个从无到有并且不断完善的时期。自 1994 年中国科学院高能物理研究所设立第一个国内 Web 服务器之后,互联网开始走进大众生活,1996 年底互联网用户达到 10 万,2016 年目前我国网民规模达到 7.12 亿。这二十年间,网民规模增加了 7000 倍,中国的网络使用普及率达到 51.7%。这个数字,比全球平均水平高 3.9 个百分点,比亚洲平均水平高 10.1 个百分点。

而对孙虎先生,过去二十年里他一直在 IT 领域工作,目前是 1 号店的平台保障部总监。从最初在银行工作,再辗转蓝点、腾讯和盛大,到现今的 1 号店,在这二十年的大环境发展中,他见证并经历了许多;从技术新人变成团队 leader,他积累了丰富的运维、研发和管理经验。“好日子,慢慢过”是孙虎先生的个人签名。那他怎样看待过去的这二十年,这些好日子他是怎么度过的?回望过去,他对个人、对职场生涯和对行业的心得有哪些希望和大家分享?带着这些的问题,InfoQ 与孙虎先生进行了采访沟通,并将文稿整理如下。

技术生命线之简单回顾

我 1996 年参加工作,在银行系统从事系统管理和软件开发工作,从那时开始便和运维开发结下了不解之缘。 最早的这三年多时间算是打基础的阶段,在银行系统,从事对数据库、unix 系统相关的运维和开发。

2000 年我独自到深圳闯荡,先后在蓝点、腾讯等公司从事研发工作。 在蓝点属于技术提升阶段,主要深入了解 Linux 和网络,研发一些网络安全相关的产品。 腾讯工作则拓展了视野,工作上涉及对海量用户 IT 系统的架构设计、运维开发,这个阶段接触到不少和海量用户、数据打交道的项目。另外,我很喜欢腾讯的人文关怀,也努力将这种氛围带到其他地方。

在深圳工作 10 年后,我于 2010 年携家带口来到上海盛大。 除了从事基础服务和运维的研发外,也负责 POI、数据等运营。对于这个阶段最大的体会是好的机会需要坚持,当时做过的旅游、LBS、O2O 等产品都挺不错,但转变方向太快, 如果能坚持一两年,收益会非常可观。

2012 年 8 月来到与盛大同在张江的 1 号店,开始创建运维开发团队,经过不到四年的发展,1 号店私有云从无到有从小到大,运维开发团队从 2、3 人发展到近 20 人,一粒种子成长为小树。 现在我的团队是平台保障部,整个部门除了实现平台研发工作:为公司提供运维自动化、SOA 基础架构和办公自动化服务外,还需要负责全公司的监控、质量保障、测试、应急处理等。平台保障部属于一个大部门,我负责的部分包括下面绿色框线中部分:

除了这几块具体业务,我还负责包括应急指挥中心(一个虚拟团队,由值班员、值班经理、系统咨询、架构、各业务组成)和演练,近期开展了交换机切换、大促缩容、流量切换等演练,目的是通过演练发现潜在的问题,让我们的业务更加健壮。

从无到有建立运维开发团队

回想 2012 年 8 月刚到 1 号店的时候,除了一款被吐槽的发布系统,没看到什么运维工具,大家运维得很辛苦:发生问题三更半夜起来处理是家常便饭,不光是运维同学出面,而是各团队都要来参与处理;人多情况比较乱,大家的意见也各不相同,半夜里有的要求回滚,有的凭经验要重启应用,有的建议查看 DB。

当时做发布系统的同学刚离职,负责维护的两位同学也感到很迷茫,其中一位刚毕业一两年,感觉玩不转了。发布一次之后发生故障概率很大,有时出了问题回滚,居然回滚了几个小时,结果大家宁愿手工发布也不愿意用发布系统。

虽然是一头黑线,但是也要上啊。 我花了几个通宵时间,把发布系统所有的问题汇总并且归类,包括发布系统自身的、业务的、操作的等类别,然后和各个对应的团队沟通改进方案, 内部也就 DevOps 的理念进行交流引导。为什么要需要各个团队的参与?因为如果发布不够高效稳定,受到影响的包括运营、研发、测试、产品、运维各个团队,最终会严重影响业务的正常运转和特性的快速迭代。最后通过各团队的一致行动,我们终于在两周多的时间内稳定了发布系统,也就奠定了现在的运维开发团队。

当时还没有私有云的样子,在监控选型上也有些不同意见,有的希望完全自研,有的要求不要给业务研发看到,有的认为只要用开源的即可。 结合当时的人员状况和公司的实际,我采用了开源 + 少量自研的方法,并倡导全员监控的理念,得以在较短时间让各团队都用上了方便的监控。 有了发布、监控能力之后,对基础数据的要求越来越高,领导对我们的支持力度也在加大,我们得以有机会开始建设私有云的第一个版本,涵盖 CMDB、装机、发布、监控、配置管理等。 随着产品越来越丰富、用户越来越多,我们开始了对各产品进行优化美化,通过 API 方式打通内外平台系统,逐步发展成了现在的乐道云平台。 我们选择乐道这个名称,有三个含义:快乐运维之道、安贫乐道、津津乐道。

目前 1 号店的技术团队大约 1000 人规模,为全国几千万用户的购物提供强大技术架构、研发和运维服务。 我负责的运维开发团队有 20 人,与其他团队密切配合(运维、研发、架构等),高效管理上万台设备的平稳运行。其他团队主要是运维自动化的需求方,我们会按照业务的紧急重要程度安排需求的深入沟通、设计、快速原型和迭代。

这四年坚持做运维开发工作,恰好赶上电商和云计算的高速发展阶段,加上领导和团队的支持,所以取得了一点成绩。我期待未来能在云端化和智能化上做出更多有益的产品。

最有成就感的是带过的那些团队

说一个 20 年前对我触动很大的事情:当时在银行系统工作, 领导对我说“领导就是服务”。当时我不太理解,但是在有了一定工作经验后,我越来越认可这一观点。团队里每个人都是我服务的对象,遇到问题领导要冲锋在前,遇到奖励让最有功的同学上,遇到黑锅我来,甚至还要检查下还有没多的锅?都给我压上。 需要什么资源我会尽量争取,短期争取不到的我也始终惦记着。想方设法为团队谋些福利,多让团队做出些有价值的产品,提升成员的成就感。“领导就是服务”这句话现在算是深入骨髓了,要感谢当时的领导:黄昌云行长。

现在带领团队,我很注重快乐高效与成长,实际上每个人有自己的优势与长处,我会努力创造一个好的环境,让每位成员各司其职、各尽其能、各得其所。

我非常喜欢“好日子,慢慢过”这句话,这也慢慢成为了团队名言。我的观点是工作要快,事情尽量做在前面,高效高质量研发;但生活要放慢,我们周末在家陪宝宝讲故事,在阳台品茶看书听音乐,在餐桌全家人共度快乐时光。 平时如果看到团队成员加班,我会要求他 / 她早点回家,未来需要的是健康体魄创造性思想,而不是代码工人。

如果问我这些年的工作什么最令我有成就感?是我带过的团队,他们都有着共同的特点:快乐、高效、稳定、战斗力强。

技术生涯发展的几点建议

这里想先讲讲我早年的一个经历。那时是在腾讯刚接手快速 Tips 项目,即大家看到的 QQ 弹窗,项目交接的前任同学刚刚因为事故受到了处罚。他好心提醒我,尽量少接需求,以免重蹈覆辙。 一方面,我对腾讯制度的完善受到触动,事故的各类惩处会一级级追究到 VP;另一方面,我却认为少做事不是解决问题的办法。于是,我快速开发了一个测试后台,无论谁想测试弹窗,可以直接使用,而且影响范围可控。最后,这样的方案既能方便各团队用新产品,又不会引发事故。 所以我现在在 1 号店的团队也建立了内部的奖惩制度,甚至包括涉黄也有惩处,方便积累活动经费。同时建立私有云平台,让各个团队可以方便地发布、监控、查看日志等,为业务团队高效研发创造良好的环境。

举这个经历为例子,是为了说明技术人应该怎样看待和处理公司的项目需求。少做事情一不能响应业务需求,二也失去了锻炼自己的机会。要通过思考和努力,在尽可能的范围内,完成工作保证质量。如果给出一个广泛性的建议,那就是遇到困难问题,主动想办法解决,对每个职场人的发展都大有裨益。一个人职业的发展过程,伴随着解决的问题越来越大、越来越难,如果解决的问题千篇一律甚至越来越简单,那很有可能是职业道路越走越窄。

再具体一点,对于处在技术生涯中不同阶段的技术人,发展侧重点略有差别。 对于刚刚入行的技术新人,要重视打基础的这个阶段,无论是什么规模的公司,我建议:

  1. 多思:为何这样设计、实现,能带来哪些益处,会有什么问题。
  2. 多做:别让自己闲下来,多做事没坏处,哪怕短期没有直观的收益,“风物长宜放眼量”。
  3. 沟通:及时回复,及时更新进度,有困难的确难以解决时及时寻求帮助。

还有一点,有个能带着你一起成长的团队和老大,很重要。

工作三到五年之后,要保持学习和发展。还有,就是要评估下是否达到了职场发展的瓶颈,我建议从下面四个维度进行考虑:

  1. 空间:自己在团队中的位置,公司在行业中的位置,行业的发展情况,综合出可以预见的发展空间。
  2. 简历:每半年更新一下自己的简历。不是鼓励大家频繁跳槽,而是通过这种方式,我们可以检查过去半年有没有成绩和进步。
  3. 持续性:马上可能面临组建家庭等问题,现有的工作生活与学习方式是否可持续,如果不可持续如何调整。
  4. 目标:我们离长期目标是更近了吗?有没有更好的途径、方法确保目标的实现?

关于加班这个话题

对于加班,我个人的看法是:如果是自己为了成长或业务,主动加班,很好,也是职业精神所在;但是如果只是被动加班,被不成文的规定、文化束缚,被不合理的进度限制,我不赞成。

作为知识工作者,如果不能留出思考时间,不能留出精力来发展业余爱好,不能在运动场上锻炼体魄,不能和朋友知己交流经验,长期来看一定是难以持续的。

的确,在这个时代,技术人很吃香。尤其是在一些人文关怀比较到位的公司,除了薪资不错,福利待遇也挺好。不过我们的梦想更重要,如果梦想和稳定冲突,我建议还是选择梦想:只有做真正喜欢的事情,才不枉此生。当你的职业就是你的梦想的时候,你会发自内心地热爱工作的时光。

我看 IT 的发展及未来

结合这二十年工作,对于行业环境的发展,我能感受到的四个方面:

  1. 硬件:内存从几 M 到几 G,硬盘从几百 M 到几百 G。别说磁带了,连当年常见磁盘都已经找不到了。
  2. 编程语言:可能现在很少有人知道 Cobol 啦,以前在银行可是很吃香的。C 语言还是历久弥新,而 Python、JS 等变得越来越热门。
  3. 网络条件:从几十 K 的猫,到现在家里 100M 光宽带和手机 4G,不可同日而语。
  4. 行业:这 20 年来热门语言和概念越来越多,不过很多基础软硬件没有什么变化。服务器是 X86,运行的 OS 是 LINUX 系统,Java、PHP 应用在 Tomcat、Apache 上跑,数据库不少仍是 MySQL、Oracle,网络协议也还是 TCP-IP。 变的是我们对 IT 的依赖程度越来越高,要求越来越严格,衍生出不少新概念新产品,如电商、电子支付、不断升级的智能手机。

未来,随着软硬件和网络的进化,人们希望随时随地获得高效安全的服务。我认为会体现在如下的三方面:

  1. 云端:大部分人处理事务只需要一个接入端,可能是手机、平板或建筑物的表面,随时处理公司、家庭的事务。
  2. 智能:很多工作外包给智能机器人,家中的智能管家负责打扫、烹饪、保安;工厂的智能机械负责流水线的运转;投资也交给智能顾问
  3. 安全:从买衣买书买手机,到手机转账、理财、交流,我们对安全的要求越来越高,这方面也是大有可为。 因此,IT 服务的云端化、智能化、安全化将是技术发展的方向。

未来的这些发展趋势,具体对应到我们运维行业人员,要跟上和引领技术的发展。首先实现运维的云端化,让各团队随时随地了解业务健康状况,便捷地构建、测试、发布;其次通过机器学习让运维更加智能,如何报警只报根源避免被现象淹没,如何自动修复典型故障,如何提前自动扩容避免事故,是我们需要探索的重要方向;最后在安全这块,除了做好运维平台自身的安全,如何帮助业务实现更好的安全,以电商为例,通过一键削峰、防 CC、防黄牛等安全项目,让业务安全平稳运行。我们 1 号店目前研发的主要内容是私有云,有了坚实的基础,与公有云的融合也很便捷,1 号店已经有多次成功实施的经验,与公有云的融合需要通过自动部署、发布、配置等,迅速将公有云与私有云打通。

嘉宾简介

孙虎,1 号店平台保障部总监。从业 IT 20 年,先后就职于蓝点、腾讯、盛大等互联网公司,具有丰富的运维、研发和管理经验。12 年加入 1 号店,从无到有创建了运维开发团队,并带领团队一步步打造出了 1 号店的高效运维私有云平台—乐道,解决了公司当时面临的配置、发布、监控和排障效率低的问题,大大提升了公司运维和研发团队的工作效率,保障了系统的稳定和高速发展。2016 年开始担任公司平台保障部保障总指挥,协调架构、运维、研发团队提供更好保障支持,为业务稳定发展研发更高效工具,指挥协调公司级保障项目:为 1 号店发展保驾护航。

2016 年 11 月 23 日 18:002812
用户头像

发布了 58 篇内容, 共 39.7 次阅读, 收获喜欢 27 次。

关注

评论

发布
暂无评论
发现更多内容

Javaweb框架面试题,尚学堂java全套资料百度云,附高频面试题合集

Java 程序员 后端

Java入门视频教程,尚学堂大数据全套教程百度云,Java多线程并发面试题

Java 程序员 后端

Java基础72问:黑马程序员java教程,漫谈MySQL权限安全

Java 程序员 后端

2021 Qcon 前端专场精彩回顾

程序员海军

大前端 可视化 vite Qcon

Java基础教程百度云,java教程百度云下载,你不懂还不学?

Java 程序员 后端

Java基础知识梳理,java最新技术栈百度网盘,大厂面试必问

Java 程序员 后端

Java基础知识梳理,渡一教育java百度云资源,帮你快速拿Offer

Java 程序员 后端

HTTPS面试常问全解析,黑马学习java,Java中高级工程师面试题及答案

Java 程序员 后端

Java400道面试题通关宝典助你进大厂,Java后端工程师需要掌握的知识

Java 程序员 后端

Javaweb面试问题,java教程马士兵全集,设计思想解读开源框架

Java 程序员 后端

Java入门基础,千锋教育java教程,深度剖析原理

Java 程序员 后端

Java入门,spring框架教程,Java开发知识体系

Java 程序员 后端

Java中级笔试题百度文库,牛客网java笔试题库,从底层开始带你了解并发编程

Java 程序员 后端

Prometheus 内置函数(四)

耳东@Erdong

Prometheus PromQL 10月日更

Java二叉树面试题总结,马哥linux视频教程百度云,GitHub重磅官宣

Java 程序员 后端

Java基础入门教程,尚硅谷和黑马深圳,Java中级面试含答案

Java 程序员 后端

Java基础笔试题,mysql教程入门到精通,Java程序员

Java 程序员 后端

hash、set、zset的底层数据结构原理,字节Java面试必问

Java 程序员 后端

Java从入门到精通百度云,java教学百度网盘,思维导图+源代码+笔记+项目

Java 程序员 后端

架构实战营模块1课后作业

断水风春

架构实战营

Github爆火的《高并发秒杀顶级教程》,2021最新Java框架体系架构面试题

Java 程序员 后端

Java中级笔试题百度文库,java架构师直通车百度云,使用指南

Java 程序员 后端

Java五年工作经验面试题,极客学院和黑马,深入linux内核架构面试

Java 程序员 后端

Java入门,java黑马程序员课后答案第二版第八章,如何成为杰出的程序员

Java 程序员 后端

Java-SSM框架相关面试题整理,2021Java面试题知识点总结

Java 程序员 后端

SQL 笔记

越锋利

sql 课程

Java中高级面试技术问题,mysql优化视频教程,Java全栈知识体系

Java 程序员 后端

Github爆火的《高并发秒杀顶级教程》,尚学堂java资料,Java基础面试题

Java 程序员 后端

Java基础72问,极客时间数据结构与算法,原理解析

Java 程序员 后端

Java基础入门视频,kafka基础教程,最新Java开发面试解答

Java 程序员 后端

Java基础学习百度云,尚硅谷linux,深入linux内核架构面试

Java 程序员 后端

快意IT江湖20年,砥砺运维开发之心得_语言 & 开发_木环_InfoQ精选文章