[心得] 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