すべての開発者が調査すべき7つのストレージAPI
高度なデータストレージ機能は、ほんの数行のコードで追加できます。アプリケーションを拡張し、時間を節約するために、この記事で紹介するAPIのいずれかを使用することを検討しましょう。
ソフトウェア開発者は、アプリケーションに新しい機能を効率良く低コストで提供し、ユーザーと企業に利益をもたらすように前もって計画しています。すべての面でエキスパートにならなくても新しい機能を追加できる方法の1つは、別の製品のアプリケーションプログラミングインターフェイス (API) を使用することです。
APIを使用すると、他の開発者の成果を活用できます。他の誰かが、あるプログラミング上の問題を解決する方法を見つけたのであれば、あなたが自分で見つける必要はありません。たとえば、アプリケーションをSlackと統合する方法や、NASAが毎日提供する写真をWebサイトに表示する方法であっても同様です。公開APIを使用する場合、その専門技術を社内で開発する必要はなく、その機能や拡張機能を少しずつソフトウェアに組み込むことができます。APIを管理する開発者は、自社製品の機能を熟知しており、その機能の最適な使用方法を把握しています。
その一方で、自社で取得して管理する必要があるデータを安全に保管し、それらのデータにアクセスすることは、それぞれの会社の課題です。会社や顧客のデータは、ソフトウェアを使用して得られる典型的な成果物であるため、サイズや速度の制限なしにアクセスできるようにすることが重要です。ビッグデータと分析がアプリケーションの設計を左右するような時代には、そのことが特にあてはまります。
ストレージは、もはやデータウェアハウスとアーカイブにのみ関わる問題ではありません。情報は、アクセス可能、使用可能、移動可能でなければならず、自動化されたテクノロジーを使用して、そのような操作の速度を向上させる必要があります。また、情報の保存場所を決定することも、関連する検討課題になっています。ラップトップやモバイルデバイスからアクセスできるローカルサーバーの近くに配置すべきでしょうか。または、社外のクラウドで稼働しているサードパーティのデータセンターに配置すべきでしょうか。ほとんどの開発者は、ハイブリッドソリューションを選択します。
アプリケーションパフォーマンスの遅延やApp-Dataギャップが会社の業績や決算に与える影響について学びましょう。
このような状況では、ストレージテクノロジーにアクセスできるAPIは、はるかに興味深いものになります。ストレージテクノロジー企業にとって、ビジネスの要となるのは、自社の製品に顧客が簡単にアクセスできることです。ストレージ企業、ユーザーコミュニティ (オープンソース開発が可能な人材が所属するコミュニティなど)、その他のプロバイダーは、あなたに代わってAPIを作成し、シンプルな構造に保ち、デバッグし、ドキュメントを完備しています。
膨大な数のAPIを利用できますが、業界ではOpenAPI Initiative (OAI)、REX-Ray、その他の標準によって標準化を促進しています。APIの数や機能が増加するにつれて、注目すべきもう1つのトレンドとなっているのは、API管理プラットフォームの開発です。
ストレージAPIを検討する際に好まれるのは、新しいプロセスを導入できること、既存のプロセスを合理化できること (たとえば、独自のログイン機能を構築せずに単一のユーザー認証スキームを利用するなど)、アップセルや収益化の機会が提供されること、さらには、メトリック分析を通じて顧客に最適なサービスを把握できることです。
それでも、数多くの選択肢があります。利用可能なストレージを調べて、将来について少し検討してみましょう。
「ストレージ」が「バックアップ」以上の意味を持つようになったのは最近のことであるため、一部の企業は「エンタープライズバックアップ」が意味するものを作り直すことに取り組んでいます。今や、ストレージはデータとその使用履歴へのアクセスを意味するようになりました。履歴には、誰がどこでどのように、どのデバイスによってデータを使用したか、さらには、指定されたユーザーのみがデータを使用したかという情報が含まれています。
最初に、私はこれらのストレージAPIをわかりやすいカテゴリに分類しようとしましたが、多くの機能が共通していることに気づきました。結局のところ、1と0を格納したり取得したりするプロセスだという点ではどれも同じです。それでも、ストレージAPIについて理解を深めておけば、APIをソフトウェアに組み込むことの利点について検討する際に役立ちます。APIを組み込むことで、ソフトウェアの機能を拡張し (特にインターネットアクセスが信頼できない場合)、高品質なソフトウェアをスケジュールどおりに配信できるようになります。
クラウドストレージAPI
これらのサービスを使用すると、開発者はデータをクラウドに格納することができ、認証やその他のアクセス機能を利用して、データにアクセスできるユーザーを制御できます。たとえば、モバイルスキャンアプリケーションでは、ユーザーがログインする新しいオンラインリソースを開発者が作成しなくても、スキャンしたドキュメントをDropboxに保存するようにプログラムすることができます。
企業は常にプライベートまたはパブリッククラウドストレージの費用に関心がありますが、これはハイブリッドITインフラストラクチャの構築について進行中の検討内容に含まれています。また、セキュリティ上の懸念事項や固有の柔軟性 (おそらく可変性という言葉を使用すべきでしょう) も検討対象になります。
これらのAPIは、ローカルシステムとクラウドストレージの橋渡しを行います。重要な点は、会社のデータが、異なるサービスへの移行が困難かつコストのかかるような方法でベンダーによってトラップされないようにすることです。Amazon、Google、Microsoft、Box、およびDropboxのような企業は、比較的オープンなポリシーを持っています。このようなクラウドストレージのトップ企業は、おそらく言うまでもありませんが、提供する機能が一定の水準にあり、財務状況も安定しています。
Amazon S3
Amazon S3は高度にスケーラブルでコスト効率に優れたクラウドストレージであり、膨大な量のデータを格納できます。このサービスは大量のアップロード、転送、およびクエリを処理するように設計されています。2006年から存在しており、業界のリーダーと見なされているAmazon S3は、最も近い競合相手をすべて合わせたシェアの2倍の市場シェアを占有しています。データは最低3か所のデータセンターに分散して格納されます。規模を問わず、成長中の企業はAmazonの従量制課金設定に魅力を感じるでしょう。開発については、Amazonはプログラミング言語に対して中立的な立場を取ろうと務めています。RESTおよびSOAPバージョンのAPIが提供されていますが、SOAP APIは更新停止の状態になりつつあります。つまり、新しいS3機能はサポートされなくなります。
また、AmazonにはAPIゲートウェイがあります。これは、サードパーティがAmazonのAPIを使用しようとする場合や、独自のAPIを作成および公開するためのツールを探している場合に役立つサービスです。独自のAPIの作成を開始する前に、このゲートウェイをチェックしてみてください。あなたの取り組みは、すでに他の誰かが代わりに行っているかもしれません。
GoogleのCloud Storage API
Googleと協力すると、開発者はスケーラビリティとセキュリティの分野における同社の豊富な経験を利用できます。Googleは他の会社と連携する方法を心得ています。アプリケーションで利用できる数多くのサービス (支払い処理など) には、Google Cloud Storageとのコネクターが用意されています。
Googleでは、XML APIとJSON APIの2つのバージョンを提供しています。APIには2種類のコールがあります。クラウドストレージに接続して管理するためのコールと、接続されたクラウドアカウントとの間でデータをインポートおよびエクスポートするコールです。Googleによれば、Cloud Storage APIを使用すると、データが複数のデータセンターに複製されるため、優れたデータの一貫性が得られます。また、いつでも任意の量のデータ (要求ごとに数百ギガバイトのサイズであっても) にアクセスできます。デメリットは、ユーザーによってはGoogleのストレージAPIをやや複雑だと感じる点と、その料金体系を理解するには多少の努力が必要であるという点です。
BoxおよびDropboxのAPI
BoxおよびDropboxには、写真、ドキュメント、その他のファイルを対象としたWebベースのストレージ、同期、共有という同様の機能があります。どちらのサービスも、フリーミアムプラットフォームで提供されます。また、いずれも、Microsoft Officeとの統合や、他のクラウドアプリケーションとの統合が可能です。
BoxとDropboxのもう一つの共通点は、クラウドベースストレージ用の優れたAPIです。Amazon S3やGoogle Storageで、ユーザーが独自のストレージアーキテクチャーを管理する必要がある場合、BoxとDropboxはリモートファイルシステムのように機能します。たとえば、これらのAPIを使用してローカルデータ (ビジネスルールに基づいてタグ付けまたは分類している場合があります) を取得し、適切なクラウドアプリケーションにリモートで格納できます。開発者のモバイルアプリでは、APIを使用して、エンドユーザーがファイルを検索または共有できるようにすることができます。
静的なWebサイトのみをホストすることができ、動的なWebサイトはホストできないことに注意してください。
Media Storage API
メディアストレージには、写真やビデオの強力なファイル管理機能が付属しています。このストレージは、イメージ、ビデオ、オーディオのエディターなどのファイル作成アプリケーションと密接にリンクされる必要があります。主な利点は速度です。メディアストレージをユーザーのクリエイティブソフトウェアに直接リンクさせると、ワークフローとファイルトラッキングを大幅に簡素化できます。
Adobe Creative Cloud API
Adobeには、マーケティング、キャンペーン、コンテンツ管理向けの多数のAPIがあります。これらのAPIを使用すると、HTML、CSS、JavaScriptを使用してAdobeのアプリケーションをユーザーのアプリケーションと統合することができます。ここでは、現時点で利用できるかどうかは説明しませんが、Adobeは2018年にCreative Cloud APIを公開することを約束しており、「クリエイティブアプリケーションを自社のチームや顧客とつなぐ、シームレスなワークフローを構築する」と述べています。保存されたアセットにアクセスしたり、新しいアセットを作成したりする機能は、一般的なクラウドストレージプラットフォーム (および、それらのプラットフォームへのAPIアクセス) とよく似ている印象があります。ただし、Adobeによれば、CC Storage APIは、単なるストレージ以上のものを提供し、ファイルのレンディション、バージョン履歴、メタデータのAPIといった機能を備えています。この点について、同社は「ユーザーはCreative Cloudが統合された高度なエクスペリエンスを構築できます」と説明しています。
Youtube Data API
ビデオが、保存してアクセスするための重要なデータタイプであることは間違いありません。YouTubeのAPIはビデオをクラウドに保存できるため、ビデオをアプリケーションに統合する場合に大きな価値があります。このAPIを使用すると、コンテンツのアップロード、プレイリストやサブスクリプションの管理など、あらゆる種類のタスクを実行できます。また、検索機能も組み込まれています。YouTubeにはストレージに制限があります。上限に達すると、クォータがリセットされるまで結果が返されなくなります。1日に100万件を超えるリクエストを送信できますが、上限を超過したリクエストに対しては料金を支払う必要があります。この仕組みは、ファイルを管理して容量の肥大化を防ぎ、チャンネルを最新の状態に維持することを促すため、ある意味では有益だと主張する人もいます。ペタバイト単位のビデオファイルを持っているユーザーは、ずっと前にファイルを整理すべきだったのです。
Filestack API
Filestackのストレージ管理アプローチは、大規模なクラウドストレージベンダーとファイル管理ツールの間を仲介する役割を果たすことです。同社によれば、ファイルアップロード用の「デベロッパーサービス」をわずか数行のコードで提供できます。つまり、サイズの大きなファイルをアップロードおよび保存したり、さまざまなファイルタイプを変換および操作したりすることが可能になります。これは、内部で管理されているS3バケットで機能します。サポートされるサービスには、Amazon、Google、Microsoft、Dropboxなど、20を超えるクラウドサービスが含まれます。さらに、Filestackは、イメージを一括で編集し、オーディオを変換し、ビデオから音声を抽出するのに役立ちます。
結論
ソフトウェア開発者は、作成中のアプリケーションで、コンテンツの作成およびアクセス機能や、トレンド分析および市場分析を提供し、ソフトウェア内に新しいデータ管理機能をすばやく実装する必要がある場合、APIによって拡張されるストレージサービスを検討すべきです。APIは、ストレージ企業が市場と自社の成長を確認する優れた指標になります。ユーザーは、ストレージ企業が優先している事柄を把握し、自分の会社でうまく活用する方法を知ることができます。
この記事/コンテンツは、記載されている特定の著者によって書かれたものであり、必ずしもHewlett Packard Enterpriseの見解を反映しているとは限りません。

Lisa Nadile
先端技術ジャーナリスト、LMN Publishing
Lisa Nadile氏は、新しいテクノロジーの習得し、そのテクノロジーを使用する第三者をサポートすることに熱心に取り組んでいる技術者です。
enterprise.nxt
ITプロフェッショナルの皆様へ価値あるインサイトをご提供する Enterprise.nxt へようこそ。
ハイブリッド IT、エッジコンピューティング、データセンター変革、新しいコンピューティングパラダイムに関する分析、リサーチ、実践的アドバイスを業界の第一人者からご提供します。