阿里 10 年:一个普通技术人的成长之路

1219头图.png
做者 | 宋意  阿里巴巴高级技术专家
来源|阿里巴巴云原生公众号ios

导读:无论是什么角色,成长是咱们每一个人都必须经历的过程。做为一个技术人,成长不只是技术上的不断精进,也包括平常工做中的方方面面。本文主要讲述了阿里巴巴高级技术专家在阿里 10 年的成长之路,分享他从一个普通技术人开始,在阿里的三个阶段,以及在晋升、转岗、带团队、作事等方面的心得感悟。安全

自我介绍

宋健,花名宋意,2008 年开始参加工做,至今 12 年多一直专一在运维领域。2010 年 6 月加入支付宝,作过监控、SRE、资源管理、运维产品等方面的工做,经历并参与了阿里运维从脚本到工具化再到自动智能化的演进过程,在阿里的 10 年根据部门变化有三个阶段:服务器

  • 2010.6-2013.1,支付宝(系统运维部)并发

  • 2013.2-2015.12,技术保障(支付宝、阿里云、淘宝、B2B 等运维部门统一后的新 BU)运维

  • 2016.1-至今,天基(负责阿里全球数据中心和运维体系的“数字化、自动化、智能化”建设)

我的经历

1. 支付宝

关键词:开源监控、监控值班、应急响应ide

入职后加入的团队是运维部的监控组,那个时候团队刚刚开始组建,全部的东西从零开始,好在有 B2B 的兄弟团队能够借鉴经验,利用 nagios 快速构建了支付宝第一代监控系统。过了几个月因为 双11 的缘由,咱们的上班地点由华星时代搬到了电信二枢纽机房,由于支付宝当时的核心机房在那里,咱们须要 7*24 小时在现场以便快速处置紧急事件。当时小组应该是 6 个同窗,一白班一晚班一正常班,咱们一边值班一边维护监控系统。工具

随着业务的快速发展服务器不断增长,很快一台 nagios 已没法知足需求,调研后引入 centreon 解决了 nagios 的水平扩展问题。监控项的添加和维护以编辑 nagios 配置文件为主,没有办法开放全部人员,所以监控项的维护工做也是由监控团队负责,PE 和 DBA 只要整理好需求发出邮件便可。但新建业务和扩容的频率愈来愈高,天天要花费大量时间编辑文件受理监控需求且常常出错,和需求方协商后肯定了针对不一样业务组件设定监控模板的方案,再想办法自动获取到服务器信息,那个时候尚未专门 CMDB,后来总算实现了新机器上线自动匹配模板添加监控和告警。重要的告警都是经过短信发出,告警短信须要和线上业务的短信区分开避免相互影响,因此咱们又采购了几十个短信猫,专门学习了如何经过服务器控制短信猫发送短信,再后来还演进出了利用短信猫接收短信关闭告警的能力。学习

这样的状况持续一年左右逐渐稳定下来,有了经验沉淀后咱们开始尝试引入外包值班,而后开始招聘和培训外包同窗,制定值班和应急标准,建设相应的流程系统。外包值班又持续了差很少一年时间,因为监控能够看到全部业务数据,出于安全考虑又进行了去外包化。目前监控值班的角色仍然存在,办公地点在西溪的全球运行指挥中心,有专门的办公室和门禁限制,里面全是各类酷炫大屏,整个经济体的业务由他们 7*24 小时守护着。测试

这两年就是不停的作事情,不停的遇到问题和解决问题,逢山开路遇水搭桥。阿里云

2. 技术保障

关键词:监控统1、OD 分离、资源管理

