目前使用 AWS 和 GCP terraform module 的感想,其實我覺得都還可以。但這邊特別覺得 GCP load-balancer module,我個人感覺寫得真的不好,有很多地方應該可以寫得更好,讓使用者體驗更棒的,但他們並沒做到…,也讓我思考了其實一昧 module 化是否有必要呢 ? 讓我列出來一些我簡單比較和缺點吧。

目前使用 AWS 和 GCP terraform module 的感想,其實我覺得都還可以。但這邊特別覺得 GCP load-balancer module,我個人感覺寫得真的不好,有很多地方應該可以寫得更好,讓使用者體驗更棒的,但他們並沒做到…,也讓我思考了其實一昧 module 化是否有必要呢 ? 讓我列出來一些我簡單比較和缺點吧。
這題我看起來也是很技巧性的題目,一開始要把 subarray 的特性掌握的淋漓盡致,並且想到用 hashmap 來建立快速查找關係,真的有點困難…但也是這道題的魅力吧 ! 基本上 hashmap 題目大概都會偏向這種步驟應用,多注意可以讓自己視野開闊。
AWS 目前有多種 Load Balancing
- Application Load Balancer
- Network Load Balancer
- Classic Load Balancer
對於 Classic Load Balancer ,除非還有 ec2 運行在 ec2-classic 網路的場景,要不然已經不建議使用了,建議使用 Application Load Balancer 、 Network Load Balancer 取代。
這題是 Google 面試題,在 Hide Hint 中表示可以使用 binary-search 解決,剛開始覺得蠻 tricky 的,但仔細思考會覺得 binary-search 很符合這題目。
前面有介紹了 Binary Search 的通用模板,但通用模板還是有缺點,就是要找的目標須在 array 範圍內,這樣才能定義 index。但很多時候題目並不會有一個準確的 array 被定義,還是需要了解各個模板才能比較好的去解答各式題目。
Binary-Search (二分搜尋法),是一種針對已經排好序的區間內, O(logN) 的搜索方式。 Binary-Search 在處理邊界時很容易出錯。 基本上都是沒注意到兩大原則 :
- 每次都一定要縮減收所區域
- 每次縮減不能排除潛在答案
雖然淺顯易見,但實踐在寫的時候還是常常會寫出 bug 。
這題第一眼其實看不太出來是 graph 題,但仔細分析會發現是一個單詞,然後能 reach 到的是換一個字母的單詞,就是鄰居;然後要找最短路徑。 難就是難在一開始要把問題轉化成一個 graph!
雲端資源在使用的時候,可以特別注意收費的部分。 例如 GCP Filestore 和 AWS EFS 都是有關於 file share 的功能,但計費方式卻很不一樣。養成沒事看看雲端 billing 可以幫助止血…,踩完坑之後就來看看付費公式吧 !
基本上 terragrunt 的使用和 terraform 都一樣,所以才說 terragrunt 是一層 wrapper。
terragrunt init terragrunt plan terragrunt apply
和 terraform 都一樣對吧 !
變數管理也是一個讓 code 更加 DRY 的方式之一, terragrunt 有蠻多傳遞變數的方式,這邊舉例 inputs