クラウドの多種多様な「ストレージAPI」基礎の基礎

現代のWebはWeb APIに基づいて構築されていると言える。APIによって、Webアプリケーションは他の場所のサービスや情報にアクセスできる。  

Source: Original Post>

 Webコンテンツは、さまざまなオンラインソースの集約を基盤とする。昔はこれを「マッシュアップ」と呼んだ。「Internet 2.0」と呼ばれることもあった。だが、そうした呼称は過去のものとなり、APIの利用はITの構造の一部にすぎなくなった。

 本稿で取り上げるストレージAPIは、Webを軸とするアプリケーションにストレージサービスを提供する。

ストレージAPIとは

 「ストレージAPI」というだけではその意味は曖昧だ。APIはあるソフトウェアと別のソフトウェアの接続を可能にするコードにすぎない。

 ストレージアレイメーカーが「ストレージAPI」と言えば、自社の製品を監視、制御するソフトウェアを作成できるAPIを指す可能性がある。ブラウザベースのアプリケーションがデータをローカルに保持できるWeb開発インタフェース「localStorage」を指すこともある。

 本稿では別の点に注目する。取り上げるのは、サードパーティーのストレージまたはストレージサービス(データベース、データレイク、データウェアハウス)を提供するAPIだ。

ストレージAPIの種類

 ストレージAPIは、以下のように分類できる。

  • クラウドのファイル同期サービスに接続するAPIや、「Google Workspace」「Microsoft 365」(「Graph API」経由)などのアプリケーションに接続するAPI
  • クラウドプロバイダーのストレージサービスにWebアプリケーションを接続するAPI
  • データベース、データレイク、データウェアハウスなどのストレージ関連サービスを使用可能にするAPI

 本稿で取り上げるカテゴリーの定義は、中小企業がストレージやオフィススイートに接続するシナリオに適している。本稿でこのようなサービスに「接続する」と表現する場合、GET、POST、PUTなどのHTTPメソッドを使ってデータをCRUD(作成:Create、読み取り:Read、更新:Update、削除:Delete)することを表す。

主要プロバイダーのストレージAPI

 BoxとDropboxは、データに対するCRUD操作をアプリケーションに組み込めるAPIを公開している。APIアクセスは、一定の制限以下であれば無料だ。

 Microsoft Graphは多くのMicrosoft製品にアクセスできるAPIプラットフォームだ。同社は開発者向けに無料のMicrosoft 365アカウントを提供する。一定量を超えるとアクセスしたGraphオブジェクトの数を基に課金される(プレビュー期間は1000オブジェクト当たり0.375ドル、プレビュー期間終了後は0.75ドル)。

 Google Workspaceは、GoogleのさまざまなアプリケーションへのAPIアクセスを提供する。無償のトライアルサブスクリプションは14日間に限定されている。

 「Amazon Web Services」(AWS)、「Microsoft Azure」「Google Cloud Platform」(GCP)などのストレージへのアクセスは基本的にAPIベースで、RESTやHTTPコマンドが使われる。

 APIを使って「Amazon RDS」「Azure SQL Database」「Cloud SQL」(SQL)や「Amazon DynamoDB」「Azure Cosmos DB」「Cloud Datastore」(NoSQL)などのデータベースサービスにもアクセスできる。AWS、Azure、GCPは「MongoDB」「Scylla」「PostgreSQL」などのデータベースも利用できる。

 小企業や開発者に無料枠を用意しているクラウドプロバイダーもある。

 より複雑なデータストレージやデータレイク、データウェアハウスなどにもAPIでアクセスできる。Microsoftは「Azure Data Lake」、AWSは「Amazon Redshift」、Googleは「BigQuery」を提供している。