第 10 章 自動化與可程式化

AI/機器學習與 Terraform:新版考綱的兩個新增點

這兩項是 200-301 v1.1 才加進來的,很多舊教材沒有。

10 分鐘


三個名詞的層次關係

名詞英文定義
人工智慧AI最廣的概念 —— 讓機器做出看起來需要智慧的判斷
機器學習MLAI 的一個子集 —— 從資料中學出規律,而不是由人寫死規則
深度學習DLML 的一個子集 —— 用多層神經網路處理更複雜的模式

AI/ML 在網路營運裡實際做什麼

應用解決什麼問題
異常偵測從歷史資料學出「正常」長什麼樣,偏離時主動告警 —— 不必人工設閾值
預測性維護從光模組衰減、錯誤計數的趨勢,預測硬體何時會壞
根因分析一次故障往往觸發上百則告警,AI 幫你指出真正的源頭
基準比對學出各時段的正常流量,區分「尖峰」與「真的出事了」
RF 最佳化無線環境依實際使用狀況自動調整通道與功率
AIOps把上述能力整合進營運流程的總稱

Terraform:基礎設施即程式碼

Terraform 屬於 IaC(Infrastructure as Code,基礎設施即程式碼)工具。它跟第 3 節的 Ansible/Puppet/Chef 常被放在一起比較,但解決的問題其實不同。

比較TerraformAnsible
主要用途佈建(provision)基礎設施設定(configure)既有系統
典型工作建立雲端 VM、VPC、負載平衡器在既有主機上裝套件、改設定檔
語言HCL(HashiCorp Configuration Language)YAML
狀態管理維護一份 state 檔記錄現況不維護狀態
運作模式宣告式(描述想要的最終狀態)主要為程序式,也支援宣告
Agent不需要不需要
Terraform 設定長什麼樣(HCL)
# 宣告「我要一台這樣的機器」,而不是「執行這些步驟」
resource "aws_instance" "web" {
  ami           = "ami-0abcdef1234567890"
  instance_type = "t3.micro"

  tags = {
    Name = "web-server"
  }
}

# 常用流程:
#   terraform init     初始化
#   terraform plan     預覽會做哪些變更(不實際執行)
#   terraform apply    實際套用
#   terraform destroy  拆掉

立即測驗這一節(2 題)