2016年1月23日 星期六

[AWS] 搬上雲端綜合使用心得


由於公司想把一些東西搬上AWS,進一個月來我都在和AWS奮鬥.因為台灣寫AWS的人很多,我就不設定的細節,就幾個常用到的功能來閒聊一下.

在真的搬上去之前,我立下幾個搬上AWS的主要目標:
1) 減少我個人維運機器的時間
2) 減少每個人互相搶資源的狀況
3) 費用

以下每個行動都是基於上述三個考量.



1. EC2: 自己開機器當然對整體的掌握度最高,但是同時也要求使用者對於機器的熟悉.很難期待每個使用者都能那麼熟悉機器,所以我只打算用EC2搭配Docker來維持一些基本必要的服務,例如Jenkins, GitLab.

2. Redshift: 這是我一開始很期待的元件,但是實際使用後發現價格真的太貴了.我們對於資料倉儲的需求還養不起每天開24小時的Redshift.再來就是我們的資料很髒,schema on read的資料倉儲真的不太好使用...而且轉檔案進去的時候真的很容易壞掉orz. 光搬資料和清洗資料這個工太大了.

3. RDS: 就是個SQL 目前拿來放簡單的統計表格,沒啥好特別介紹的XD

4. EMR: 這次下最多功夫的部分就是EMR了.因為EMR方便簡單一鍵開集群真的是太符合我們的使用情境了.目前EMR的Spark也支援到1.5.2版,Hive也有0.14基本上已經比我們舊有的機器好太多了XD.由於未來規劃資料都放在S3儲存,所以EMR僅用來當作計算單元,算完即扔.不同人的需求就開不同的EMR來處理資料,也不會有資源互搶的問題.一些設定上的細節就改篇再講.(EMRFS會用到DynamoDB,這個天殺的貴...)

5. S3: 一個人用s3很方便,但是如果整個Team或BU的東西都要放s3管理起來就挺傷腦筋的.

6. AMI, Security Group: 只能說會搞死人.

整體心得:
1) AWS在EC2的架構上開了很多很方便的服務,讓一般使用者不用管太底層的問題(專家使用者還是得自己去管),真的很聰明的作法.
2) 因為AWS把服務開很細,每個服務又有自己的運作邏輯,如果陷太深的話,未來要轉移也是一大痛點.
3) 價錢超難算,每個服務都有自己的價格...剛開始玩一定會吃虧