2013 年我所在部门由支付宝调整至集团,到集团后参与的第一个项目是统一集团监控系统。原来淘宝、支付宝、阿里云、B2B 等业务都是自建监控团队和系统,组织层面统一后必然要将系统进行整合,整合后的新系统叫 alimonitor。当时项目主导方是在运维开发团队,我参与进来时项目已经启动,只有我一我的是在监控团队,这也是我第一次参与较大型的跨团队项目。由于刚调整到集团跟其它成员都不熟悉,因此跟你们合做起来阻力很大,但我仍是积极参与到项目中,天天跑到开发团队参加晨会,直到有一次在晨会上被气哭,但神奇的是从那天后合做就变的很是顺畅,再也感觉不到壁垒的存在。项目持续了差很少一年时间成功上线,经过这个项目使我和开发团队的同窗们创建起了良好的信任关系,对后续的工做起到了很大帮助。

开发团队负责着集团全部的运维工具,除 alimonitor 外还有 staragent、armory、aone 等,有段时间这些工具常常发生故障,甚至在双11、双十二的关键时刻掉链子,后来从业务团队转来一位资深同窗负责团队,并发起了运维工具的 OD 分离项目,我做为主要负责人承担全部工具的 PE 职责,也是这时候我开始带团队,最终推进 10 多个产品上百个应用完成 OD 分离标准化改造,解决了工具的稳定性问题。因为每一个工具负责了运维的其中一个环节,全部工具承载的业务加起来构成了集团的工具运维体系,这段经历使我对运维业务有了更全面和深层次的理解。

工具 PE 的事情稳定后我又接到了一个事情,负责整个集团开发测试环境的资源管理,测试环境当时有好几万台服务器,但没有人知道哪些机器在用以及谁在用,并且每一年还有数千台的物理机新增预算,成本浪费很是严重。我接手后首先建设了一个资源生命周期管理系统,使全部新资源的申请所有通过系统,而且对已有资源发起盘点和认领,全部资源设置有效期,到期后能够续租或释放,系统还会按期巡检资源的使用状况,再配合宕机回收、闲置降配等运营策略,最终将测试资源盘点的清清楚楚,不只年度预算 0 新增,还将回收的几千台物理机在双十一时支援了生产环境。再后来继续尝试经过混部提高测试资源使用率,调研多个方案后选择了跟 jstorm 团队合做,但上线后常常出现 jstorm 任务把测试机资源占满,影响业务的平常测试引起投诉,受限于当时技术限制最终没能继续推动下去。

从参与一个跨团队项目到负责一个跨团队项目,再到作一个产品解决业务问题,这是我成长最快的两年。

3. 天基

关键词:StarAgent、Argus、云监控

2016 年初我转岗到了产品技术团队作 StarAgent,SA 是一个很是重要的基础产品,核心功能是命令通道,几乎全部操做服务器的场景都强依赖它,但过去 SA 一直作的不太好,有很长一段时间只有半我的在兼职支持。我当时的想法也比较简单,就是想改变这样的局面。产品得不到重视的缘由我以为是命令功能过于单一,业务价值须要结合场景才能体现出来。因此作的第一件事是 Portal,推进 SA 从后台往前台走,第一个功能是插件平台,提供将一个面向全网的发布能力,发布的对象能够是各类运维脚本或者 agent,而且新扩容服务器也会自动安装。这样作的目的是但愿将 SA 的最大优点全网覆盖能力开放出来,使上层系统能够将更多执行逻辑下放到机器,而不是都转换为命令频繁调用 SA。

插件平台的主要用户群体是各个业务运维系统,可是一线开发和运维人员也常常须要登陆服务器执行命令,为了能覆盖到这部分用户又推出了第二个功能 WEB 终端,人执行命令的场景又能够分为单机的交互操做和多机的批量操做,因此 WEB 终端又分为交互终端和批量终端两个子功能,WEB 终端在保证安全的前提下解决了人操做服务器的效率问题。

插件平台统一全网类变动入口后,咱们也看到全网类 Agent 愈来愈多,每台服务器都有 N 个运维类 Agent,进一步梳理后发现监控类 Agent 是最多的,所以又发起监控 Agent 融合的项目,统一后的新 Agent 叫 Argus,完成集团内的 agent 融合后继续走向公有云,目前公共云外部客户和阿里内部使用的监控 Agent 都是同一套代码。

