1.序言
武汉的肺炎疫情牵动着全国人民的心,日益严峻的疫情更是给本该全国欢庆的春节蒙上一层阴影。看到疫区医院 IT 运维志愿者的召集令以及各地同行纷纷动手开发系统为国家尽力时,有些坐立不安。
2.一通电话打响了冲刺战
伙伴有个公益的项目希望我们能支持,希望能尽早上线,帮助广大学生在疫情期间依然能有机会学到最好的知识。在就产品需求、技术方案、人员情况、当地疫情等多方面全面评估后,伙伴们决定一起用技术奉献社会。
- “需求能不能做?” “公益的事情再难也要做!”
- “回家过年带没带电脑?” “带了!”
- “这两天能不能在家参与开发?” “能!”
- “家里有没有网络?” “没,我来解决!”
- “当地疫情如何?” “没事,放心!”
在和伙伴们沟通时,大家的积极响应让之前担心的难题一一化解。
为伙伴们的积极奉献点赞!
为伙伴的公益创意点赞!
3.冲刺96小时
3.1 面临的挑战
(1)环境的挑战
- 春节期间很多同学都回老家过年,家里网络情况参差不齐
- 大家分散办公,不在一个局域网内,模块间联调是个挑战
- 在公司时,有很多基础服务来支撑研发工作,现在这些都远水解不了近渴
- 平时忙难得在家,亲人需要照顾,家务要尽量去帮把手
……
(2)沟通的挑战
- 平时在公司,抬头、侧脸就能看到对方,探身看下屏幕就能了解情况,现在只能不停的码文字、语音、电话
- 平时每天的晨会让大家快速了解团队的情况,现在每个人的进展如断线的珍珠散落一地,需要不断梳理
- 平时需求沟通,可以按节奏推进,现在只能倒排计划,就像一面开车、一面查目的地的情况
(3)技术的挑战
- 由于事发紧急,又要赶进度,要尽量选择对现有功能影响最小的方案,不让新需求干扰既有功能。要充分利用既有系统架构的特点。
- 需求的访问量未知,流量可能会极速激增,将系统压垮。于是只能做最坏的打算,做最好的准备。要充分发挥云计算的弹性优势。
- 要考虑财务的可行性。不惜一切代价是态度,但不能作为工程实践的指南。要做好预算,做好预案,让花的每一分钱,都有价值。
3.2 让人感动的细节
细节一:打磨需求,不放过每个细节
这个文案与这次公益行动不符,要改!
这个不容易理解,要改!
正向需求验证没问题,既有的系统功能呢?要验证!
前台交互没问题,后台日志系统是否有影响?要分析!
对其他依赖的第三方应用是否有影响?要保证兼容性!
……
细节二:持续优化
流量增加 50%能不能抗住?流量翻倍能不能抗住?流量数十倍增加能不能自我保护?能不能动态扩容抗住压力?能不能减少流量抖动带来的不必要的弹缩?流量模型是什么样子?流量会聚集在哪个瓶颈点上?各个突发情况下,除了自动化机制外,还有哪些其他的应急措施?
在这样追问、讨论中,大家不断深入思考;在 PTS 的各种压测数据中,大家不断探求优化的思路和可能。为了不影响既有用户的访问,所有的压测都集中深夜;为了获得真实的一手数据,敢于直接压测生产环境(这也得益于系统的鲁棒性强)。
……
3.3 精诚协作的团队
伙伴团队:一声召集令,所有相关人员齐上阵。产品经理、技术专家、业务领导全部参与,细节上能耐心反复打磨,夜间压测能共进退,技术方向上能全局把控。
云顶云团队:虽横跨北方多省,但不影响团队成员间的相互配合。敢拼!敢试!敢承诺!
阿里云团队:无论值班的同学还是已放假的同学,都积极配合。技术工单快速响应,技术问题鼎力支持。
3.4 留下的数据
- 连续作战 4 天 4 夜,不只96 小时
- 持续发布 7 版,不断迭代完善
- 流量激增XX倍,抗住了!
- 钉钉语音会议 30+ 次
- 参与的同学 20+ 名
4.我们的装备
- 开发工具:IDEA、VS Code、微信开发者工具、Chrome 开发者工具
- 协作工具:GitLab、钉钉、微信、电话、WPS
- 测试工具:PTS、阿里云容器服务、按量抢占式ECS、云监控、SQL
- 防护工具:口罩、消毒液
网友评论