DevPod は、Function Compute が提供するオンラインの統合開発環境 (IDE) です。ネイティブの Visual Studio Code (VS Code) 環境と同様のクラウドベースの開発体験を提供します。複雑なローカル環境を構成することなく、クラウド上で直接コードの記述、デバッグ、デプロイが可能です。このトピックでは、DevPod の特徴と、Function Compute コンソールでの DevPod の構成および使用方法について説明します。
概要と利点
統合されたクラウド開発環境として、DevPod は以下の主要な利点を提供します:
すぐに利用可能:ワンクリックでクラウド IDE を起動できます。ローカルでの構成は不要です。
VS Code のような体験:使い慣れたインターフェイスとユーザー体験により、学習コストを削減します。
オンライン共同作業:チームメンバーが統一された環境で開発とデバッグを行えます。
一貫した環境:開発、テスト、本番環境の一貫性を確保します。
永続ストレージ:コアデータをインスタンスから独立して保存し、データのセキュリティと信頼性を確保します。
イメージのビルドと再利用:開発環境を固定化し、迅速なデプロイと簡単な共有を実現します。
制限事項
DevPod を使用する際は、以下の制限事項にご注意ください:
ランタイムサポート:現在、DevPod はカスタムイメージランタイムのみをサポートしています。
オペレーティングシステム:glibc 2.28 以降を搭載した AMD64 ベースの Linux システム。推奨されるベースイメージには、
debian:10、ubuntu:20.04、centos:8、またはそれ以降のバージョンが含まれます。プリインストール済みのツール:
curlコマンドがプリインストールされている必要があります。ユーザー権限:デフォルトのユーザーは
rootです。GPU の互換性:Function Compute の GPU は、ドライバーバージョン 570.133.20 を使用しており、これは CUDA ユーザーモードドライバーバージョン 12.8 に対応しています。最適な互換性を得るためには、CUDA Toolkit 11.8 以降のバージョンを使用することを推奨します。バージョンは、プラットフォームが提供する CUDA ユーザーモードドライバーのバージョンを超えてはなりません。詳細については、「GPU ドライバーバージョン 550.54.15 から 570.133.20 へのアップグレード」をご参照ください。
コンソールでの DevPod の構成
前提条件
関数が作成されていること。詳細については、「関数の作成」をご参照ください。
操作手順
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。
関数詳細ページで [コード] タブをクリックし、次に [DevPod の作成] をクリックします。
DevPod インターフェイスで、必要に応じて関数コードの記述とテスト、サードパーティの依存関係のインストールができます。
永続ストレージ
すべての DevPod インスタンスは、NAS ディレクトリを /mnt/<function_name> にマウントします。このディレクトリ内のデータは、インスタンスが破棄された後も永続化されます。この機能により、DevPod はモデルの重みやトレーニングデータなどの重要なファイルの保存に最適であり、特に AI 開発に適しています。
DevPod は、デフォルトで次の環境変数を有効にします:
HF_HOME=/mnt/<function_name>/hf
MODELSCOPE_CACHE=/mnt/<function_name>/modelscope
OLLAMA_MODELS=/mnt/<function_name>/ollama永続ストレージには、次の特徴があります:
作成プロセス中にイメージには含まれません。
DevPod を削除しても、コンテンツは保持されます。
この機能は、イメージサイズを制御するために、大規模なモデルファイルを保存するのに適しています。
HTTP サービスのリモートデバッグ
DevPod を使用すると、ローカルで実行されている HTTP サービスをプロキシ経由で公開できます。この機能は、リモートデバッグやフロントエンドの統合テストに役立ちます。
操作手順
DevPod ターミナルで HTTP サービスを起動します。例:
python -m http.server 9000コンソールで [開発環境へのアクセス] をクリックして、プロキシアドレスを取得します。アドレスは次のフォーマットを使用します:
https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/このアドレスでサービスにアクセスします:
curl https://<devpod-id>.cn-<region>.ide.fc.aliyun.com/proxy/9000/
注意事項
React や Vue で構築された、絶対パスに依存するフロントエンドのシングルページアプリケーション (SPA) などでは、静的リソースの読み込みに失敗することがあります。この問題は、プロキシパスのプレフィックス /proxy/9000/ が原因で発生します。
イメージのビルドと保存
イメージのビルド
コンソールで [イメージのエクスポート] をクリックします。
ACR タイプを Personal Edition または Enterprise Edition に設定し、次のパラメーターを構成します:
注:NAS マウントディレクトリ (
/mnt/<name>) のコンテンツは、イメージにパッケージングされません。[OK] をクリックし、イメージがビルドされてプッシュされるのを待ちます。
課金
DevPod は、ご利用のアカウントにデプロイされる Function Compute (FC) の関数であり、名前にプレフィックス _DEV_POD_ が付きます。したがって、次の項目に対して課金されます:
Function Compute の料金:関数の呼び出しとリソース使用量に対する料金。詳細については、「課金概要」をご参照ください。
NAS ファイルストレージ料金:マウントされた NAS ファイルシステムに対する料金。詳細については、「汎用 NAS ファイルシステムの課金」をご参照ください。
さらに、イメージビルド機能は、ビルドプロセスを支援するためにご利用のアカウントに FC 関数を作成します。対応する関数の呼び出しに対して課金されます。
DevPod の使用が終了したら、不要な課金を避けるために、速やかに削除し、NAS などの関連リソースを手動でクリーンアップしてください。
DevPod と WebIDE の比較
ディメンション | WebIDE | DevPod |
サポートされるランタイム | Python、Node.js、PHP、カスタムランタイム | カスタムイメージランタイムのみ |
インターフェイスエリア | 4つのエリア:リソースマネージャー、ファイルエディター、関数操作、コマンドラインターミナル | 3つのエリア:リソースマネージャー、コマンドラインターミナル、ファイルエディター |
ストレージ制限 | ユーザーあたり 5 GB | 変更されたファイルが 100,000 未満、合計サイズが 5 GB 未満 |
永続ストレージ | Dedicated Edition は NAS と OSS をサポート |
|
VPC アクセス | Serverless Edition ではサポートされていません。Dedicated Edition でサポートされています。 | 関数の構成に基づきます |
イメージのビルド | サポートされていません | ACR (Personal または Enterprise Edition) へのイメージのエクスポートをサポート |
リモートデバッグ | サポートされていません | HTTP サービスプロキシを介したデバッグをサポート |
AI シナリオのサポート | 指定なし |
|
エディションの選択 | Serverless Edition または Dedicated Edition | 個別のエディションはありません。すべてのインスタンスが専用です。 |
主な用途 | 軽量なオンラインでのコード編集、デバッグ、依存関係のパッケージング | コンテナ化された開発、イメージのビルド、AI モデル開発 |
課金方法 | Serverless Edition は無料です。Dedicated Edition はインスタンスごとに課金されます。 | FC 関数の使用量と NAS ストレージコストに基づいて課金されます |
まとめ:
WebIDE は、関数コードの迅速な記述とデバッグに適した軽量なオンラインコードエディターです。複数のランタイムをサポートし、無料の Serverless Edition を提供しており、クラウドベースの VS Code Lite に似ています。
DevPod は、カスタムイメージランタイムに重点を置いた強力なコンテナ化されたクラウド開発環境であり、永続ストレージ、イメージのビルド、リモートデバッグなどの高度な機能を提供します。DevPod は、AI モデル開発や複雑な環境構成を必要とするシナリオに最適です。完全なクラウドコンテナ、VS Code 環境、イメージビルドツールを組み合わせています。