※このブログは2023年10月25日に公開された英語ブログ「 Embracing Low-Code Development for Backend Apps with TiDB Cloud Data Services (Beta)」の拙訳です。
ダイナミックなアプリケーション開発の状況において、APIファースト戦略は、俊敏性とスケーラビリティを育む土台として浮上しました。APIの設計と開発を最初から優先することで、この戦略は様々なシステムやアプリケーションのシームレスな統合を促進します。しかし、そのメリットとは裏腹に、堅牢なAPIファースト・アプローチを実現する道のりにハードルがないわけではありません。具体的には、開発者はバックエンドの管理、特にマイクロサービスのコミュニケーションによく使われるRESTful APIを構築する際に、しばしば課題に遭遇します。必要なのは、バックエンド・アプリを構築するためのロー・コード開発データ・サービスなのです。
TiDB Cloudデータサービス (TCDS) は、開発者がバックエンド機能を利用する方法を再定義するために設計されたTiDB Cloudの画期的な新機能です。TCDSはTiDB Cloudを基盤としており、データベースと包括的なバックエンド管理のギャップを埋める、フルマネージドなバックエンド・アズ・ア・サービス・ソリューションを提供します。
この投稿では、TCDSがどのようにバックエンドアプリケーション開発を合理化し、APIファースト時代のRESTful API構築の課題を克服するかを分析・検討します。さらに、Postmanの「2023 State of the API」レポートから得た洞察をもとに、我々の見解を裏付けます。
APIファーストによるAPI構築の課題
APIファースト・アプローチとは、アプリケーション開発においてAPIを「第一級オブジェクト」として扱う戦略です。このアプローチは、開発を非常に容易にし、その結果、市場投入までの時間を短縮、コストを削減し、開発者の生産性を向上させ、コラボレーションを強化し、リスクを削減します。単なる戦略ではなく、イノベーションの触媒なのです。
しかし実際には、この戦略を成功裏に実行できている組織は限られており、2023 State of the API Reportによると、本番環境でAPIを構想・実装・テストし、迅速にデプロイできた企業は19%に過ぎません。具体的には、これらの組織はRESTful APIを構築するためにAPIファーストのアプローチを採用しています。
図1. APIの構築 – 本番稼動までの時間
(提供 @Postman)
APIファースト戦略の採用を阻害し、結果としてAPI開発の遅れを引き起こしている多くの課題や障害が起きています。
限られた開発者のリソースと専門知識
APIの構築と管理には、専門的なスキルと知識が必要となります。そのため、有能な開発者を見つけ確保することが課題となり、API開発の遅延や品質問題につながることになります。さらに開発プロセスには、習得のための高いハードル、データベース管理、課金、監視、高可用性などの反復作業が含まれます。これらの非効率は開発スピードを遅らせ、開発者のモチベーションを下げてしまう恐れがあります。
API開発のためのインフラ不足
マイクロサービスアーキテクチャ用のAPIを構築・管理するには、サービスメッシュやコンテナオーケストレーションプラットフォームのような特殊なインフラが必要です。これには、ホスティング・プラットフォームや、キャッシング、オブザーバビリティ、ルーティングなどの重要な機能を提供するサードパーティ・ベンダーへの多額の先行投資が伴います。非効率でコストがかかるプロセスは、市場投入までの時間を遅らせ、ビジネス運営の自由度や成長の可能性を損なうことになりかねません。
中央集権的なAPI管理ソリューションの不在
APIエコシステム内のエンドポイントの数が増えるにつれ、APIを効率的に管理し拡張することがますます難しくなります。一元化されたAPI管理ソリューションがなければ、複数のAPIにまたがる一貫性と可視性を維持することは困難となり、この問題を軽減するために、企業は一般的な管理タスクを容易にしたり、自動化したりするAPI管理ツールやプラットフォームに投資することになります。この場合も、特別な専門知識と増大するコストが必要となります。
APIを設計・構築するための標準化されたアプローチの欠如
ドキュメント、プログラミング言語、コンフィギュレーション、デプロイオプションをカバーする標準化されたアプローチがなければ、開発者がAPIの設計と開発に対する最も効果的なアプローチについてコンセンサスを得ることは困難です。このような不和はAPI設計に矛盾をもたらし、長期的なメンテナンスとスケーラビリティの課題を引き起こす可能性があります。
APIファースト戦略の普及を妨げている課題や障害について探ってきた結果、これらの問題は個別の事象ではないことに注意する必要があり、実際、2023 State of the API レポートは、我々が議論した課題ととても近い課題が報告されています。
図2. API構築の課題 – 生産までの時間の遅れ (提供 @Postman)
TiDB Cloudデータサービスはどのように役立つのか?
TCDSは、データベースと包括的なバックエンド管理間の溝を埋める、フルマネージド・バックエンド・アズ・ア・サービス・ソリューションとして登場しました。TCDSは、スケーラビリティが高く、データ駆動型のアプリケーションを簡単かつ正確に構築することを可能にします。このセクションでは、TCDSがどのようにバックエンド・アプリケーション開発を合理化し、先に述べた課題に対処するのかを掘り下げていきます。
図3 – データサービスを検討するメリット
ローコード開発により数秒でエンドポイント (API) を構築し、運用環境に展開
TCDSは、バックエンドAPIを構築するための直感的でローコードな開発アプローチを提供し、熟練したアプリケーション開発者と市民開発者の両方に対応しています。注目すべきは、Chat2Query AIエンドポイントを活用することで、最小限の予備知識しかない開発者でも、複雑なSQLクエリを迅速に作成し、ビジネス要件に沿ったバックエンドアプリケーションを構築できることです。さらに、エンドポイントの自動生成機能はプロセスを簡素化し、開発者は数回クリックするだけでCRUDエンドポイントを生成してデプロイできます。
TCDSを使えば、開発者は簡単にエンドポイントを設定し、テストすることができます。特に、統合APIのテストのためにPostmanを使用している場合、TCDSは、ワンクリックでPostmanコレクションにエンドポイントを統合し、移行することができます。この柔軟性により生産性が向上し、企業は大規模な雇用を行うことなく、市場投入までの時間を短縮することができます。最後に、このソリューションは専門的な開発者リソースを必要としないため、イノベーションをより身近でコスト効率の高いものにします。
統合された完全な管理
TCDSは、一元化された運用しやすいソリューションを提供することで、開発者や組織がインフラ開発やサードパーティとの統合にリソースやコストをかける必要をなくします。TCDSは、スケーラビリティ、高可用性、セキュリティ、信頼性、可観測性といった運用機能をすべて備えています。
TCDSによるエンドポイントの管理は直感的です。具体的には、キャッシュやページング、GitHubとの統合、コネクションプーリング、ロードバランシング、さらにはOpenAPI仕様を使ったAPIドキュメンテーションといった機能的な機能があらかじめ用意されています。これは、ユーザーの時間と労力を節約し、使った分だけ支払う手頃な料金モデルを提供します。
API開発規格に準拠
TCDSは業界標準を遵守し、GitHubリポジトリを通じてDevOpsプラクティスとシームレスに統合します。この統合により、開発者は標準的なプロセスから外れることなく、好みの環境で作業することができます。
RESTエンドポイント開発の主要言語としてSQLを利用することで、TCDSは標準化されたバックエンドプラクティスを促進し、API設計の不整合を減らします。これにより、長期的なメンテナンスとスケーラビリティの課題を最小限に抑え、コストを削減し、市場投入までの時間を短縮し、開発者のモチベーションを高めます。さらに、生成されるAPIドキュメンテーションはオープンAPI仕様に準拠しているため、将来的なプラットフォームの切り替えにも大きな影響を与えません。さらに、TCDSはレスポンス構造とエラーコードを標準化するため、開発者はレスポンスを処理し、システムの動作を効率的に予測することができます。
従来の自己管理型とTCDS完全管理型のバックエンドAPI開発
TCDSによるバックエンドアプリケーション開発は、従来のアプローチと何が違うのでしょうか?
従来のバックエンド開発
従来の自己管理型バックエンド開発では、セットアップと保守を行う複数のアーキテクチャ・コンポーネントが存在します。これには、スケーラビリティのためのKubernetesのようなランタイムプラットフォーム、サービスディスカバリーやキャッシングのような機能のためのサービスメッシュ、デプロイのためのCI/CDプラットフォーム、ルーティングや信頼性タスクのためのAPIコントローラーなどが含まれますが、これらに限定されず、API開発そのものと並んで、各コンポーネントは個別にインストール、デプロイ、管理を必要とします。
このアプローチは困難で時間がかかり、習得のための高いハードルを伴います。個別のコンポーネントを管理することは、複数の障害点や複雑性の増加を招く可能性があります。
図4. 従来の自己管理型バックエンドシステムの概念的な概要
TCDSによるバックエンドアプリケーションのためのモダンなローコード開発
逆に、TCDSを使ったバックエンドシステムの構築は、合理的なアーキテクチャを採用しています。そのプロセスは、TiDB Cloudアカウントにサインインして、すぐにデータアプリとHTTPSエンドポイントの設定に入るのと同じくらい簡単です。習得の過程はほとんどなく、必要な労力は最小限です。さらにTCDSでは、利用する特定のサービスに対してのみ料金を支払います。
そのシンプルさに加え、キャッシュ、ページング、レート制限、コネクションプーリング、セキュリティ、スケーラビリティ、APIドキュメンテーションなど、最新のアプリケーション開発にとって極めて重要な機能の多くが、下図の点線で示されており、シンプルなコンフィギュレーションの変更によって容易に利用できます。この直感的なアプローチにより、開発者はビジネスニーズの解決のみに集中することができ、インフラ管理の手間を省くことができます。
最後に、フルマネージド・ソリューションとして、TCDSは時間と労力を節約し、コストを削減します。言うまでもなく、AIエンドポイント機能により、開発スキルが限られている場合でも、ビジネス要件に合わせたエンドポイントを迅速に作成することができます。
図5. TCDSを用いた最新のフルマネージド・バックエンド・システムの概念的概要
比較一覧
以下は、バックエンドシステムの構築に関わる様々なバックエンドタスクの詳細を示す包括的な表です。従来のアプローチで必要とされるステップと、TCDSを使用した場合の合理化されたプロセスを比較しています。
バックエンドのタスク | 従来型 (セルフホスト) | TCDS (フルマネージド) |
---|---|---|
プラットフォームの選択 | 複数のプラットフォームのセットアップ | 統一されたソリューション、数クリックで簡単セットアップ |
開発への取り組み | 専門家を雇い数週間から数ヶ月の開発期間を要する | 特別な雇用はなく数分から数日の開発期間 |
テスティング | 手動でテストを設定し実行する | ネイティブテスト:Postmanとの統合 |
CI/CDの統合 | サードパーティツールによる手動設定 | GitHubとの統合。1つのソリューションで設定ベースのセットアップが可能 |
配置 | 手作業で評価し設定する | 完全自動化 |
オートスケーリング | 手動によるトラフィック・ベースのスケーリング | 自動で適応 |
キャッシュ設定 | 手作業で評価と設定を行い、コストを分離する | シンプルな設定と従量制の価格設定 |
共有/エクスポートAPI | エンドポイントを手動でエクスポート | 直接エクスポートが可能 |
モニタリング* | ログの手動統合/メトリクス | 直接入手可能なログ/メトリクス |
API ドキュメンテーション | 手動で作成/維持 | ビルトインAPIドキュメント |
セキュリティ | 手動認証/認可のセットアップ | 簡単に選択し、セットアップが可能 |
レート制限 | APIコントローラーによる手動設定 | APIキーごとの直接設定 |
コストセンター* | 価格情報を手動で監視 | ソリューション内で容易に利用可能 |
ジョブ* | 非同期リクエストの手動設定/管理 | 簡単な設定と管理 |
* 現在は利用できないが、将来的に利用可能になる予定。
この比較は、TCDSを選択することで開発の手間と複雑さが大幅に軽減され、バックエンド開発の効率と利便性が向上することを示しています。
次の段階は?
ローコード開発とTCDSの可能性を探求する準備はできましたか?始めるのは簡単です!TiDB Serverlessにサインアップし、画面上のチュートリアルに従うだけで、すぐにTCDSの世界に飛び込むことができます。
今後のハウツーブログでは、TCDSの可能性を最大限に活用するためのステップバイステップのガイドやベストプラクティスをご紹介します。TCDSがあれば、イノベーションはあなたの指先にあります。私たちは、皆様がどのようなアプリケーションを開発されるのか、とても楽しみにしています!
ローコード開発とTCDSの詳細をご覧ください:
TiDB Cloud Dedicated
TiDB Cloudのエンタープライズ版。
専用VPC上に構築された専有DBaaSでAWSとGoogle Cloudで利用可能。
TiDB Cloud Serverless
TiDB Cloudのライト版。
TiDBの機能をフルマネージド環境で使用でき無料かつお客様の裁量で利用開始。