在 Argus 完成集团内多套监控系统的 Agent 统一后,进一步分析会发现全部监控系统的采集实现都有相似性,Argus 对接的上游是配置下游是通道,将配置、采集、通道三部分组合起来就是标准的数据采集,所以又与 alimonitor 团队合做,复用已有的配置和通道能力建设了一个覆盖全网的通用数据采集平台。随着在监控领域作的愈来愈深刻,后来干脆专一于监控场景,将 SA 的事情所有交接了出去,目前个人主要职责是为业务上云提供一站式监控方案,包括云资源监控、主机监控、业务监控、链路监控等。

埋头作了好几年的产品,可是产品的深度都没有达到本身的预期。主要问题我以为是过于关注产品技术自己,没有作到以业务价值驱动,致使未能得到持续的资源投入。

这三个阶段我会用三个词归纳:作事情-->作项目-->作产品。

作事情和作项目的重点是“正确的作事”,区别是项目多了一层协做。作产品的重点是“作正确的事”,不只须要关注当下结果,更重要的是如何持续走到将来。

我的成长

“很傻很天真,又猛又持久。”我以为这句话能够形容个人待人和作事风格,待人方面我会默认相信每个人,作事方面由于比较笨就会比别人下更多功夫。这些年我始终坚持在一个领域,比别人投入更多的时间和精力,在经历一次又一次失败后,不断的吸收经验和教训使本身成长。期间也有过不少次想打退堂鼓,最艰难的时刻总能想到一句充满力量的阿里土话安慰本身。

1. 关于晋升

互联网行业招人时常常会说一句话,岗位对标阿里的 P 几,这一点足以说明在阿里级别的重要性,因此晋升对每一个人来说都很重要。但当咱们把级别看的很重时也带来了问题,级别变成了每一个人的第一标签,合做时首先看你的级别而不是负责什么,作事情首先想到的是晋升而非价值。今年公司在这方面已经有所调整包括隐藏职级等,但愿可让咱们回归到用事情价值和成就感来驱动本身。

10 年前我入职支付宝时级别为 P4,到目前共经历 8 次答辩,平均每 2 次答辩成功 1 次,可是 P7 到 P8 的晋升用了 5 年答辩 3 次……每次晋升失败后最难的是调整心态,感受本身受到了不公平待遇,评委不客观、不了解我作的事情、只能看到个人短板等,这样的想法持续过久必然会影响到本身。

如何调整?个人作法是首先摆正心态,相信公司相信评委,公司必定但愿给每位同窗匹配到最合适的评委,评委主观上也必定是客观的,不会刻意针对某一人。而后从本身身上找缘由,评委的反馈是什么?为何会让评委有这样的感觉?没表达清楚仍是没思考清楚?

失败缘由能够简单归纳为两方面:

  • 能力没达到,包括软技能和硬技能。
  • 运气很差,跟评委气场没对上。

能力缘由我的是能够改变的,但首先须要认知到本身的不足,技术、业务、表达是哪方面的问题?仔细阅读和理解评委的反馈,有时候反馈可能不那么直接,好比将来展望不够意思是看不到你负责这个业务的将来,平时你有想过业务的将来吗?多和主管聊一聊,主管必定愿意帮助你找到问题所在。把本身作了一年或者几年的事情,在 20 分钟内向几个陌生评委讲清楚,让他们彻底承认和理解我认为一点都不容易。

运气方面我的能作的就是来年再战,多试几回总归运气有不那么差的时候。每一个人都有能够提高的地方,成长是无止境的,只有当实在找不到或不理解的时候,才能够把缘由简单的归为运气,使本身心态可以调整过来,小心态平和后真正的问题就会慢慢清晰,在这个期间须要主管给予更多的安慰和鼓励。

2. 关于转岗

