第7章. 世界のアプリケーション分布とステージング
この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com
この本では、アプリケーションを構築、開発、デプロイするための様々なプラクティスをいくつか見てきた。
アプリケーションをグローバルにデプロイする必要がある理由は様々である。アプリケーションの成功やミッションクリティカルが高いため、ユーザに必要な容量を提供するために世界中にデプロイする必要がある。このようなアプリケーションの例としては、パブリッククラウドプロバイダの世界規模のAPIゲートウェイ、世界規模で展開する大規模なIoT製品、大成功を収めているソーシャルネットワークなどがある。
世界規模のスケールを必要とするシステムを構築する人は比較的少ないが、遅延のために世界規模のフットプリントを必要とするアプリケーションは多くなっている。コンテナやKubernetesを使っても、光速を回避することはできない。クライアントとアプリケーション間の遅延を最小化するために、アプリケーションを世界中に分散させ、アプリケーションとユーザ間の物理的距離を最小化する必要がある場合もある。
最後に、グローバルにデプロイするさらに一般的な理由は、地域性である。 帯域幅の理由(リモートセンシングプラットフォームなど)やデータプライバシーの理由(地理的制限など)のいずれにせよ、アプリケーションの可能性や成功のためには、アプリケーションを特定の場所にデプロイする必要がある場合がある。データプライバシーや主権に関する法律や規制を導入する国や地域が増えるにつれ、その場所に居住するユーザにサービスを提供するために、アプリケーションを特定の場所にデプロイすることがビジネス上一般的に必要になってきている。
このような場合、アプリケーションはもはや、ほんの一握りの本番クラスタに存在するだけではない。それどころか、数十から数百の異なる地理的ロケーションに分散している。これらのロケーションの管理と、グローバルに信頼できるサービスを展開することは、重要な課題である。この章では、これを成功させるためのアプローチとプラクティスを取り上げる。
画像を配信する
、世界中でアプリケーションを実行することを検討する前に、世界中にあるクラスターでそのイメージを利用できるようにする必要がある。まず考慮すべきなのは、イメージレジストリが自動ジオレプリケーション機能を持っているかどうかだ。クラウドプロバイダーが提供する多くのイメージレジストリは、自動的に世界中にイメージを配布し、イメージをプルリクエストするクラスタに最も近いストレージへのリクエストを解決する。多くのクラウドでは、あなたがイメージを複製する場所を決めることができる。例えば、あなたが不在の場所を知っているかもしれない。このようなレジストリの例としては、Microsoft Azureコンテナレジストリがあるが、同様のサービスを提供しているものもある。地理的複製をサポートするクラウド提供のレジストリを使えば、世界中にイメージを配布するのは簡単だ。レジストリにイメージをプッシュし、ジオ配信する地域を選択すれば、あとはレジストリが処理してくれる。
クラウドレジストリを使用していない場合、またはプロバイダが画像の自動地理的配信をサポートしていない場合は、その問題を自分で解決する必要がある。特定の場所に設置されたレジストリを利用する方法もある。このようなアプローチにはいくつかの懸念がある。 ...