マイクロサービスとAPI:必須の組み合わせ

マイクロサービスアーキテクチャは、規模の大小に関係なく、あらゆる企業から支持されています。今では、ソフトウェアやアプリケーションの最も一般的な設計方法の一つとなりました。マイクロサービスは、従来のモノリシックな開発手法と比べ、アプリケーションの開発や更新を迅速かつ容易にすることから、企業の俊敏性の向上という面で高く評価されています。NetflixやGoogle、Amazonなどのリーディング企業がマイクロサービスの採用と運用に成功しており、他の企業のお手本となっています。

ほとんどの企業にとって、マイクロサービスアーキテクチャの導入と移行は、企業を大きく進化させることとほぼ同意ではないでしょうか。進化プロセスは段階的です。マイクロサービスベースのアプリケーションと従来型のアプリケーションが共存・連携しながら、企業としての最適な形態に近づいていくのです。既存のアプリやシステム、現行のビジネスプロセスおよびオペレーションなどを白紙にしてしまっては、マイクロサービスは成り立ちません。

マイクロサービスを適切に設計しないと、欠点ばかりが目立ってしまうかもしれません。「無秩序なサービスの拡大や複雑化」と「冗長的な業務の発生」は、マイクロサービスを導入した企業が悩みがちな事柄として挙げられます。ITアーキテクチャを有効化するために、組織はマイクロサービスにAPIを組み合わせる必要があるのです。

企業にとっての課題は、多数のデプロイ済みアーキテクチャとマイクロサービスアーキテクチャの組み合わせ方法を見定めることです。マイクロサービスがもたらす「スピード」と「柔軟性」を享受しながら、「複雑性」を抑制しなければなりません。この解決策の一つにAPIの使用があります。包括的なAPI戦略を布くことでマイクロサービスは管理しやすくなり、既存のレガシーシステムとの共存が容易になります。決して、重要なシステムに影響を与えない(かつ影響されない)ような、クローズドなスペースのみに限定する必要はありません。マイクロサービスアーキテクチャと包括的なAPI戦略を組み合わせることで、マイクロサービスの欠点を抑えつつメリットを活かせることは、多くの企業で実証済みのアプローチなのです。

マイクロサービスとAPIの連携の仕組み

少し前まで、APIは低級なプログラミング・インタフェースと位置づけられていました。今ではAPI自体が製品となり、RESTのような標準に準拠することで、開発者にとって接しやすくなりました。もちろん、マネジメントやガバナンスも強化されています。実際、APIプロバイダ間による競争も激しくなっています。開発者からの高いエンゲージメントを獲得するため、利用者と開発者やプロバイダがAPIの配布や販売ができる「APIエコノミー」が急速に成長しています。

APIの用途が変わったことで、APIの技術的要件も変化しました。開発者が欲しがっているAPIを検索しテストできるポータルは当たり前の存在となりました。また、使用するAPIを登録・決済するための仕組みも必須と言ってよいでしょう。APIは外部に公開されるため、APIゲートウェイを介した強力なセキュリティ機能も当然必要です。こうした機能はすべて、APIマネジメントに含まれています。ますます貴重になるビジネスアセットの制御、可視化、ガバナンスを提供するための然るべき機能です。外部で利用されるAPI(とその価値)を観察すると、ある疑問がわくと思います。すなわち、なぜ自社は他社のようにAPIを使い切れていないのか?APIから価値を引き出せていないのか?

APIマネジメントのテクノロジが発達してきたため、自社の「データソース」や「サービス」「アプリケーション」を自ら開発したり、横展開したり、再利用したりすることが可能になりました。つまり、社内のさまざまなチームで、ソフトウェアの開発を『見える化』することができるので、ITチームの生産性を向上することが可能になりました。その好循環が、社内APIエコノミーの構築をさらに促進させています。

