Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save theqwan-chengwei/74abcea36853c2888a79657b5ee1313f to your computer and use it in GitHub Desktop.
Save theqwan-chengwei/74abcea36853c2888a79657b5ee1313f to your computer and use it in GitHub Desktop.

DevOps Taiwan Meetup #3 CM 大亂鬥 - 上半場活動

本次的 DevOps Meetup #3,主題是「配置管理工具大亂鬥」,因此我們事先準備了幾種 CM Tools 常見的使用情境及對 CM Tools 的疑問。

讓各位講者可以事先針對這些情境與題目準備內容,屆時在 Meetup 現場可以與大家分享。

再次感謝各位講者的配合,謝謝大家!

CM Tools 使用情境

針對以下幾種常見的 CM Tools 使用情境,還請各位講者事前預備你所使用的 CM Tool 是如何使用於這些情境。

不論你是打算「事先錄影」或 Live DEMO 皆可,希望可以讓聽眾看看 Tool 運作的模樣,也能稍微看看 code 的長相。但若不方便 DEMO,也可以僅僅展示 code 然後配合解說,讓聽眾了解可能的運作情形。

狀況一、「單一 VM 安裝特定的軟體並設置環境」

情境描述:

  • 新建立一個 VM,需求是常見的 LEMP

    • Ubuntu 14.04 或 CentOS 7
    • Nginx (版本不限)
    • MySQL (版本不限)
    • PHP (版本不限)
  • 設定 SSH config

    • 修改 SSH port 為 2222
  • 設定 iptables

    • iptables 關閉所有的 port 只留下 80、443、2222。

狀況二、「同時更新數台 Server 的軟體與 config」

情境描述:

  • 假設你手上同時管理兩台 Server 分別為:

    • ubuntu 14.04
    • CentOs 7
  • 有如前一陣子的狀況, OpenSSL 出現了漏洞,該如何同時對這兩台 Server 更新 OpenSSL?

狀況三、如何管理複雜的配置檔與環境?

情境描述:

  • 假設目前手上有三台 Server,一樣都是 LEMP (ubuntu 或 CentOS ) + nginx + mysql + php。三台分別代表了 development, staging, production 三種環境相似,但配置檔相異的環境,該工具是如何有效管理與分別建置環境?

    • 例如三台的 nginx.conf 與 php.ini 皆不相同,該怎麼處理?

狀況四、怎麼解決敏感資料問題?

情境描述:

  • 延續上一個情境,面對 development, staging, production 三種環境,專案程式碼中用來設定 DB 帳號密碼的 .env 也不盡相同,可是 .env 記載了重要的敏感資料(DB 帳號密碼),該工具是如何處理此狀況?

  • 第二種情境,透過 CM Tools 安裝軟體,例如 Mysql。若要透過 CM Tool 幫忙新增 root 帳號與密碼,勢必要告之 root 的密碼,這種機敏資料該如何保護?

  • 第三種情境,配置管理工具現在都可用來直接建置 Cloud 環境,例如透過 API 或 SDK 直接新增 AWS、DigitalOcean 上的 VM,那麼對於 Cloud 的帳號、Token、API secret key 這類的敏感資料,該工具是如何處理?

狀況五、能否展示 1 ~ 2 個你覺得設計良好的 CM Tools 自動化腳本。

情境描述:

  • 每個工具都有厲害的使用者,你有沒有看到哪一些寫得很厲害、結構漂亮,值得推薦參考的自動化腳本?

  • 該 CM Tool 官方是否已有官方建議的自動化腳本最佳實踐,若有可否能一併展示一些範本?

DevOps Taiwan Meetup #3 CM 大亂鬥 - 下半場活動

本次的 DevOps Meetup #3,主題是「配置管理工具大亂鬥」,因此我們事先準備了幾種 CM Tools 常見的使用情境及對 CM Tools 的疑問。

讓各位講者可以事先針對這些情境與題目準備內容,屆時在 Meetup 現場可以與大家分享。

再次感謝各位講者的配合,謝謝大家!

講者座談 Q & A 預備題目

在上半場各位講者展示過各自的 CM Tool 之後,下半場我們就進行綜合座談,為避免現場無人提問,因此我們先預備了幾個問題,讓各位講者可以事先準備,屆時 Q & A 時間就會先針對這些題目提問,若有剩餘時間在開放現場提問。

在題目設計上,我們盡量不侷限在單一工具,而是共通針對 CM Tools 的問題為優先。

  • 開場少不了的老問題,為何你會選擇目前的 CM Tools?

  • 針對目前幾個對你所使用的 CM Tools 的刻板印象,你有沒有想要反駁或提出不同的看法?(請參考以下幾個網址)

  • 目前該工具對於 Windows 的支援度如何?

    • CM Tools 在 Windows 環境上使用
    • 使用 CM Tools 管理 Windows 環境
  • 針對 Container (Docker) 的熱門,似乎對於 CM Tools 帶來了一些影響,就你所知目前所使用的 CM Tools 有因此產生什麼變化嗎?(例如官方開始推出 Docker 相關的 Module)

  • 續上,你個人對於 Container (Docker) 對 CM Tools 帶來的影響有沒有什麼看法?例如有些人就認為 CM Tools 只剩下用來幫 Server 安裝 Docker 而已了。

  • 針對你所使用的 CM Tools ,官方未來將推出的新功能與特色,或相關專案中,有沒有比較令人眼睛一亮的項目?(例如 Ansible 最近推出了 Ansible Tower 3,目前則很努力的在搞 Docker module、Chef 的 InSpec 也挺有趣的。 )

  • 你在學習與導入 CM Tools 時,有沒有遇到什麼問題是覺得比較困難克服?或有沒有什麼經驗談可以與大家分享?

  • 請問學習 CM Tools 有什麼建議先點的前置技能?e.g. Networking, Shell Script, etc.

  • 如果遇到多 AP 連結多 DB 架構,再配上多種環境 dev / staging / prod ,在佈暑 AP 時,你會如何處理機敏性資料?

  • 請問如何結合 CM Tools 來管理網路設備?

  • 請問如何驗証自已寫的 CM Tools 的腳本?

  • 請問使用 CM Tools 做大量部署、安裝、更新套件時,是否有遇到什麼瓶頸?或是其他地雷?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment