クラウドサービスを過信するべからず
先日、日経XTECHの記事で実に有益なものを見つけました。今やインフラ設計には欠かせないものとなったクラウドサービスの稼働率についてです。
クラウドを過信する人々
クラウドサービスの仕組みを知ってか知らずか、あるいはクラウドサービスの利便性を過信し過ぎてなのか、クラウドサービスに対する信者は一定数存在するように思います。
たしかに24時間365日使えて、欲しい時に簡単に拡張できるスケーラビリティを兼ね備えているクラウドサービスは最強のように思います。
しかしクラウドサービスも所詮物理機器の集まり、壊れる時は壊れますし、トラブルが発生する時は発生します。それを忘れてしまってる人が一定数いるような気がします。
クラウドの稼働率
クラウドサービス事業者は大量のサーバを世界中に配置して、リソース共有をさせることで、なるべく安く、なるべく多くの顧客に、従量課金をして稼いでいます。
各リソースは巨大なネットワークで接続され、このネットワークもまた共有されます。つまり、クラウドサービスとは素晴らしいスケーラビリティを提供すると同時に、巨大な単一の故障範囲を持ち合わせているのです。
事実、2020年4月にはAWS、6月にはIBM Cloudで障害が発生しており、とても多くの顧客に影響を与えました。
完全なサービス停止だけカウントすれば稼働率は99.9%などと、良くあるSLA値のようになるのかも知れませんが、故障により顧客へある程度大きな影響を与えた事例も入れると90%程度なのではないかという試算もあります。
もっとも、後者は影響の定義がうまくできず、計算しようにも難しいのですが。
クラウド利用の際に考慮すべきこと
基本的なことかも知れませんが、クラウドサービスも使えなくなることを想定した設計が必要です。
いくらクラウドサービス側で冗長化をしていても、サービスが停止し得ることは最近の事例を見ても明らかです。
よって、稼働率や冗長性を完全にクラウド任せにするのか、待機系をオンプレミスで持つのかなどの判断と設計が必要になります。
異なるクラウドサービス事業者で冗長を組むのもありですね。