Skip to main content

One post tagged with "運維"

View All Tags

· 4 min read
zaxro

SRE

使用過的 IaC 工具

使用過的域名、證書管理工具

基本上這邊就看個人回答,工具部分有 certbot 可以做定期 renew 憑證!

DevOps

雲端平台理解

  • IAM:

  • VPC:

  • peering connection

  • cloudwatch

  • cloudtrail

請問心目中理想 pipeline!

理想的 CI/CD pipeline 應該具有自動化、快速、可靠且能快速反饋.

  • 自動化:基本上滿直觀得,跑 CI/CD 就是希望減少手動,所以盡量要讓所有過程自動
  • 快速部分:各家 CI 會有不同配置,主要是透過檢視流程,讓沒有相依性的 jobs 可以平行處理,並適當使用 cache,減小使用的 image size 等等.
  • 可靠: pipline 流程設計要有一致性,部署的環境跟資料源穩定
  • 快速反饋: 將過程成功或失敗,透過 webhook 或其他方式發送到通訊平台

ps: pipline 過程

  • code management: 程式碼依規定建立分支,tag,commit 放入版本控制系統,
  • Build: 將檔案進行編譯
  • 自動測試:包含單元測試,整合測試,確定新開發的 function 功能不會破壞既有功能
  • (optional)建 image 並推到 registry: 這適用於用 container 部署的項目
  • 部署到測試環境: 環境可能有很多個,如果用 ec2 之類是用 ssh 做部署(可以配合 ansible 腳本),如果是 image 就有需要並執行的過程!
  • 驗證: 對於新開發功能進行驗證,確認功能正常,符合需求
  • 部署到 production
  • 監控:這牽涉到硬體跟服務的日誌監控跟分析
  • Rollback: ㄧ旦發現要能進行 rollback

如何提升系統穩定性(ex 證券業),降低伺服器意外故障風險?

雲端部分,的確是會遇到某個 AZ 機器突然掛掉的問題,畢竟他對機器保障的 down time 本來就不是 100%,如果是用 VM 之類起服務,可以在將服務部署在同一 Region 的各 AZ 中,即使一個 VM 掛了,其他的也可以提供服務! 地端機器也是同樣概念!

運維

基本上,他就是全包所有東東(除了開發),著重維護底層,或許會碰到部署,所以基本上要有以下觀念

  • 監控系統建立跟操作: 一般硬體,process 監控,port 監控,常用資源:Zabbix,Grafana,Prometheus
  • 日誌系統: 日誌系統收集跟傳輸資訊:filebeat,日誌系統分析:ELK,Graylog.
  • 資料庫管理: 設計,管理和維護資料庫,包括備份和恢復,性能優化,安全管理等。
  • 網路管理: 維護和管理網絡設備,如交換機,路由器和防火牆。包括設置網絡拓撲,網絡設置和配置,網絡性能優化和維護,包含雲端跟地端.
  • 安全性管理: 確保系統和數據得到妥善保護,防止未經授權的訪問和數據洩漏,包含防毒安裝.
  • 軟體管理: 軟體部署,跟版本管理等
  • 資料備份和災難恢復: 確保所有資料都能夠備份和恢復,並建立計畫並測試.