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 互換性。 ほとんどの AI フレンドリーなフレームワーク(Next.js、Django、Laravel など)は 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,  # この行
    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 を通じて直接プロジェクトの作成、アプリケーションのデプロイ、データベースのプロビジョニングを行うことができ、プロセス全体を完全に自動化できます。