Novita × TiDB: コードから本番環境へ

Novita × TiDB: コードから本番環境へ

Novita Artifact Hosting と TiDB は、AI 生成アプリケーション向けに、マネージドアプリケーションデプロイと本番対応データベース層を統合します。Novita がランタイムを処理し、TiDB が MySQL 互換のデータインフラを提供することで、AI コーディングエージェントは、生成されたコードから、データを活用したライブアプリケーションへ、単一のデプロイワークフローで移行できます。

課題

過去 1 年間、Cursor、Claude Code、Devin などの AI コーディングエージェントにより、「単一のプロンプトからアプリを構築する」ことが可能に感じられるようになりました。しかし、依然として厄介な現実があります。エージェントが生成したコードのほとんどが本番環境に到達しないのです。

コードが必ずしも悪いわけではなく、デプロイが依然として複雑すぎるからです。

典型的な AI 生成アプリには、以下が必要になる場合があります。

  • コンテナやサンドボックスなどのランタイム環境
  • PostgreSQL や MySQL などのデータベース
  • ドメインと SSL 証明書
  • 環境変数の設定
  • データベースマイグレーションスクリプト

これらは、エージェントがコードを書くときに通常処理するものではありません。

AI コーディングエージェントは依然としてデプロイの部品を組み立てる必要がある

Novita Artifact Hosting: エージェントが構築するもののためのホーム

Novita Artifact Hosting は、AI コーディングエージェントによって作成されたアプリケーション向けに設計されたフルマネージドデプロイプラットフォームです。核となるアイデアはシンプルです。

エージェントがコードを書きます。Novita がコードを実行可能にします。

ワークフローは簡単です。

  1. エージェントがサンドボックス内でコードと Dockerfile を生成します。
  2. 単一の SDK 呼び出し project.deploy(sandbox_id, arti_dir) でデプロイが開始されます。
  3. Novita が Docker イメージをビルドします。
  4. 軽量ランタイムがデプロイをオンラインにします。
  5. ユーザーは https://my-app.novita.space などのドメインを通じてアプリにアクセスします。

このワークフローはすでに稼働しています。しかし、これは問題のコンピューティング面のみを解決しています。実際のアプリケーションにはデータも必要です。

TiDB: AI 生成アプリに最適なデータベース層

AI 生成の Web アプリケーションの場合、データベース層には 2 つの厳しい要件があります。

  1. MySQL 互換性。 Next.js、Django、Laravel など、AI に適したほとんどのフレームワークは、MySQL エコシステムとスムーズに連携します。AI 生成コードも MySQL ドライバーを使用する可能性が非常に高いです。
  2. 運用不要。 エージェント開発者はデータベースを管理したくありません。接続プールの設定、パラメータのチューニング、バックアップの処理も行いたくありません。

TiDB は両方の要件を満たします。

  • MySQL プロトコルと完全互換であるため、AI 生成コードは SQL を書き換えることなく実行できます。
  • 自動スケーリングを備えた分散アーキテクチャにより、専任の DBA は不要です。
  • HTAP サポートにより、同じデータベースで OLTP トランザクションと分析クエリの両方を処理できます。

Novita + TiDB: 1 つのパラメータでデータベースを追加

Novita Artifact Hosting では、マネージドデータベースの有効化に 1 つのパラメータだけが必要です。

deployment = project.deploy(
    sandbox_id="xxx",
    arti_dir="./workspace/my-app",
    database=True,  # this line
    migrations=[
        Path("./migrations/0001_schema.sql").read_text(),
        Path("./migrations/0002_seed.sql").read_text(),
    ],
    http_port=3000,
)

Novita Artifact Hosting と TiDB のデプロイワークフロー

舞台裏で自動的に行われること:

  1. プロジェクト用の TiDB インスタンスを自動的に作成または再利用します。
  2. テーブル、インデックス、シードデータを作成するために、マイグレーションを順番に実行します。
  3. DATABASE_URL をデプロイ環境に注入します。アプリは os.environ["DATABASE_URL"] から直接読み取ります。
  4. アプリをデプロイし、データベースに接続して、ユーザーへの提供を開始します。

開発者にとって、これはデータベースへのサインアップ、接続文字列の設定、手動のマイグレーション手順が不要であることを意味します。たった 1 行、database=True だけです。

AI コーディングエージェントにとっての意味

以前 現在
エージェントがコードを書き、その後開発者が手動で Vercel や Railway にデプロイする。 エージェントがコードを書き、1 回の SDK 呼び出しでアプリをデプロイする。
開発者は TiDB Cloud、PlanetScale、または他のプラットフォームでデータベースを作成する必要がある。 マネージドデータベースが自動的に作成され、接続詳細が自動的に注入される。
マイグレーションスクリプトは手動で実行する必要がある。 マイグレーションが自動的に順番に実行される。
環境変数は手動で設定する必要がある。 DATABASE_URL が自動的に注入される。
1 つのアプリを出荷するには、3 つのプラットフォーム間の調整が必要。 1 つのプラットフォームと 1 つの API が全フローを処理する。

現在のステータス

  • Artifact Hosting は稼働中で、カスタムドメインをサポートしています。
  • TiDB を搭載したマネージドデータベースは現在トライアル中です。
  • Python SDK と CLI のサポートが利用可能です。
  • オープンソースの例は GitHub で入手可能です: ecomm-with-sqlecomm-with-managed-dbsnake-game-static

今後の展望

マネージドデータベース機能が GA に達すると、Novita + TiDB の組み合わせはさらに拡大できます。

  • マルチリージョンデプロイ: TiDB のマルチデータセンター機能と Novita のグローバルサンドボックスノードの組み合わせ。
  • データ主権: ユーザーはデータの保存場所を選択できます。
  • エージェントネイティブワークフロー: エージェントは SDK を通じて直接プロジェクトの作成、アプリケーションのデプロイ、データベースのプロビジョニングを行えるようになり、プロセス全体が完全に自動化されます。