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

AI駆動開発 IBM Bob で IBM Cloud サーバレス環境へ移植

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for 1kano 1kano
August 01, 2026

AI駆動開発 IBM Bob で IBM Cloud サーバレス環境へ移植

このテーマのポイント:
IBM Bob を使ってクラウド移植の計画を自動生成したこと
IBM Cloud CLI によってデプロイ作業を省力化したこと
Code Engine を使ってバックエンドをサーバレス化したこと

Avatar for 1kano

1kano

August 01, 2026

More Decks by 1kano

Other Decks in Technology

Transcript

  1. JICUG(Japan IBM Cloud User Group) IBM Bob で サーバー から

    サーバレス IBM Cloud へ移植 AI駆動開発 FunnyGeek 鹿野 市郎
  2. 自己紹介 KANO Ichiro ◼ 所属/経歴 鹿野 市郎 • 電機メーカー勤務 •

    経歴 1. サーバーのグローバル製造技術/営業 2. データセンター・プロジェクト 3. マネージドサービス(マルチクラウド・ハイブリッドクラウド) • 副業いろいろ
  3. はじめに このテーマのポイント: 1. IBM Bob を使ってクラウド移植の計画を自動生成したこと 2. IBM Cloud CLI

    によってデプロイ作業を省力化したこと 3. Code Engine を使ってバックエンドをサーバレス化したこと IBM Object Storage フロントアプリ フロントアプリ バックエンドアプリ IBM CodeEngine バックエンドアプリ 仮想サーバー(IaaS) サーバーレス
  4. 1. 導入:今回のテーマ 今日は「AI駆動開発で作ったマルチプレイゲームを、IBM Cloud に CLI だけでデプロイするまでの道のり」を共有します 前回 • 前回までに

    IBM Bob を使って、Web / Application / DB の三層構成アプリを自動生成。 • さらに IBM Bob を使って、Terraform で Code Engine / ICOS / Cloudant にデプロイするIaC生成 を実践しました。 • 課題は Terraform の知見。 「お作法を覚えるまでの学習コスト」が重い。 今月は IBM Bob を使って、IBMCloud CLI によるデプロイに挑戦
  5. 2. 移植方式の相談 • Bob を 2.0 にアップデート • 3つの候補 Bob

    チャットに「API 経由で Code Engine にデプロイしたい」と伝えたら: – IBM Cloud API をラップした MCP Server を自作 – IBM Cloud CLI – Terraform を MCP で操作する • MCP Server 自作は「やり直しリスク」が高いので、 今回は CLI でコード化する方針に決定
  6. チャット 「MCPサーバー自作 と CLIコード化の比較して」 比較軸 MCP Server 自作 ibmcloud CLI

    コード化 実装コスト 高い(MCPサーバーのスキャフォールド+IBM Cloud SDK実装) 低い(CLIコマンドをスクリプト化するだけ) 信頼性・安定性 IBM Cloud SDKの変更に追従が必要 CLIは後方互換性が高く安定 Bobとの統合 ネイティブ(ツールとして直接呼べる) シェル実行経由(execute_command) デバッグのしやすさ 難しい(MCPレイヤー+API層の2段構え) 簡単(CLIコマンドをターミナルで直接試せる) 認証管理 IAM APIキーをMCPサーバー側で管理 ibmcloud login 済みセッションを再利用できる エラーメッセージ 自前でパース・整形が必要 CLIが人間可読なメッセージを返してくれる 対応サービスの幅 実装した分だけ ibmcloud CLIプラグインが対応する全サービス オフライン開発 SDK変更でテスト環境が壊れうる --dry-run や --help でオフライン確認可 再利用性 高い(他プロジェクトにも適用可) スクリプトはプロジェクト依存になりがち 将来IBM公式MCPが出たとき 作り直し or 競合が発生 CLIスクリプトはそのまま残せる 自作は、後で変更追従とか機能不足とか悩み多そう… CLIでやる!
  7. 3. 題材:マルチプレイゲームのクラウド移植 シンプルな移植を、AIに自動実行させる • 1台の Linux サーバーで動くマルチプレイゲームを題材にする – バックエンド:Node.js –

    フロントエンド:JavaScript • クラウドネイティブ化する – バックエンド → Code Engine – フロントエンド → ICOS(WEBホスティング)
  8. 4. Bob が作成したデプロイ計画 Bob は以下の7章構成で Bobデプロイ計画.md を生成 • • •

    • • • • アーキテクチャ概要 前提条件・依存関係 設計上の重要課題 デプロイ全体フロー – フェーズ1: IBM Cloud 環境準備 – フェーズ2: コンテナイメージのビルドと ICR への push – フェーズ3: Code Engine アプリのデプロイ – フェーズ4: ICOS バケット作成と静的ファイルアップロード – フェーズ5: ICOS の静的ウェブサイトホスティング設定 – フェーズ6: 動作確認 環境変数一覧 コスト見積もり 運用上の注意事項
  9. 5. このタスクの質問あるか? タスク実行前に Bob へ質問あるか聞くことをお勧め 質問 IBM Cloud のリソース状況について、 Code

    Engine プロジェクトと ICOS バケットは既に作成済みですか?また、使用 予定の IBM Cloud リージョンを教えてください(例:jp-tok, us-south など) 私の 回答 [.env]ファイルに記載あるので参照して 完璧です。必要な情報が揃いました。計画書を作成します。
  10. 6. 移植順序 Bob の計画に沿って、以下の順で実行 事前 • – WebSocket URL の

    meta タグ対応を実装 フェーズ1 • – – – – – – Dockerfile 作成 docker build ibmcloud cr login docker push フェーズ3 • – ibmcloud ce project create ibmcloud ce application create --scale-min 1 -scale-max 1 フェーズ4 • – – – ibmcloud login ibmcloud target -g default フェーズ2 • – ibmcloud cos service-instance-create ibmcloud cos bucket-create 静的ファイルアップロード フェーズ5 • – – bucket-policy-put(パブリック読み取り) bucket-website-put フェーズ6 • – 動作確認チェックリストに沿ってテスト → ゲーム画面が正 常に動作し、マルチプレイも成功。 作業手順を設計する大変だから、AIありがたい
  11. 7. コスト最適化 • 課金しているのは Code Engine アプリのみです。 • デプロイ後は ICOS

    のアクセス権を削除し、Code Engine の 起動を停止して、無料枠で維持できる状態に調整。 リソース Code Engine アプリ(minscale=1 で常時稼働) 課金状況 課金中 停止方法 アプリ削除またはスケール0に変更 Code Engine プロジェクト Free 無料 残存可 ICR イメージ(46MB) 無料枠500MBを超えると課金 (現在は枠内) 残存可(削除すれば再プッシュ不要) ICOS インスタンス(lite プラン) Free 無料 残存可 ICOS バケット・オブジェクト Free 無料(lite 枠内) 残存可
  12. Before / After • 仮想サーバー(IaaS) から サーバレス へクラウド移植(AIで移植) IBM Object

    Storage フロントアプリ フロントアプリ バックエンドアプリ IBM CodeEngine バックエンドアプリ 仮想サーバー(IaaS) サーバーレス
  13. 8. まとめ • Bob と CLI を組み合わせ AI駆動アプリ開発からクラウドデプロイまでの流れが爆時短 • Terraform

    のような本格 IaC が理想だが、 CLI でクラウド操作をコード化するだけでもAI時代は効果あり • 次は、監視モニタリングの進化した姿「オブザーバビリティ」を計装する • 今後は MCP や API 連携も視野に入れつつ、 AI × IBM Cloud の開発体験をさらに磨いていきたい。