クラウドでのコンピューティングは安価かもしれませんが、無料ではありません。
今日のアプリの大部分は、安全な HTTP 経由で配信されています。 つまり、TLS またはますます不評になっている SSL を意味します。 これは暗号化を意味し、伝統的にはパフォーマンスの問題を意味すると翻訳されてきました。
技術の進歩により、今日の CPU は驚くほど高速になり、多くのクライアント (およびサーバー側) ハードウェアは、かつては特殊な暗号化ハードウェアであったものをネイティブに統合しています。 つまり、接続ごとに見ると、暗号化の速度は以前ほど問題ではなくなりました。
しかし、暗号化が依然としてパフォーマンスと運用コストの原因ではないということではありません。
暗号化がパフォーマンス問題の大きな原因であるという主張を否定する議論のほとんどは、1 つのクライアントと 1 つのサーバーが関係する単純なシナリオに基づいています。 これは 1 つの暗号化プロセスと1 つの復号化プロセスです。 そして、そのようなシナリオでは、反対派の意見がほとんど正しいのです。 暗号化と復号化によって生じる遅延は最小限であり、通常は TCP やネットワーク関連のオーバーヘッドほど問題にはなりません。
しかし、今日のapplicationsは単一のエンドポイントで構成されていません。 「単一のエンドポイント」に到達する前に、メッセージが通過しなければならない仲介者とプロキシが複数存在します。 これらは、セキュリティとアクセス制御、負荷分散、ルーティングのエンドポイントです。 現代のデータ パスという複雑なダンスの中で指定された役割を実行するには、それぞれがメッセージを平文で検査する必要があります。
ここで、暗号化はそれほど高価ではないという主張は崩れ始めます。 単一のエンドポイントだけでは、遅延はほとんど発生しません。 しかし、データ パスの各エンドポイントでこれらの遅延が複数回繰り返されると、個々の遅延が積み重なって顕著になり、特にパブリック クラウドの場合は運用コストが高くなります。
暗号化は当然のことながら、計算コストの高いプロセスです。 つまり、ビジネス ロジックを実行するよりも、メッセージを暗号化または復号化するのに多くの CPU サイクルが必要になります。 クラウドでは、CPU サイクルは費やされるお金に似ています。 一般的に、資本コストを運用費用に転換することが目的であるため、これは許容されるコストです。
しかし、メッセージを複数回復号化および暗号化すると、コストがかさみ始めます。 実質的に、同じ暗号化プロセスに対して複数回料金を支払うことになります。 一度実行したときには 1 ペニーしかかからないと計算されたものが、5 回実行すると突然 5 ペニーかかることになります。 1 日 (または 1 時間) にわたって数十万件のトランザクションを計算すると、その結果生じるコストは驚くほど大きくなります。
また、暗号化処理によって消費される各 CPU サイクルは、ビジネス ロジックに費やされない CPU サイクルであることにも注意してください。 これは、必要以上に早くスケールアウトすることを意味し、負荷を処理するために追加のインスタンスが起動されるたびに、さらに多くのコストが発生します。
「どこでも SSL」は、クラウド内の「どこでも復号化」アーキテクチャにつながるべきではないとだけ言っておきます。
コストを削減し、支払っている CPU の効率を最大化するには、「一度復号する」という原則に基づいてクラウドベースのアーキテクチャを設計する価値があります。 「一度復号化」とは、転送中にメッセージを復号化して再暗号化する必要があるデータ パス内のエンドポイントの数を最小限に抑えることを意味します。
そのためには、現在applicationsのセキュリティ保護と拡張に使用している16 種類の異なるapplicationサービスについて、事前によく検討し、慎重に検討する必要があります。 エンドツーエンドの暗号化を要求する規制や要件の対象でない場合は、後で復号化のために無駄になる追加のサイクルを回避するために、メッセージができるだけ早く復号化されるようにデータ パスを設計します。 エンドツーエンドの暗号化を維持する必要がある場合は、可能な限りサービスを組み合わせることで、コンピューティング リソースを最も効率的に使用できるようになります。
可能なサービス(たとえば、負荷分散と Webapplicationファイアウォール)を 1 つのプラットフォームで組み合わせると、送信中にメッセージを復号化する必要がある回数が減ります。 また、ネットワーク上の接続数と時間を削減できるという利点もあり、ユーザーと消費者にとってパフォーマンス上のメリットにつながります。 しかし、実際に節約できるのは、復号化と再暗号化を繰り返すのに費やされない CPU サイクルです。
現在あまり使用されていないアプリの暗号化と復号化の影響を考慮するのは時間の無駄のように思えるかもしれません。 確かに、数セントではその努力にかかるコストを賄うことはできません。 しかし、アプリが成長し、拡張され、時間の経過とともに存続するにつれて、それらのわずかな金額が蓄積されて影響力のある金額になります。 言うまでもなく、ペニーと同じように、マイクロ秒も積み重なっていきます。 データ パス全体にわたる暗号化の影響を考慮することで、長期的にはユーザーとビジネスの両方にメリットがもたらされます。