这 10 年我只有一次正式转岗,但转岗的念头仍是有过好屡次,其中三次印象比较深入:

  • 第一次是入职两年后,大概 2012 年中,第一次以为遇到了瓶颈,已有事情没法再让本身突破,因此就去找主管聊了聊,主管也以为我须要作些更有挑战的事情,了解想法后也主动帮助我找团队,就在定下团队准备走流程时发生了组织调整,支付宝整个运维部被合并至集团新成立的 BU 技术保障,事情也跟着发生了变化,从原来的支付宝监控转变为统一整个集团的监控,对我来说又有了新的挑战就拥抱变化放弃了转岗。

  • 第二次是在 2015 年末,当时集团正在去 PE 化,技术保障大 PE 团队分拆到了各业务线,我负责的工具 & 测试 PE 团队也被拆分调整,但本身对调整后的事情并不太感兴趣。几年的 PE 作下来感受运维最大挑战仍是工具,思考好久决定转岗至负责运维工具的产品技术部,选择的产品是 StarAgent,BU 没有变化仍是在技术保障。

  • 第三次是在 2019 年末,SA 作了近四年且连续两次晋升失败以后,在个人主导下 SA 从一个纯粹的命令通道升级为主机管理平台,成为全部运维系统和人员管理服务器的第一入口。感受本身已经用尽了全力,却仍然不知道怎么突破,陷入了迷茫。后来在主管帮助下终于想明白,本身一直想着怎么把事情作好,但不多思考作的是否是正确的事情,致使作的愈来愈多愈来愈累。和主管讨论后对职责进行了调整,将精力聚焦在一件事上面,其它事情进行了交接。

转岗的目的仍是为了解决问题,不管何时有转岗想法后,应该首先找主管聊一聊,必要的话也能够找主管的主管或 HRG 去聊。不要担忧聊了会被打“标签”,坦诚的去沟通,主管必定也很想帮助你,只是他可能还没意识到问题,问题聊清楚了才可能获得解决,没有沟通直接找新团队其实仍是在回避。

我的在当前团队成长受限、看不到当前业务的前景,若是沟通后确实是这些方面的问题,那么转岗就是必要的。但除此外遇到如协做或沟通等方面的问题,则须要慎重考虑。换团队的成本很是高,须要时间来和新主管及成员创建信任感,当前得不到解决的问题换个地方后大几率还会碰到,新团队也会带来新的问题甚至问题更多。

3. 作事情

我也常常看书和听别人分享,要学习的方法论实在太多,但每次看完听完就没有而后了,最后仍然是走了不少弯路撞了不少次墙,才慢慢吸取造成了本身的方法,个人经验总结下来就两句话。

1)一件事情

“让天下没有难作的生意”,是一件事情。

“作技术驱动的世界第一的商业基础设施服务商”,也是一件事情。

“云上云下监控数据采集技术统一”,也是一件事情。

每一个人天天都在作事情,为何有的人作的好有的人作的很差?我认为很重要的一点是作的事情之间有没有产生链接。作的好的应该是:天天作的事是每月的一件事的一部分,每月作的事是该季度一件事的一部分,每一个季度作的事是本年度一件事的一部分。当作的全部事情创建起了关系,组成了更大的一件事才有意义。

天天的一件事和每个月的一件事的高度是不同的,复杂度和解决须要的时间也不同。每一个事情都该作,每一个问题都该被解决,但咱们的时间和精力是有限的,判断事情该不应作的依据就是这个事情可否成为你的月度、季度或年度的一件事的一部分,若是能够则制定计划去作,不然说明这个事情不应你来作。

2)99% 和 1%

一件事情能够分为 99% 和 1% 两部分,大部分时候咱们作到 99% 就以为能够了,如某个成功率指标作到 99.99% 以后,可能发现最后 0.01% 要付出的代价比以前的所有还要高,要不要作?我以为应该尽量推动,由于越深刻越能体现出竞争力,至于最后作到 5 个 9 仍是 6 个 9 取决于和业界拉开的距离。

99% 是必须作的,1% 是须要突破的,深度和壁垒每每体如今最后的 1%。每次完成一件事情较以前进步 0.01% 也是突破,100 次 0.01% 就是 1%。但若是每次作到 99% 就中止了,那么咱们和流水线上的工人没有本质区别,都是在重复作事情只是重复的东西不同而已。

