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

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

Avatar for cyokozai cyokozai
November 03, 2024
84

 学生サークルで開発する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

Avatar for cyokozai

cyokozai

November 03, 2024
Tweet

More Decks by cyokozai

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で簡略化