大型企業導入 AWS 混合雲的辛酸血淚史 – 導入,雲端概念與培訓

2017-08-16 AWS

延續前篇推坑後,當你評估到一定程度決定要上雲後,就會進入導入的階段,這是一個很費時又費力的階段 …

 

如果你的專案成員或企業工程師都已經有相當的雲端基礎與能力的話,基本上這篇你可以直接略過 … 因為這篇定義的範圍在 “有 50% 以上的工程師沒有雲端概念”

 

由於小弟在公司裡面剛好有擔任 AWS 內訓的工作,特別有一些感觸 …

 

雲端概念

有幾個重點可以提:

  • 能用 Saas 就不用 Paas,能用 Pass 就不用 Iaas,就是叫你能不用 EC2 就不用 EC2。

在上一篇有講到 EC2 很貴,Serverless 很便宜,所以當然能用 Saas 就盡量用 Saas 服務,你不會想要寄個 Email 還要架 Postfix,要擔心有漏洞、怎樣調校、Limit,在 AWS 直接用 SES,你都用習慣了 Gmail 還會回去用 Yahoo 嗎 ? (誤)

 

  • 所有 Service 都有 SLA,不會有單點失效的問題。

過去會需要考慮是否要花多一倍的成本來預防單點失效的問題,在 AWS 上你不會遇到這個問題,因為所有的 Service 都有 SLA,即使用 EC2,Multi AZ 也是你必須要遵守的基礎架構。

 

  • 停止沒有意義的垃圾信件

這邊就是在講這些 ADM 信件,傳統行銷策略還是會認為 ADM 對於行銷會有幫助(拜託什麼時代了?),直接講這些就是沒有助益與實質效益的垃圾信件,在 AWS 上是絕對禁止 ADM 信件用 SES 來發信,當你發的信被放入 “垃圾信” 或 “檢舉” 到一定比例後第一次會警告你,若是再犯直接就是停權你的 SES 服務。

如果你直接用 EC2 自幹 Mail Server,AWS 針對 EC2 也有淺規則去限制你的 25 port 流量。

 

  • 在 VPC 沒有廣播和 Virtual IP

基本上廣播和 VIP 的禁止早在很多年前租用主機盛行的時候就行之有年了,所以也見怪不怪,但還是會有許多人不知道,不過比較特別的是 VIP,在 AWS 上沒有禁止你不能使用 VIP,但在實務上你做不到(有誤請指正我),Subnet 之間的 CIDR 是不能 overwrite,若你要做 Multi AZ 的話就做不到在不同的 Subnet 取到相同的 Virtual IP,所以 DRBD + Heartbeat 在 AWS VPC 下無法建立。

 

  • 用 Domain 不要用 IP

在 AWS 上幾乎所有 IP 都是動態的,有多動態?就是你可能現在抓到 IP,下一秒就換掉的這種動態,只有 Domain 才會固定,通常是很長一段的 AWS Domain,你可以用 CNAME 解決這個問題。

 

  • 停止你那沒有效率的程式碼

不管是 EC2 或是 Lambda 等 Serverless,都不是讓你執行沒有效率程式碼的地方,因為 AWS 的付費概念就是你用多少算多少,當你的程式碼會消耗大量資源,所花費的成本就更多,這些在傳統 IDC 有一樣的問題,但是通常開發人員少數會去在意 Server 的成本,而是期望直接加大規格,但 AWS 會用帳單懲罰你。

 

  • 非必要不會常駐程式

這呼應前一項,在傳統 IDC 上線一個專案就最少會準備 N+1 的資源,若是你這個專案幾乎沒人在用,就這樣跑了一年所耗費的成本很高。在 AWS 上盡量善用 Container 來節省你實際需要用到的資源,當你真正有需求時才呼叫 Task,平時則把資源放掉。

 

  • 實驗性質的專案不再被打槍,讓創意飛一會兒

這個也呼應前一項,因為有需要才用,你可以即時的上線你的實驗專案,即使沒成效花費的費用也不會很高(因為沒人用),不需要就砍掉資源停止收費,所以有想法的人能夠得以實現,也是 Startup 能流行的原因之一。

 

  • 做好自動化

自動化很潮,但你實際自己去做也是蠻累人的,雲端本身一直在優化這一部分,在 AWS 最典型的就是 Autoscaling、CodePipeline,但不是沒事做,而是要做更多的自動化去控制這些自動化。

 

這邊只是短短列出幾項,要上雲端有許多思維必須轉 180 度重新思考,如果還堅持己念,那雲端不會是你適合的地方。

 

培訓

這大概是最累人的 … 想想要教一個從 if/else 都不會的人要能上線一個專案,或是完全不會 Linux command 的人到讓他會架 Cluster 架構,只有一個字 “哭”。

 

培訓這段就以 AWS 為出發點,教學通常以簡單到難,由於是從 IDC 轉 AWS,最親切的就是 EC2,如果是開發要上手可以選 ECS,然後到整體架構 ELB/ALB、CloudFront、S3 等

 

由於要教的人可能非常多,如果每一個都要教到會,講師只有幾個人,那其實跟 DDos 沒兩樣,所以設計上會是用種子學員的方式教學,上完一輪後由部門種子學員回去教其他的人,而講師也才有時間再去準備更深入或其他的教材。

 

建議課程都要能錄影、筆記(hackmd.io),才能讓學員複/預習,在實務上盡量還是以 “操作” 過才能達到學習的目的。

除了內訓以外,在今年(2017) AWS 原廠技術團隊也進駐台灣,所以也有許多 Workshop 和研討會可以參加,沒有時間的話也有線上研討會,而且還會提供 credit (重點!!!)。

 

 

延伸閱讀:

入坑,評估成本與資安

給 Mr. 沙先生一點建議

彙整

分類

展開全部 | 收合全部

License

訂閱 Mr. 沙先生 的文章

輸入你的 email 用於訂閱