完成一件一件有关联的事情将本身打形成一个服务,避免完成一件一件无关的事情让本身成为一个资源。一件事情体现的是业务广度,1% 体现的是技术深度,规划时须要业务广度,落地时须要技术深度,两者结合起来才能保证所作事情的正确性和竞争力。

4. 带团队

带团队的目的仍是作事情,只是由一我的变成了多我的,多我的作一件不断逼近 100% 的事。对于团队负责人最重要的事情我总结为 3 句话:

1)定义清楚团队的一件事

一件事就是团队的目标,团队目标必定是长远的,最好能先想清楚几年后的样子,而后推导出一年的目标,再拆解出完成目标涉及的技术领域,最后肯定每一个领域的季度或月度目标及负责人。

我是从 2014 年开始带团队,虽然每一年也在作计划,但早些年主要以罗列事情为主,每次汇报都被老板批,直到近两年才想明白这一点。如今来看前些年带团队本身更像个 PM,不停地为产品作新功能,但上线后又缺少长期演进方案,致使支持工做愈来愈多,团队同窗愈来愈辛苦,产品没有深度也缺少竞争力。在老板和其它团队眼中只把咱们当资源,只要支持好业务的需求就能够,当业务方没有投诉老板也不肯意再投入,团队同窗看不到但愿就会想转岗,转走后又没有新的人员补充,每一个人的事情都愈来愈多,为了避免使你们那么辛苦,本身也去负责答疑作各类平常事务,最终使团队陷入一种恶性循环的状态。

这段经历使我真正理解了一句话:“用战术上的勤奋掩盖战略上的懒惰”。

2)让更多的人加入进来作这一件事

想把事情作的更好必然须要更多优秀同窗加入,同时每一个团队都会存在人员流动状况,因此第二重要的事就是确保团队不断有新鲜血液加入。

刚开始带团队通常都是经过组织调整,最初几年我对招人也是彻底没想法,缺人了就找老板要,后来才慢慢明白我是在完成本身的目标,不是在帮老板带团队,才意识到招聘对团队的重要性。

招聘策略我会倾向于多校招,只有少数专业类人才须要社招。校招最难的是第一年,由于第二年这些同窗能够推荐学弟学妹,后续每一年基本就不会断档了。第一年怎么招?若是实在找不到更好的渠道,内部的公海池是个不错的选择,总归能够筛选出一些优秀的同窗。若是每一年都有校招新同窗加入,新同窗又会变成老同窗,自然的就创建起了人才梯队。

随着团队成员愈来愈多,管理方面的问题就会暴露出来,管理最重要的我以为仍是让每一个同窗清楚本身月度、季度和年度的一件事分别是什么,而后按期与同窗沟通交流,了解实现目标过程当中遇到的问题并给予帮助和建议,使同窗知道本身的发力方向。

3)与更多团队合做造成更大的一件事

BU 的一件事是靠 BU 内的多个部门合做实现,部门的一件事又须要部门内多个小组合做完成,重点项目基本都是多个团队协同完成,一个团队的力量始终是有限的。

反观本身这些年大部分时候在单打独斗,负责一块独立的业务,好处是自主空间比较大、不用依赖别人看人脸色,但这样的业务每每也不在主干道上,作的好或很差影响都有限。这一点我以为本身如今作的还不够好,仍是会有小农意识,须要继续增强与兄弟团队的合做,一块儿作一件更有价值的事。

总结

最好的 10 年在阿里度过我以为本身很幸运,公司的同事们都颇有智慧,持续与优秀的同事共事,个人认知和行为也受到影响,逐渐获得改变和提高。这十年我获得了不少同事的帮助,谢谢帮助过个人每一位同窗,还有历任主管和团队的小伙伴们,由于大家对个人包容和支持使我走到了今天,对下一个十年我充满了信心和期待!

相关文章
相关标签/搜索