記2020年肺炎疫情期間的一次產品研發


記2020年肺炎疫情期間的一次產品研發

序言

武漢的肺炎疫情牽動著全國人民的心,日益嚴峻的疫情更是給本該全國歡慶的春節蒙上一層陰影。看到疫區醫院 IT 運維志願者的召集令以及各地同行紛紛動手開發系統為國家盡力時,有些坐立不安。

一通電話打響了衝刺戰

夥伴有個公益的項目希望我們能支持,希望能儘早上線,幫助廣大學生在疫情期間依然能有機會學到最好的知識。在就產品需求、技術方案、人員情況、當地疫情等多方面全面評估後,夥伴們決定一起用技術奉獻社會。

  • “需求能不能做?” “公益的事情再難也要做!”
  • “回家過年帶沒帶電腦?” “帶了!”
  • “這兩天能不能在家參與開發?” “能!”
  • “家裡有沒有網絡?” “沒,我來解決!”
  • “當地疫情如何?” “沒事,放心!”

在和夥伴們溝通時,大家的積極響應讓之前擔心的難題一一化解。為夥伴們的積極奉獻點贊!為夥伴的公益創意點贊!

衝刺96小時

3.1 面臨的挑戰

環境的挑戰

  • 春節期間很多同學都回老家過年,家裡網絡情況參差不齊
  • 大家分散辦公,不在一個局域網內,模塊間聯調是個挑戰
  • 在公司時,有很多基礎服務來支撐研發工作,現在這些都遠水解不了近渴
  • 平時忙難得在家,親人需要照顧,家務要儘量去幫把手

溝通的挑戰

  • 平時在公司,抬頭、側臉就能看到對方,探身看下屏幕就能瞭解情況,現在只能不停的碼文字、語音、電話
  • 平時每天的晨會讓大家快速瞭解團隊的情況,現在每個人的進展如斷線的珍珠散落一地,需要不斷梳理
  • 平時需求溝通,可以按節奏推進,現在只能倒排計劃,就像一面開車、一面查目的地的情況

技術的挑戰

  • 由於事發緊急,又要趕進度,要儘量選擇對現有功能影響最小的方案,不讓新需求干擾既有功能。要充分利用既有系統架構的特點。
  • 需求的訪問量未知,流量可能會極速激增,將系統壓垮。於是只能做最壞的打算,做最好的準備。要充分發揮雲計算的彈性優勢。
  • 要考慮財務的可行性。不惜一切代價是態度,但不能作為工程實踐的指南。要做好預算,做好預案,讓花的每一分錢,都有價值。

3.2 讓人感動的細節

細節一:打磨需求,不放過每個細節

這個文案與這次公益行動不符,要改!

這個不容易理解,要改!

正向需求驗證沒問題,既有的系統功能呢?要驗證!

前臺交互沒問題,後臺日誌系統是否有影響?要分析!

對其他依賴的第三方應用是否有影響?要保證兼容性!

細節二:持續優化流量

增加 50%能不能抗住?

流量翻倍能不能抗住?

流量數十倍增加能不能自我保護?

能不能動態擴容抗住壓力?

能不能減少流量抖動帶來的不必要的彈縮?

流量模型是什麼樣子?流量會聚集在哪個瓶頸點上?

各個突發情況下,除了自動化機制外,還有哪些其他的應急措施?

在這樣追問、討論中,大家不斷深入思考;在 PTS 的各種壓測數據中,大家不斷探求優化的思路和可能。為了不影響既有用戶的訪問,所有的壓測都集中深夜;為了獲得真實的一手數據,敢於直接壓測生產環境(這也得益於系統的魯棒性強)。

3.3 精誠協作的團隊

  • 夥伴團隊:一聲召集令,所有相關人員齊上陣。產品經理、技術專家、業務領導全部參與,細節上能耐心反覆打磨,夜間壓測能共進退,技術方向上能全局把控。
  • 雲頂雲團隊:雖橫跨北方多省,但不影響團隊成員間的相互配合。敢拼!敢試!敢承諾!
  • 阿里雲團隊:無論值班的同學還是已放假的同學,都積極配合。技術工單快速響應,技術問題鼎力支持。

3.4 留下的數據

  • 連續作戰 4 天 4 夜,不只是96 小時
  • 持續發佈 7 版,不斷迭代完善
  • 流量激增XX倍,抗住了!
  • 釘釘語音會議 30+ 次
  • 參與的同學 20+ 名

我們的裝備

  • 開發工具:IDEA、VS Code、微信開發者工具、Chrome 開發者工具
  • 協作工具:GitLab、釘釘、微信、電話、WPS
  • 測試工具:PTS、阿里雲容器服務、按量搶佔式ECS、雲監控、SQL
  • 防護工具:口罩、消毒液

❤眾志成城 共克時艱❤


分享到:


相關文章: