@gaoxiaoyunwei2017
2017-10-25T17:32:42.000000Z
字数 3893
阅读 1060
wt
理想总是要有的,万一实现了呢,理想有多大,我们就能一起走多远。在实现理想自由的道路上,我们描绘蓝图踏出探索道路的第一步,未来不是梦即使是梦我们也要穷极一身作完这场梦。
顺丰科技是顺丰集团IT业务的支撑单位;为顺丰速运的定向IT服务商,专注于物流行业信息技术的研究、开发和运维,以信息技术引领业务创新。目前的团队及业务规模如下:
顺丰科技发展经历了三个阶段:
阶段一: 2010年之前,是技术的起步与积累;将关键业务线上化,实现路由跟踪和呼叫中的下单。通过业务的线上化来了解业务环节的质量、时效;从而提高用户体验。
阶段二:
2010到2014之间,是业务快速成长时期。主要是新技术与“新应用”的爆发。
阶段三:
2015到现在,是共享经济下的技术创新。更多的是通过互联网技术的发展、云以及AI的运用来支撑业务;进而让物流使生活变得更便捷。
快递行业的业务流是用户下单、快递员收件、物流中转、运输、派件和支付等多个部分组成。一个快件成功投递背后是无数系统来提供服务支撑的。而这些系统构建过程则是一个很有趣的故事。下面我们将分为如下七个部分为大家娓娓道来。
我所在的部门是基础架构,有的也叫数据架构。从分工来讲是严格的专业分工。从底层基础设施;机房到网络、到存储、服务器、操作系统、数据库以及中间件,每个专业领域都有个专业团队负责运维工作。这样每个运维工作都包括规划、设计、建设、实施以及日常运维。长此以往,结果就是责任氛围浓厚;这样一来就是大家都往往怕多做事情。
我们培养很多专业人士;专业网络规划师、专业系统管理员。但是问题发生了;我们IT有两千多人,而网络管理员不足二十人。这个时候你发现研发需要专业支持和服务时;你的人力是不够的。壁垒也就这样形成了;同时也带来了两个问题。
其一:视野天花板,所有团队在整个过程中接收到的信息都是碎片的;它只能在这个信息的基础上进行工作和判断决定。
其二:能力碎片化,没有一个团队有全栈能力;也没有一个团队能够俯瞰整个中心或者部门的工作。
密室之外
现实是什么样?我们面临的整个业务形态不断在发展。第一,流量峰值是一年比一年高;尤其是双十一。第二,业务形态越来越多。以前更多可能是我们自己企业内部用户在用的各种系统;现在出现各种面向直接的终端用户。
在技术方面,云的出现会颠覆很多人认为的自己专业和价值。其次是技术的开源化会让很多现有的技术专业成为鸡肋。例如,2002年的时候甲骨文的OCP认证基本上是个铁饭碗了。但是现在来看继续采用甲骨文的公司会越来越少了。技术开源会让原有使用商业软件吃饭的专家感到危机感越来越重。
我们对运维做了四象限分解,如下图所示。从四象限图可以看出右象限是我们可以给外界提供的专业服务;同时右象限也是外界最认可的工作。而实际上我们运维团队七分时间都在左边的工作;右边的工作只有三分时间来做。
基于运维工作的四象限分解,我们总结了五宗罪:
对于建数据库我们工程师非常娴熟;但是这些工作非常多,所以它很重。我们都在做这种类型的工作;基本上一个工程师做两年就麻木了,不太会独立思考了。
实际上很多工作真正做只需要5分钟;但是从用户需求提出到层层审核,一直到交到用户手中可能是15天。稍有点规模的企业都会有自己相关的流程、制度,这样下来一定是以天来计的;实际上用户非常抓狂。透过现象看本质,大家更多的是沟通和等待;实际工作的时间只有五分钟。
我们运维人员大部分属于这种情况,非常自负。他们认为研发不专业,他才是最专业的;别人是错的,他永远是对的。其次是我很牛,我能搞定问题。当然,有时候没有办法也会自嘲,我是背锅侠。很多时候,大家的底限就是只要不出事就行,不再做更多尝试和进取的事情。
各种各样的所谓KPI制度、规范、流程、标准、预算、成本、编制等等都是把大家约束住了。本来这些东西是好的,它们的出现就是为了让所有的事情变得有序、有计划、有规划。
但是这些东西自我优化、自我调整的速度太慢,甚至没有变化;导致这些东西从开始好的一面变成黑暗的一面,最后变成大家身上各种各样的蜘蛛网。
所以这些东西就不好了吗?这要看你怎么用;但一定不要给他束缚住,自己思维要开阔一点。
自动化应该怎样的状态是最好的?例如,建库,一天建一个库;盯着它,不要出问题,顺利完成。现在我搁一个脚本,五分钟跑完;这也是自动化。但这是不是最好的自动化和终极形态的自动化呢?
我们在2015年下半年到2016年上半年做的自动化;本来预期可以节省人力并提高效率。但是实际生产中并不是如此。因为一个用户需求提出从评审,到变更,最终反馈给用户;这个过程是非常漫长的。很多人做的自动化只是把自己工作自动化了;而执行阶段没有自动化,对于用户而言是没有改变的。所以这种自动化是有短板的;不是端到端的自动化,只是替代自己的操作执行而已。
运维存在的那么多的问题,那怎么才是好的运维?至少要做到如下的四点:
为了实现梦想,我们必须敢于承认我们这个组织存在的问题。
经过全面的考量之后,我们启动了下面五个项目:
我们针对上述的项目制订了我们认为非常完美的计划,如下图所示。计划在2017年4月初把资源交付做到自助;到7月份就转入优化阶段。我们就这样想当然地开始干了。
在完美计划的指导下,实际上我们刚开始的头两个月是没有什么进展可言的;主要暴露出了如下一些问题。
一起做这件事情的人,不管是做需求的还是做架构的等等;大家都非常疲惫,天天吵架指责对方、非常痛苦。
这种情况导致的直接结果就是离职。我们的前端研发有人离开了,产品经理也跑路了,架构师也不玩了。
经过了两个月的纠结和痛苦;痛定思痛,我们直接深入介入项目一起来分析问题。制定了如下的五条规则:
经过痛定思痛的面壁我们大家基本上都知道自己该做什么了,也大概清楚该怎么干了。我们的设计理念就出来了;将底层的物理资源一直层层往上进行封装。用户最终能看到的是四个部分:
按照这样的理念并调研、梳理,我们在一个半月之后交付第一个迭代。我们实现了自助交付的最常用的工作场景,下图维石的雏形。
经过三个月坚持不懈地努力,我们的自助交付迭代到了1.0版本。至此除了OSS,我们实现了容器管理平台、KVM、维石以及ThinkDB这四大块的阶段性目标。
顺丰科技运维走到今天,我们以前认为不可能的事情现在做到;现在我们要考虑未来。以前我们主要是手工的、半自动的。现在我们将很多事情做成自助的。
我认为我们现有的交付工作在2017年80%以上的场景都可以做到自助交付。未来希望我们的系统有很强的自适应能力;我们的专业管理只需要做好资源池的管理就可以了。我们终极目标是实现运维的自由。