マイクロサービスはエンドポイントが増えるほど、データやアプリの接続の制御が難しくなるという特徴があります。そのため、マイクロサービスアーキテクチャにおいては、社内のAPIエコノミーの価値はさらに高まります。これらすべてを、ポイント・ツー・ポイントで接続することは非現実的でしょう。マイクロサービスアーキテクチャのような高度に分散した環境では、API戦略を策定することがとても重要なのです。

マイクロサービスかモノリスか?オンプレミスかクラウドか?といった選択に関係なく、あらゆるサービスを公開するために多くの企業で採用されているAPI戦略の一つに『API主導の接続性』があります。API主導によるインテグレーションは、さまざまなタイプのサービスを公開するための包括的なアプローチです。このアプローチにより、APIの再利用が可能となり、サービス機能を簡単かつ迅速に構築・更新することができるようになります。API主導の接続性についての詳細はこちらをご覧ください。

マイクロサービスが定着するほど、レガシーのITスタックを有する大企業にとって、組織内すべてのサービスを統合して価値を引き出すことが重要になります。効率性の向上とビジネスの拡大が、導入前よりも現実的になるからに他なりません。この事実こそ、マイクロサービスをより活用するためにも、企業がAPI主導のインテグレーションを採用すべきであることの証左となっています。

APIは、新しく導入するマイクロサービスと従来のレガシーシステムとのギャップを埋めるだけでなく、マイクロサービスの構築と管理を容易にしてくれます。API戦略の採用により、企業はマイクロサービスの機能を製品として公開でき、社内外のビジネス価値の向上を実現することができるのです。

標準化・製品化されたAPIは、レガシーシステムとSaaS間のポイント・ツー・ポイント接続を構築するための多大なコストも削減します。これらAPIにより膨大なカスタムコーディングが必要なくなるため、事業部や顧客のニーズやリクエストに応じたマイクロサービスと既存システムの接続や切り離しがスピーディになります。そしてAPIは、組織の俊敏性を維持したまま、企業全体に標準化メリットをもたらします。つまり、トラフィックの「管理」や「監視」「ロギング」「監査」「セキュリティ対策」を、高いレベルで組織全体に行き渡らせることができるのです。

適切に管理されたAPIにより、マイクロサービスの検索と発見そして再利用が可能になります。有益なマイクロサービスは、多くのユーザや組織に利用されるべきでしょう。APIインタフェースにより、有益なマイクロサービスを見つけ出すことが容易になります。社内外の幅広いユーザに公開することで、再利用可能な機能として管理されるようになります。

MuleSoftによるマイクロサービスとAPIの導入サポート

マイクロサービスとAPIの共存のためには、単一のインテグレーションプラットフォームをデプロイしなければなりません。これにより、開発者がデプロイ場所に悩むことなく、マイクロサービスやレガシーシステムの統合、管理および可視化が行えます。当然、マイクロサービスを見つけだし再利用することも可能になります。『Anypoint Platform』でマイクロサービスを管理すると、中身の見えないモノリス(「泥の塊」と言われることも)を、ビジネスの要件に応じて構成・再構成することができる『資産』にグレードアップさせることができます。

Anypoint PlatformはAPI主導の接続性の実現により、IT資産(アセット)の再利用を促進させます。つまり事業部門とIT部門が、再利用可能なアセットをセルフサービスによって利用できるようになるのです。IT統括部門によるガバナンスのもと、社内全体の各チームが独自のインテグレーション・プロジェクトを迅速かつ安全に実行できるようになります。

Spotifyはビジネスプロセスの合理化により、顧客の声に俊敏に対応できる組織づくりのために、APIとマイクロサービスを組み合わせています。このアプローチは、ユニリーバやflydubai、その他大手銀行など、多くの企業で採用されています。特にユニリーバは、80以上のマイクロサービスを構築し、eコマース・アプリと世界中のレガシーシステムを接続しています。同社は、マイクロサービスアーキテクチャとAPI主導のアプローチを組み合わせることで、開発時間の短縮を実現しました。アプリケーションの開発からデプロイを、従来比の約4倍のスピードで実現したのです。