|
最近、最新のオープンソースソフトウェアとクラウドネイティブ技術のAPI戦略について、様々なイベントで講演する機会があり、いずれのイベントでも好意的なフィードバックをいただきました。このトピックの特徴は、API戦略の議論を典型的な視点からではなく、最新の技術やオープンソースソフトウェア、クラウドネイティブアプリケーションの成長がAPI戦略にどのような影響を与えているかという視点からアプローチしている点です。 まず、イノベーションについてお話ししたいと思います。最新のソフトウェアイノベーションはすべて、オープンソースソフトウェア、あるいはオープンソースソフトウェアをベースにしたものです。拡張現実(AR)、仮想現実(VR)、自動運転車、人工知能(AI)、機械学習(ML)、ディープラーニング(DL)、ブロックチェーンといった技術はすべて、数百万ものAPIを活用し、統合するオープンソースソフトウェアによって構築されています。 現代のソフトウェア開発には、APIの作成と利用が不可欠です。あらゆるものがAPIに関連しており、組織によってはAPIの蔓延(制御や標準化なしにAPIが広範に作成される状態)さえ見られます。 テクノロジースタックとクラウドネイティブアプリケーション現代のソフトウェア開発には、「スタック」という概念があります。開発者や組織には多くの選択肢があり、多様なテクノロジーの組み合わせから選択して独自のスタックを作成し、それらのスタックで作業を行ういわゆるフルスタック開発者を育成または雇用することができます。スタックの例としては、Linuxなどのオープンソースソフトウェア、プログラミング言語、データベース、ストリーミング技術、ランタイム、DevOpsツールなどが挙げられ、これらはすべてAPIを使用し、APIと統合されています。 テクノロジースタックの観点から見ると、クラウドネイティブアプリケーションとはコンテナベースのアプリケーションを指します。今日では、あらゆるテクノロジーが数多くのクラウドネイティブオプションを提供しており、クラウドネイティブなクラウドコンピューティングインフラストラクチャは、利用可能なクラウドネイティブエコシステムの一例です。 組織が数個のコンテナで実行されるアプリケーションから、数十、あるいは数百個のコンテナで実行されるアプリケーションに移行する場合、インフラストラクチャ全体の管理とオーケストレーションの支援が必要になります。ここでKubernetesが登場します。Kubernetesは、現代で最も人気のあるオープンソースプロジェクトの1つとなり、クラウドネイティブアプリケーションの事実上のインフラストラクチャとして機能し、Kubernetesオペレーターの新しいエコシステムを育成しています。現在、ほとんどの人気ソフトウェアには、Kubernetes環境での作成、構成、管理が容易な独自のオペレーターが用意されており、もちろん、オペレーターはKubernetes APIと統合することもできます。現在、多くのデータテクノロジーには、Kubernetes APIと統合されたステートフルアプリケーションの使用を容易にし、自動化するためのKubernetesオペレーターが用意されています。 API 管理レイヤーとは何ですか?クラウドネイティブ環境には、独自のスタック、クラウドインフラストラクチャ、オペレーティングシステム、コンテナオーケストレーション、コンテナオペレーター、アプリケーションコード、APIも存在します。これらすべてが、モバイルデバイス、Webアプリケーション、IoTデバイスを含むその他のサービスにデータを統合・公開するソフトウェアソリューションをサポートしています。テクノロジーの組み合わせに関わらず、API管理プラットフォームの機能を用いて、すべてを保護する必要があります。API管理プラットフォームはクラウドネイティブアプリケーションの上位層であり、データとAPIが組織のネットワーク外部に公開される場合は保護する必要があります。 さらに、技術アーキテクチャに関しては、API管理プラットフォームが柔軟な導入オプションを提供することが非常に重要です。戦略と設計には、PaaS、オンプレミス、ハイブリッドクラウド、パブリッククラウド、マルチクラウドアーキテクチャなど、異なるアーキテクチャ間での移植性と移行・導入能力が常に考慮される必要があります。 クラウドネイティブテクノロジーで考慮すべき3つのAPI戦略最新テクノロジー向けの API 戦略を設計する際には、3 つの主要な側面にまとめられるいくつかのオプションがあります。 まず、モノリシックなアプリケーションをサービスに分割し、クラウドネイティブなアーキテクチャへと移行するモダナイゼーション戦略があります。同時に、メインフレーム上のミッションクリティカルなアプリケーションとの統合も進めます。この戦略では、安全なAPIの構築と維持が求められます。 API戦略設計の2つ目の領域は、いわゆるヘッドレスアーキテクチャです。これは、まずAPIに機能を追加し、その後オプションでその機能をユーザーインターフェースに提供するという概念です。マイクロサービス、つまりAPIに基づいて設計された粒度の高いアーキテクチャを採用することで、統合と自動化が容易になります。 API戦略の3つ目の領域は、新しいテクノロジーに焦点を当てることです。これは、パブリックAPIに貢献し、利用する顧客やパートナーを引き付けるためのAPIエコシステムの構築から、テクノロジースタックの選択、AI、サーバーレスコンピューティング、エッジコンピューティングなどの新しいテクノロジーとの統合まで、多岐にわたります。最も重要なのは、すべてのAPI戦略にAPIガバナンスとセキュリティの考え方を含める必要があることです。 API管理プラットフォームには、APIの設計、テスト、セキュリティなど、ライフサイクル全体をカバーする機能が必要です。分析、ビジネスインテリジェンス、APIポータルなどの機能により、組織はDevOpsとライフサイクル全体にわたる管理を活用し、APIの開発、テスト、リリース、そして利用が可能になります。 現在の最先端技術の例と、これらの技術に関する知識と使用法を API 戦略の一部として組み込む方法には、次のものがあります。まず、DevOps 統合。DevOps 自動化では、さまざまな商用およびオープンソースのオプションが提供されます。主要なコンポーネントには、継続的インテグレーションと継続的デリバリー ツールが含まれます。もう 1 つの関連性の高い分野は、データと人工知能の技術です。これは、データの収集と整理からデータ分析、ML モデルと DL モデルの作成とトレーニングまで、AI 開発ライフサイクルのあらゆる段階で何千ものオプションがある成長分野です。AI 開発ライフサイクルの最終ステップには、これらの ML および DL モデルの自動展開と保守を含める必要があります。これらのすべてのステップは、API を介したさまざまなテクノロジーの完全な統合と、データ ソースを含む API 管理プラットフォームの主要レイヤーとの外部統合と組み合わせる必要があります。 オープンソースとAPI管理レイヤーつまり、オープンソーススタックやDevOpsツールから人工知能に至るまで、これらすべての新しいテクノロジーは、共通の保護・管理レイヤー、つまりAPI管理レイヤーを共有しています。API管理を軸としたセキュリティ第一のAPI戦略が必要です。APIは今日の世界では遍在しており、最新のテクノロジースタックはAPIを介してデータテクノロジー(データベースやストレージ)、DevOps、最先端のAIと統合されることを忘れてはなりません。APIの設計と管理においては、セキュリティを考慮することを忘れないでください。ヘッドレスアーキテクチャとして採用するか、新しいテクノロジーをベースにするかに関わらず、どのような最新のAPI戦略を選択するかに関わらず、API戦略はテクノロジーの選択と将来のビジョンと整合している必要があります。 |