由於公司全面的要推廣 IaC (infrastructure as code),所以這陣子跟 Terraform 打的火熱 … 然後也嘗試想要使用 Enterprise 的版本,簡單記錄一下使用的心得跟購買的過程。
先講在前面:HashiCorp 的產品真的是工程師的好幫手,這點無庸置疑
這次嘗試使用的是 Terraform 的 Enterprise 版本
User Profile
從最基本的使用者資訊的部份:
整體介面算是簡潔乾淨,該有的都有,像是 Two Fator、Tokens 之類的,然後 User Profile 是直接去 Gravatar 抓的
Organization
Organization 的部份就比較多了,除了基本聯絡資訊的 Profile 以外,
- Teams 團隊管理,但是 Teams 沒有更詳細的權限管理,只能分組,然後設定每個 Workspace 的群組 Owner。
- VCS 就是簡單的去跟一些 VCS 工具連動,但是目前看到僅限於 SaaS 服務,例如 Github、Gitlab、Bitbucket 這三種
- API Tokens、Authentication、SSH Keys 這三個就沒什麼好說的,是工程師都該懂!
- Sentinel Policy 比較特別的是有整合自家的 Sentinel (Policy as code),給愛用 HashiCorp 產品的人進行整合
大致上該有的都有,但第三方支援看起來有點少 …
主要導覽項
上方列就分四個項目:
- Organization List
- Workspaces:這個跟 Terraform 提倡的 Workspaces 就直接在 Enterprise 實現了
- Modules:這邊可以放 Private modules,然後比較特別的是可以利用「Configuration Designer」的方式產生 Terraform code,像是:
算是比較 module code 產生器的感覺。
Workspaces 介面
然後重頭戲是 Workspaces
算是簡單明瞭的介面,該有的狀態和 Filter / Sort 也都有。
Workspace 功能列
- Current Run:這個算是 Enterprise 最好用的功能之一,這邊會呈現 Terraform plan 和 apply 的狀況,重點是可以在 plan 結果後卡一個關卡確認 OK 再進行 apply。(很多人會說這不在 Enterprise 也行啊 !! 但若是拿去做 CI / CD 的話就沒辦法了,尤其是當你有 credentials 放在 CI 的時候 … )
- Runs:這邊會顯示你在每一次跑 Terraform 的結果,就跟 Travis CI 的 Build history 介面差不多。
- States:這也是 Enterprise 蠻重要的功能,就是替你保管 State 每一個版本,雖然放在 S3 也是可以啦 … 不過有介面可以看就是爽多了。
- Variables:這個就是在執行 Terraform 時的 Variables,可以把 tfvars 寫在這,還有 System Environment Variables,不過如果你有多份 tfvars 的話必須手動 push tfvars 到 TFE 才行哦 …,目前沒辦法自動去抓你在 repo 的某一個 tfvars …
- 其他就沒什麼特別可以說的,像是 Verison Control 可以去拉 Github 的 Terraform code,當你 Github push 時就會觸發 Webhooks 讓 Terraform 動起來 …
Current Run Timeline
很簡單的 Timeline:Github push -> 觸發 RUN -> PLAN -> 管理人員 Confirmed -> APPLY。
大致功能上就這樣,主要吸引我去使用的會是 plan 和 apply 中間可以卡一個 confirme 很重要,這個感覺可以在 Local 的 CI / CD 做到 ? 用 SaaS 服務的 CI 很佔 Current user license …
Terraform Enterprise 買還是不買 ?
再來就是跟 Terraform 交涉 Enterprise 購買的部份 …
在交涉的過程中有幾個可以提出來的:
- HashiCorp 可能是一個由工程師統治的公司。
- HashiCorp 在台灣沒有代理商,若要從台灣下單購買 HashiCorp 花了兩個月的時間找代理商進來 … 但現在應該沒這個問題了 …
- 在台灣很喜愛各種 ISO、BSI … 等等的體制下,HashiCorp 目前只有 ISMS 政策,其他的認證可能因為比較新的產品所以還沒有 … (或者是根本不想追從)
- 非常貴
HashiCorp 之前的 Enterprise Pro with Bronze plan 是 US$400 per user per year,但是在 2018/5/1 之後是 $840 per user per year (原價)… 漲了整整一倍多 QQ
除此之外要在台灣使用的話,還會有 20% 的「軟體訂閱」所得稅金 …
我找了一下法條,應該是規範在「客製化軟體」,有錯請協助更正
若國外 A 公司提供國內甲公司使用之電腦系統軟體為客製化軟體,因而取得之權利金收入屬中華民國來源所得,該所得究應採就源扣繳抑或結算申報完稅,將視該國外 A 公司在我國境內是否有固定營業場所而定: 若國外A公司在我國境內並無固定營業場所(如分支機構)或營業代理人者,依《所得稅法》第73條第1項規定,其應納所得額應由國內甲公司於給付時,依規定之扣繳率扣繳之。又,依《各類所得扣繳率標準》第3條規定,應按給付額扣取20%。
這樣算下來一個使用者大約要價 $1000 per user per year …
雖然是這樣的價格,但據說國外還是有許多的企業有購買,至於買或不買 … 以上功能和價格就提供給大家參考。
20%的是課廠商的稅, 只是你幫廠商代付, 後續當然跟廠商是要不回這20%的稅金 XD
這個可以找台灣廠商辦理進口, 附上軟體光碟將它轉為一般有形商品進口, 省去20%的勞務稅金.
如果是走訂閱制, 可能每年都要走一次這個進口流程..避稅
目前台灣僅有一家代理廠商可以辦理進口,但該家廠商目前也是第一次在台灣和 HashiCorp 合作,所以目前沒有任何避稅流程,必須採訂閱制購買。
如果大大有談到更好的價格 / 方式也歡迎推薦^^