IT行业工作八年回顾-之成为核心
时间:2017年至2018年
一.研发中心的低谷
2017年初对于整个研发中心来说初春总有些冬日的寒意。由于两年的研发时间,整个研发的产品都是不温不火,很多 产品总是出发很好,但是总是草草收场,或者半途而废。当然这期间偶尔也有一两个产品勉强还差强人意,但总体很情况很不好。整体研发其实都是很小的产品,没有统一大的方向公司也做出了调整,研发中心由原来二十多人再次回到了12个人。
2017年上半年带着三个兄弟,继续做着几个小的系统。虽然每天也是十分的忙碌,但是工作也确实没有什么奔头和激情。在上半年的时间里面我给自己也设定了一些个人习惯:
1.每天坚持5点30前起床
2.每个月坚持至少看完一本书
3.每天至少抽出一个小时的时间来了解一些工作之外的技术
二.疯狂的封闭式研发
两年的研发的不成功,让局长对于研发方向很迷茫。17年,局长开始很少管研发的新的产品,而是自己走向了一线项目。此时正好公司承接了一个当年属于公司第一大项目HX——一个防伪溯源营销一体化的大平台,局长亲自担任项目经理。最多的时候公司40多开发+外包的团队投入。TO B的项目真心的很痛苦,我记得2017年上半年,陪着局长搞这个项目通宵了好几个晚上。
2.1封闭开发16天
2017年8月5号上午接到局长电话,当时因为项目需要,让我带领两个同事,下午就赶往上海进行现场协助。因为当时手上工作还没有交接,所以当时所只能赶6号早上最早一班车到上海。6号早上赶上最早的一班车,下午一点到达上海公司总部。
一到上海,就被带入了一个早已经准备好了的会议室,会议室里面的墙面的小黑板上已经写着“封闭式开发,谢绝使用”办公室,一个投影仪,五个懒人沙发,五张椅子。
一到会议室,局长就和我们说明了他的想法:他想通过尝试对于应用软件的拆解,搭建一个分布式系统,支持开发者对于自己的业务插件的模式通过安装集成到系统,然后所有业务运行到整个平台系统。每个开发者团队可以不断进行插件化,并且开发者自己关注自己的业务本身而无需关注运行环境和与自己无关的工作,所有业务插件运行起了,形成整个大平台的模式。根据想法,我们对需求进行了拆解:
1. 首先进行一个软件的常见功能的拆解,将一个传统的软件拆解成为:
1.web后台(Dashboard)
2.接口(OpenAPI)
3.服务(Deamservice)
4.H5端(H5 Plus)
2.要进分布式的应用,就需要进行会话无状态,必须要有一个统一的认证中心CA(Certificate Authority)。
3.同时整个系统应该有一个对于插件的控制中心(Controller Center)CC。
4.同时后台应该有一个统一登录的主入口,作为门户等统一入口,我们叫做宿主-host。
于是我们拆解出来工作:
1.CA ——认证中,进行分布式式系统的统一运行时权限控制
2.host——后台统一的登录门户,控制菜单和系统权限
3.CC ——控制中心,控制整个系统插件的安装,卸载,权限的后台配置等
4.Dashboard Docker ——提供后台web的前端插件代码视图运行时环境,不允许访问数据
5.OpenAPI Docker ——接口,对外提供接口能力,对于数据库有访问权限
6.Deamservice Docker——后台需要定时运行的任务插件的容器
7.H5 Plus Docker ——为H5前端插件代码提供运行时环境,不允许访问数据库。
拆分完成要做的事情,便开始分工行动,各司其职。每天做的事情,就是不断根据新的思路进行编码,调试,测试,演示。又不断的推翻之前做的方案,不断调研新的技术。每天早上10点进入小黑屋,一天5顿饭(以至于后面吃的要吐,只想喝粥,16天,5个人吃了近1W块钱的伙食费),晚上基本上2点后离开小黑屋,局长亲自开车送我们回员工宿舍。
经过16天的小黑屋的开发容器终于搭建好了,并且在HX项目二期上,在工期只有一个月的时间里面,快速从不同团队抽调资源和外包资源的加入下,使得项目顺利完成。
三.艰辛云平台用研发
3.1演示模型搭建
从上海回来回到合肥后,局长把我手上的事情全部推掉,给我三个开发+一个测试进行基于已经完成的进行工作进行平台开发。
2017年9月到12月,搭建了一个基于容器,搭建了一套云平台的演示模型。对平台进行定位。基于公司的业务功能,搭建要进行标准SAAS+PAAS的云平台。形成行业生态圈。
3.2立项通过组件团队
2018年1月,拿着我们搭建好的模型向公司上层汇报,正式确定立项进行平台研发,组建一个10人的研发团队,并以平台名称-Super8作为团队代号。
3.3艰辛PAAS研发
2018年由于自己在外租的房子到期,研发任务也重,自己决定就睡在公司的一个没有窗户的仓库。这一年近乎疯狂的在进行工作。
每天进行平台的架构讨论,底层PAAS的搭建,定义规范,容器编写,自动化分库分表,业务分层,核心中间件,大数据分析框架,RAM权限控制,高性能测试,弹性扩容等等。我记得每天在公司一边洗脚都在写代码。从来没有12点之前休息过。
经过一年的开发,成果颇丰,平台底层基础搭建完成,并且还完成了业务的防伪平台。这一年的努力自己的成长也很快,组建了一直10人的核心战斗力的团队,也得到了了公司的认可。