現在、マイクロサービスに関する話題が盛んに取り上げられています。 これらはアプリケーション アーキテクチャにおける新しいトレンドであり、BFF であるコンテナーと併せて言及されることがよくあります。 InfoQ が最近実施した調査では、どちらも「使用中または使用予定」リストの上位にランクされており、コンテナ (回答者の 71.79%) がマイクロサービス (70.4%) をわずかに上回っていることが明らかになりました。 興味深いことに、同じ調査で、マイクロサービスは現在コンテナ(29.44%)よりも多く使用されていることが示されました(32.21%)。
いずれにせよ、マイクロサービスとコンテナがほとんどの組織が注目しているテクノロジーであることは議論の余地がないようです。
ただし、アプリケーション アーキテクチャの大きな変化と同様に、アプリ サービスとネットワーク機能がこれらの新しいアプリケーション アーキテクチャのニーズに合わせて適応するため、ネットワークにも同様の変化が生じます。 これは、アプリケーション アーキテクチャの変更 (特に根本的な変更) によってネットワーク パターンが変わり、新しい言語や Web プラットフォームが伴い、セキュリティに関する課題も発生するという現実に一部起因しています。
たとえば、クライアント サーバーから (現在の) 従来の 3 層 Web アプリケーションへの移行により、アプリケーション アーキテクチャに別の層が追加されただけでなく、急成長するインターネット時代のアプリケーションに必要なスケールとパフォーマンスを提供するように設計されたインフラストラクチャの補完的な層も追加されました。 当時の新しいアプリケーション アーキテクチャである SOA から生じる課題に対処することのみに焦点を当てた XML ゲートウェイ、XML セキュリティ ゲートウェイ、XML ファイアウォール、およびその他の関連する「ネットワーク」デバイスの急激な成長を覚えているかもしれません。
その後、クラウドとモバイルが影響力を発揮し始めると、セキュリティが前面に出て、新しいネットワーク セキュリティ ソリューションが次々と誕生しました。 これらは、モバイル デバイスが動作するネットワークやクラウド アクセス セキュリティ ブローカーなど、モバイル デバイスの管理とセキュリティ保護に重点を置いていました。 ここで「ネットワーク」に微妙な変化が起こり、それは今でも感じられます。つまり、「ネットワーク」が事実上インターネットを含むように拡大したのです。 複数の環境にまたがるアプリケーションの継続的な分散は、間違いなく、従来 LAN に限定されていたサービス (特にセキュリティ) を「サービスとして」インターネットに継続的に移行するというネットワークの対応策となるでしょう。
現在、アプリケーション アーキテクチャでは、主に RESTful なマイクロサービスと API が普及しつつあります。 同時に、モノのインターネットとアプリケーションおよび人間のユーザーの爆発的な増加により、スケールの必要性が高まり続けていますが、今日そのスケールは運用に重点が置かれています。
その結果、ネットワークは、拡張、セキュリティ保護、最適化を担当するアプリケーション (サービス) とのアーキテクチャ上の互換性を実現するための取り組みで対応する必要があり、多くの場合、実際にそうしています。 つまり、クラウドを含む仮想およびコンテナ化されたフォームファクターを採用し、オーケストレーションと自動化を重視することになります。 テンプレート、API、そして最終的にアプリケーションの本番環境への提供を推進するフレームワークやツールセットとの統合機能が今日の目標です。
「ネットワーク」が反応しています。 APIが豊富にあります。 テンプレートと他のテンプレート システムのサポート (OpenStack Heat や AWS Cloud Formation Templates など) は一般的になりつつあり、アプリ配信インフラストラクチャを「コードとして」扱うためのサポートも一般的になりつつあります。
この適応は、パケットの速度とフィードが重要となるネットワークにおける従来の適応とは異なります。 この最新の適応は、プロビジョニングの速度と、ネットワーク内のフィードとしての API の機能に関するものです。 これは、パブリック クラウドまたはプライベート (オンプレミス) クラウドに単一のモノリシック アプリケーションとしてデプロイされているか、または 100 個のマイクロサービスの分離されたセットとしてデプロイされているかに関係なく、アプリケーションアーキテクチャとのアーキテクチャ互換性を実現することに重点を置いています。
誤解しないでください。ネットワークはアプリケーション アーキテクチャの変更によって影響を受け、さらには推進されます。 両者の間には共生関係があり、これは無視できません。特に、企業が成功し成長するために現在頼りにしているアプリケーションを提供するには、調整と協力が鍵となる、業務重視の時代に移行する中では、その関係は重要です。