CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
今回からは、2023年に公開された論文「CAPA: An Architecture For Operating Cluster Networks With High Availability」に基づいて、データセンターネットワークの構成変更を安全に実行するためにGoogleのエンジニアが開発した、CAPA(containment and prevention architecture)と呼ばれるアーキテクチャーを紹介していきます。今回は、CAPAが必要とされる背景と、CAPAのアーキテクチャー概要を説明します。
クラウドプロバイダーやネットワークプロバイダーが管理する大規模なデータセンターネットワークでは、さまざまなレイヤーでの冗長化が行われており、理論上は無停止での稼働を実現するアーキテクチャーが採用されています。しかしながら、現実にはエンドユーザーに影響を与えるネットワーク障害が発生することがあります。Googleのネットワーク管理チームの経験では、その多く(2018年のデータでデータセンターネットワークの障害の58%以上)が、構成変更の管理作業に起因します。構成変更に伴う障害を防止するためのさまざまなベストプラクティスが知られていますが、冒頭の論文によると、大規模なデータセンターネットワークでは、このようなベストプラクティスを確実に適用する上でのいくつかの課題があります。そのため、構成変更に伴う想定外のネットワーク障害を防止するには、これらの課題を解決する仕組みが必要であり、Googleのデータセンターでは、2018年から、その実現を目指したCAPAと呼ばれるアーキテクチャーを導入しています。
冒頭の論文では、CAPAが解決するべき課題を大きく次の4つに整理しています。
前述の課題を解決するには、ネットワークの構成変更を実施する際に、さまざまなベストプラクティスを自動的に適用する仕組みが必要となります。CAPAでは、ネットワークの構成変更を実施する個々の管理者、あるいは、ネットワークの構成変更を実施するソフトウェアシステムを開発する個々のエンジニアにベストプラクティスの適用を要求するのではなく、事前に用意されたAPIを通して変更作業を行うことで、ベストプラクティスに基づいた安全な構成変更を実現します。
詳細については次回以降に解説しますが、大きくは、図1のような仕組みになります。
図1 CAPAのアーキテクチャー概要(論文より抜粋)
図1の最上段の「Operations Workflows」は、システムの構成変更を行うソフトウェアシステムです。そして、最下段の「Production Critical Systems」がベストプラクティスを確実に適用するべきネットワークシステムのコンポーネント群です。ソフトウェアシステムは、これらのコンポーネントを直接に操作するのではなく、中段にある「Regulation Systems」を介して必要な変更を行います。ソフトウェアシステムは、Regulation Systemsに対して、変更処理の個々のステップを指示するのではなく、「最終的にこうなって欲しい」という状態を宣言的に指定します。Regulation Systemsは、それを実現するための適切なステップを計算して、システムの状態をチェックしながら必要な変更処理を行っていきます。この仕組みであれば、Regulation Systemsがベストプラクティスに従った安全な構成変更を行うように設計しておけば、これを利用する個々の管理者やソフトウェアエンジニアに頼ることなく、安全な構成変更が実現できることになります。
今回は、2023年に公開された論文「CAPA: An Architecture For Operating Cluster Networks With High Availability」に基づいて、データセンターネットワークの構成変更を安全に実行するためにGoogleのエンジニアが開発したアーキテクチャー「CAPA」について、CAPAが必要とされる背景と、CAPAのアーキテクチャー概要を説明しました。次回は、CAPAによる処理の流れを具体例で説明します。
Disclaimer:この記事は個人的なものです。ここで述べられていることは私の個人的な意見に基づくものであり、私の雇用者には関係はありません。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes