Upgrade to Pro — share decks privately, control downloads, hide ads and more …

学生サークルで開発するVMプロビジョニングツール

cyokozai
November 03, 2024
22

 学生サークルで開発するVMプロビジョニングツール

私の所属するNekko Cloud Teamでは、VPNでメンバーの自宅サーバを接続し、プライベートクラウドを構築しています。
ProxmoxでIaaS環境を運用しているのですが、手作業でVMを作成する工程は冗長であり、時間のかかる面倒な作業でした。

そこで、我々は「VMを作成する工程」をトイルと定義し、VM用プロビジョニングツール「Terrakko」を作成しました。
今回は、Terrakkoプロジェクトを通して、Nekko Cloud TeamにPlatform Engineeringという考え方をもたらす過程を紹介します。

アジェンダ:
マルチリージョンプライベートクラウド Nekko Cloud
Nekko Cloud IaaS基盤の開発における課題
サークル内のトイルと向き合う方法
Infrastructure as Codeという選択
プロビジョニングツール Terrakko

cyokozai

November 03, 2024
Tweet

Transcript

  1. 井上 裕介 a.k.a cyokozai 千葉工業大学 情報科学部 情報工学科 B4 ❏ ネットワークコンテンツ研究会

    Nekko Cloud Team ❏ 株式会社スリーシェイク sreake事業部 学生インターン生 :~$ YAML, Shell Script, Python, Go :~$ 本屋巡り、ダンス、サカナクション 自己紹介
  2. • マルチリージョンプライベートクラウド Nekko Cloud • Nekko Cloud IaaS基盤の開発における課題 • サークル内のトイルと向き合う方法

    • Infrastructure as Codeという選択 • プロビジョニングツール Terrakko 車輪をあえて再発明するという選択 アジェンダ
  3. VM設定を簡略化 工程 作業内容 解決策 VM作成 Nekko Cloud上で最適に動作するように毎回 各種パラメーターを大量入力&コマンド入力 テンプレートで簡略化 OSインストール

    IPアドレス・ユーザー名・SSH鍵・ qemu agentインストール Cloud-Initで簡略化 部長いるまるが12月の JPmoxs勉強会で登壇予定
  4. トイル (Toil) の定義 • 手作業で行う工程が多い • 頻繁に割り込みで発生する作業 • 繰り返し発生する作業 •

    非生産的な作業 • 開発の規模に比例して工程が増加する • 工程と作業の自動化が可能
  5. トイル (Toil) の定義 • 手作業で行う工程が多い • 頻繁に割り込みで発生する作業 • 繰り返し発生する作業 •

    非生産的な作業 • 開発の規模に比例して工程が増加する • 工程と作業の自動化が可能
  6. トイルを排除する工学的手法 • SRE (Site Reliability Engineering) システムの信頼性の維持と向上 システムの監視と自動化 • Platform

    Engineering 開発チームの認知負荷を下げ生産性の最適化 開発効率を上げるプラットフォームの設計
  7. Terraformを使ったVM作成 工程 作業内容 解決策 VM作成 Nekko Cloud上で最適に動作するように毎回 各種パラメーターを大量入力&コマンド入力 Terraformコマンドを実行 →

    遠隔からテンプレート を自動でクローン OSインストール IPアドレス・ユーザー名・SSH鍵・ qemu agentインストール Cloud-Initで簡略化