[心得] PressPlay從AWS搬家到GCP一年的心得

作者: UniFish (貢貢老盃)   2019-07-13 00:16:09
這篇比較偏心得分享,沒有太多的技術細節。
Medium好讀版: https://tinyurl.com/yy8auqdy
PressPlay好讀版: https://www.pressplay.cc/link/82A2CAD5C4?oid=829D3F275F
PressPlay平台服務在2016年問世,一直放在AWS上,直到2018年中才搬遷至GCP上。至今
也?
# AWS時期
PressPlay草創初期資源有限人力有限,只有一台伺服器運行所有的服務,一台資料庫,
主?
最早期的AWS主機配置: https://tinyurl.com/yyfmglex
那時候每天大概幾千人造訪而已,機器都應付得來。然後到了2017年3月情況就開始不一
樣?
2017–01–2017–03 GA數據: https://tinyurl.com/y6jnd5ym
我們在2018–01到2018–06搬家之前,平均每天進站人數大約在25,000至30,000人左右,

AWS後期的主機配置: https://tinyurl.com/yx9tl8yl
# 為什麼要搬到GCP
或許有人會問「AWS用得好端端的幹嘛搬家呢?」我們選擇GCP的原因有幾個原因:
* 價格比AWS便宜
* 地點在台灣,速度快
* AWS介面很醜(我承認我是外貌協會)
公司草創時期資金沒有那麼多,選擇機器都是以省錢、高C/P值為目標。PP的機器建在AWS

GCP的費用大約是AWS的六折左右,而且在AWS都沒有作HA(High Availability),就算有也

於是我們在2018年4月的時候,決定搬遷到GCP。
# 搬遷的困難
就是人!因為公司內部缺乏熟悉伺服器管理的人,於是我們就想找一個人來管理伺服器、
調
那麼怎麼辦呢?只好我硬上了。雖然GCP操作簡單,但是有關Server調校、資料庫調校這
些?
* 讓我們可以撐住爆量的時刻,機器不要掛。
* 並加速網站的運行速度。
* 伺服器狀態的監控機制。
* 備援機制,不要伺服器倒一台就服務全死。
因為GCP比AWS便宜多了,所以機器比較能放心的開,為了未來PressPlay發展,我們是以3

還好有在6月有一位資深的後端工程師加入,我和他經過一整個月的試驗、調整、搬遷,
上?
終於在2018–06–29 正式上線了!!這是搬到GCP時的配置圖:
https://tinyurl.com/y6z53rxu
# 搬到GCP之後…?
2018–06–29上線早上八點,網站就炸了!!
原因是主機掛載Google Storage時的參數錯誤,讓所有資料夾和檔案清單必須讀完才能正

換到GCP後,PressPlay有變得比較好嗎?有的,當時我們還做個記錄:
1. 台灣地區網頁讀取速度之影響 6/30日(六) 比較6/2(六)
網頁讀取 時間從3.9秒,提昇至2.78 (台灣地區) ,提昇28.58%
https://tinyurl.com/y3lbuzbr
2. Ping值之影響從平均100ms提昇至10ms
https://tinyurl.com/y6spu8z6
3. 完成網站瀏覽取樣報告比較 6/29–6/30 對比上週 6/22–6/23
各式的載入、連線時間、回應時間都大大地的減少。
https://tinyurl.com/y5mnpfvx
搬完GCP後從此就高枕無憂了嗎?錯了,挑戰開始來了。
2018–08–23攻擊事件
當天晚上我們受到DDOS攻擊,我們抓到大約200多個國外IP向我們進行攻擊,這些IP應該
都?
被攻擊的隔天PressPlay粉絲團所發的聲明:
https://tinyurl.com/y3wmyojk
於是我們就建置了監控主機的功能,只要CPU使用量超標,或是一段時間主機沒有回應,
都?
PressPlay內部監控Channel:
https://tinyurl.com/yxtnnqaa
後續還有幾次攻擊事件,不過因為前一此的事件我們作了防護措施,所以只是跳跳通知,

2019–03–31阿滴英文愚人節活動爆衝
PressPlay的GA在2019年有個顯著的peak,就是阿滴英文愚人節活動,在我們沒有準備好
的?
還好架構有規劃好,整個活動順利的結束,Server沒有爆炸,可喜可賀。
https://tinyurl.com/y52eekx2
因為這次的虛驚,所以我們就立刻進行一個我很想要玩的東西:Auto Scaling。10天後,

這個架構運行至今都沒什麼問題,下面這個是目前PressPlay的主機架構。
現今PressPlay主機架構:
https://tinyurl.com/y3nqcpdj
# PressPlay功能現在與未來
PressPlay目前產品功能是著重在數據開發和應用,今年招募兩位數據背景的RD,開始著
手?
目前我們也在密謀一個對創作者更有實質幫助的功能,預計在八月會問世,還有秘密策劃

未來PressPlay工程部會持續地深化你所見到的一切,和我們在麥塊中的世界。
最後,歡迎按讚追蹤我們的FB粉專:https://www.facebook.com/PressPlayTech/
作者: crossdunk (推噓自如)   2019-07-13 00:24:00
推 gcp 自動擴展太好設定了另外log 可以用stackdriver
作者: andrew8062 (安祖魯)   2019-07-13 00:40:00
寫得很詳細 滿有趣的
作者: Nonsense8 (胡說)   2019-07-13 00:41:00
文筆很清晰,這種經驗心得超棒,謝謝分享!
作者: clamperni (肥宅牛牛)   2019-07-13 00:45:00
AWSQQ
作者: ptta (ptta)   2019-07-13 00:58:00
感謝您的分享
作者: Mtcat (山地貓)   2019-07-13 01:05:00
nicenice
作者: LonelyMan (孤單寂寞覺得冷)   2019-07-13 01:12:00
好奇問問,應該是 client side app 跟 load balance串接吧?
作者: sa0124 ((恩恩))   2019-07-13 01:40:00
作者: art1 (人,原來不是人)   2019-07-13 02:04:00
推!很棒的文章
作者: jhnny97 (≡(  ゚Д゚))   2019-07-13 02:16:00
想問最後一個的Minecraft是什麼?XD
作者: b81314 (有點貴)   2019-07-13 02:35:00
不錯
作者: clear919 (Have a Nice Day)   2019-07-13 02:49:00
推!
作者: wahaha279 (哇哈哈:3)   2019-07-13 03:30:00
大學生研究生有機會碰這些東西嗎
作者: Justie (Justie)   2019-07-13 03:45:00
作者: PoloHuang (黃保羅)   2019-07-13 03:47:00
很厲害!
作者: molopo (mmm)   2019-07-13 03:48:00
推好問
作者: p90085 (你是光你是風)   2019-07-13 04:07:00
作者: wildpeanut (黃金葛)   2019-07-13 06:03:00
作者: aabbcc520 (U質文)   2019-07-13 07:01:00
想請教兩個問題,gcp是用那個規格(價錢)以及是否有用docker呢,謝謝
作者: bheegrl   2019-07-13 07:13:00
作者: jhengsiaomin (siaomin)   2019-07-13 07:45:00
推分享
作者: bcew (bcew)   2019-07-13 07:51:00
作者: doranako (真愛無限)   2019-07-13 07:55:00
aws規劃好應該也可以做到,gcp目前應該便宜一些
作者: robort (^______^")   2019-07-13 08:20:00
推!謝謝你分享這段經驗
作者: googoo1102 (googoo)   2019-07-13 08:32:00
感謝分享
作者: f496328mm (為什麼會流淚)   2019-07-13 08:53:00
推推
作者: menShow (The Show)   2019-07-13 08:54:00
感謝分享
作者: ice0803 (缺人SpotifyFamily)   2019-07-13 08:58:00
感謝分享
作者: PHEj (Vino)   2019-07-13 09:16:00
推推
作者: ukuk666888 (逆戰)   2019-07-13 09:25:00
推 很棒
作者: highjumper (閃光勇者)   2019-07-13 09:34:00
感謝分享 另外想請問新架構上線前有做過stress testing或load testing嗎?直接爆炸還蠻恐怖的QQ
作者: maxqq (max)   2019-07-13 10:18:00
話說文中的那個架構資深工程師根本就是菜鳥吧
作者: C10202   2019-07-13 10:27:00
謝謝分享
作者: chocopie (好吃的巧克力派 :))   2019-07-13 10:39:00
推分享
作者: shter (飛梭之影)   2019-07-13 11:05:00
原來 GCP 在台灣又比較便宜,感謝分享
作者: leveger0903 (脆笛酥)   2019-07-13 11:16:00
作者: bonuswhoring (flips for life)   2019-07-13 11:41:00
當初有考慮過spot instance嗎 比gcp合約價還便宜
作者: yaya517 (Abby)   2019-07-13 11:50:00
感謝分享
作者: alan3100 (BOSS)   2019-07-13 12:01:00
你選AWS東京本來就特別貴吧 如果又沒RI更貴
作者: frank910138 (frank)   2019-07-13 12:04:00
謝謝分享
作者: avans (阿緯)   2019-07-13 12:05:00
推經驗分享
作者: NeCool (內褲)   2019-07-13 12:06:00
作者: lairrol (小黑)   2019-07-13 12:23:00
換架構真的很刺激~推心得!
作者: jack529 (Jack)   2019-07-13 12:41:00
讚讚
作者: bronx0807 (堅持需要練習)   2019-07-13 12:45:00
作者: alotofjeff ( )   2019-07-13 12:47:00
是因為價格嗎?aws也有CDN節點在台灣啊?原來的架構還要付兩次錢(aws>cloudflare>user)aws到cloudflare這段應該超貴的不太懂用cloudflare的好處在哪裡。
作者: ntddt (滅頂,降公投罷免門檻)   2019-07-13 12:56:00
狂推超詳細心得文
作者: sc113943 (鯊魚吃糖)   2019-07-13 13:37:00
AWS和GCP不是都有推自家防DDoS的產品嗎
作者: vn509942 (如履薄冰)   2019-07-13 13:42:00
感謝分享
作者: ssivart   2019-07-13 13:50:00
看起來是GAE 如果用GKE會更省
作者: crossdunk (推噓自如)   2019-07-13 14:41:00
gcp的gke跟用設定的gce一模一樣cloudflare一個月不是20美金而已嗎
作者: victor21813 (OHYEAH)   2019-07-13 14:48:00
推推 這種心得文很有觀看價值~
作者: n960321 (H.X.)   2019-07-13 15:54:00
推推
作者: asdg62558 (吐司皮克)   2019-07-13 16:03:00
推 感謝經驗分享
作者: moon2519 (~X~X~)   2019-07-13 16:06:00
推一個,求了解ddos那段細節
作者: iamkcyao (YaoYao)   2019-07-13 16:10:00
作者: exeex (執行檔EX)   2019-07-13 17:22:00
作者: louis70109 (Nijiayu)   2019-07-13 18:15:00
看來是時候來去GCP了
作者: cirlmai (培培)   2019-07-13 19:23:00
用心整理給推
作者: Arctica (欲聆聽,必先靜默)   2019-07-13 19:57:00
作者: clamperni (肥宅牛牛)   2019-07-13 20:35:00
很珍貴的分享
作者: tvbic   2019-07-13 21:11:00
完全沒聽過這網站
作者: good2513 (John)   2019-07-13 21:11:00
可以考慮 cloudrun or gke~
作者: yougigun   2019-07-13 21:36:00
感謝分享
作者: alotofjeff ( )   2019-07-13 22:51:00
印象中aws用自家cdn是不收流量費的,cloudflare 再便宜,應該也省不過這一段免費
作者: alog (A肉哥)   2019-07-13 23:27:00
企業方案印象大約台幣10萬出頭多,怎麼變5000美金惹XD
作者: bluesapphire (Blue Sapphire)   2019-07-13 23:27:00
感覺很有趣,讚
作者: a2323269 (Paul)   2019-07-13 23:28:00
作者: alog (A肉哥)   2019-07-13 23:28:00
到外網還是要算$$,至於Cloudflare要看你的快取策略怎麼安排平常使用應該會比用 Cloudfront 省。看報表/帳單就知道了
作者: Hevak (Arthow Eshes)   2019-07-13 23:48:00
@alotofjeff 看你用量,省得過的機率其實不低,因為 AWS 自家的 Cloudfront 真的太貴了,不過還是要自己看報表算最準Cloudflare 有機會省主要是差在流量是固定費率吃到飽
作者: robler (章魚丸)   2019-07-14 11:00:00
公司這麼操是有沒有老實給加班費阿? 工時有沒有違法超時阿
作者: qq076qq076 (小小菜鳥)   2019-07-14 11:08:00
推推
作者: alotofjeff ( )   2019-07-14 11:11:00
看起來是我錯了,的確照牌價cloudfront不一定能省有些用量大的能談Cloudfront 價格,才能比較省
作者: xam (聽說)   2019-07-14 11:57:00
我也覺得跑掉的那個工程師資歷是在維護>開發,不適合當頭
作者: sharku (明珠求瑕)   2019-07-14 12:13:00
推整理 那麼實用的分享竟有人只注意工時有沒有違法
作者: robler (章魚丸)   2019-07-14 16:27:00
我覺得勞工的權益和健康比這些所謂的"分享"重要太多了會覺得工時有沒有違法不重要的人我還覺得比較可憐大概是被洗腦成那種覺得一天工作16小時就可以成功的人吧
作者: sharku (明珠求瑕)   2019-07-14 21:04:00
不知道樓上受過什麼刺激 但我們公司一天規定工時只有5小時本來還有點想換到AWS 看到這篇受益良多
作者: master1x4 (T-Bone)   2019-07-15 18:19:00
感覺可以之後可以試kubernetes啊Skyscanner之前用k8s然後prod全部用spot instance超狂https://www.youtube.com/watch?v=99nNHsbwBpg
作者: showgunLa (show_gun)   2019-07-16 18:15:00
推,寫的很棒棒
作者: genius945 (添財)   2019-07-17 00:40:00
推 很詳細的歷程 感謝分享
作者: Csongs (西歌)   2019-07-17 03:04:00
弱弱的問 右邊的minecraft是遊戲的minecraft?
作者: jay123peter (蕭瑟風雅)   2019-07-18 22:39:00
作者: t800516 (肥㊣爆肝の菸酒生㊣宅)   2019-07-20 00:39:00
gcp介面真的比較好用

Links booklink

Contact Us: admin [ a t ] ucptt.com