- 目次
1. はじめに
パブリッククラウドの市場は、世界的に大きな伸びを見せています。
NTTデータでも、パブリッククラウドを活用した案件は右肩上がりで増加しています。多くの業界・企業からお声がけいただき、非常に多くのパブリッククラウド案件の開発を実施しています。
パブリッククラウドを利用することにより、コスト面、拡張性などメリットが得られます。反面、光とともに闇があるように、もちろんデメリットもあります。
本記事では、パブリッククラウドを上手に活用するために理解しておく必要のあるデメリットと、その対策についてお伝えします。
2. パブリッククラウドのデメリット
パブリッククラウドのデメリットは、一言でいうとオンプレミスではごく当たり前にできていたことができなくなることです。これは、オンプレミスではユーザがシステム全体に対して責任を負っているのに対し、パブリッククラウドではユーザの責任範囲、パブリッククラウドベンダの責任範囲が明確に分かれる(システム全体への責任を共有する)ことに起因します。
主な例を5点ご紹介します。
図:システム全体に対する責任範囲の違い
2.1 ソフトウェアアップデートのタイミングコントロールができない
昨今の製品では、リリース後に機能改修やセキュリティ向上のためのアップデートを実施することが一般的です。そのため、「サービス開始後、アップデートを行わずに運用する」という選択肢は、事実上存在しません。
しかし、ソフトウェアアップデートは予期せぬ障害を招くことがあります。オンプレミスでは障害を避けるために、適用タイミングを障害時の影響が少ない夜間などにする、検証環境での動作確認が完了するまで本番環境に適用しない、といった対策を取ってきました。
一方、パブリッククラウドの場合は、パブリックラウドベンダがアップデート要否やタイミングを検討・決定するため、利用者側でコントロールすることができません(※一定期間内は適用を猶予する、適用タイミングを調整する、といった限定的なコントロールができるサービスもあります)。つまり、意図しないタイミングでソフトウェアアップデートが行われ、障害が発生する可能性があります。
2.2 サービス開始後の体制縮小ができない
パブリッククラウドは、新しいサービスの開始、既存サービスへの機能追加や廃止、といった進化が継続的に行われます。また、パブリッククラウドベンダの判断により、OSやミドルウェアのバージョンアップ・廃止が強制的に行われる場合があります。
オンプレミスでは開発途中でOSやミドルウェアのバージョンを固定し、サービス終了までバージョンアップを行わない運用も多いのですが、パブリッククラウドではこのような運用は不可能です。そのため、保守体制をオンプレミスと同様に縮小することもパブリッククラウドでは困難です。体制を縮小する場合でも、パブリッククラウドの最新状況を把握しプロジェクトへの影響を判断できる体制を確保する必要があります。
2.3 障害試験の実施が難しい
障害が発生したときでもシステムが期待通りに動作するかテストする障害試験は、システムの品質確保のために非常に重要な試験です。しかし、ほぼ全ての障害を実機検証できたオンプレミスと異なり、パブリッククラウドではどうやっても実機検証できない障害、あるいは実機検証が難しい障害があります。
それに対しては、2つの対応方法があります。
1つ目は、模擬検証です。
パブリッククラウドにおいてもカオスエンジニアリングの考えに基づき、故意に障害を起こして検証を行うことが重要です。そのため、インスタンス停止やCPU負荷の高騰状態の模擬など、容易に検証できる障害は、複数回、サービス開始後も検証を繰り返すことで実際の障害に備えます。
2つ目は、机上検証になります。
HDD故障やLANケーブル断線といった物理的なハードウェア障害、データセンタ全断によるバックアップサイトへの切り替えなど大規模な事象は実際に発生させることはできません。そのため、机上検証で品質を担保します。
2.4 障害時の原因究明、再発防止が難しい
パブリッククラウドは高い可用性を有していますが、影響の大きい障害が年に数回発生しています。たとえばマスコミにも報道された2019年8月の東京リージョンでの仮想マシン障害(AWS)、2021年4月のDNS障害(Azure)に加え、2021年9月にもAWS DirectConnectにて障害が発生しました。
障害が発生した場合、パブリッククラウドベンダのWebサイトで公開される内容をもとに、利用者側で復旧状況を把握することができます。しかし、障害復旧後の原因究明や再発防止策の実施内容、実施有無は公開されないため、利用者で把握することはできません。オンプレミスとは異なり、利用者では障害原因や再発防止策の検討をできないことを理解する必要があります。
2.5 セルフサービスだからこそのリスクがある
パブリッククラウドは、利用者自身が設計、設定して利用するセルフサービスです。非常に便利ではありますが、ここではセルフサービスならではのリスクを2点、ご紹介します。
1つ目は設定誤りによるインシデントです。たとえば、誤って非公開の情報を『公開』に設定した場合、パブリッククラウドベンダは指摘をしてくれません。あるいは、本来不要なサービスを起動してしまった場合も、警告などはしません。特にパブリッククラウドはインターネットに接続していることが前提となるため、ごく簡単な操作で『公開』できてしまうことから特に注意する必要があります。
2つ目は利用料が青天井になるリスクです。従量課金型の課金体系が多く、正しく使えば安価となりますが、利用後に終了し忘れていた、そもそも高額なサービスを間違って利用してしまったなど、うっかりミスで利用料金が青天井に高騰する可能性があります。オンプレミスでは「ついうっかり」で利用料金が高騰することはありません。
3. 正しく活用するための3つの取り組み
ここまで5つのデメリットをご紹介しましたが、パブリッククラウドを正しく活用すれば、デメリットを上回るメリットを享受することができます。では、正しく活用するためには、どのような取り組みが必要なのでしょうか。NTTデータでは、3つの取り組みが必要だと考えています。
まず1つ目は、オンプレミスとパブリッククラウドの違いを理解し、オンプレミス前提の考えから、パブリッククラウド前提の考え方へと大きく意識改革を行うことです。意識改革はパブリッククラウドに関わる全ての人が同じ認識を持てるよう共有することも重要です。
2つ目は、パブリッククラウドの制約および留意点を正しく理解し、メリットを最大限に活かすアーキテクチャを検討、採用することです。加えて、障害試験を含めて十分な検証を行い、不具合を摘出することがシステムの安定化につながります。
3つ目は、過去のトラブル事例を共有し、先人の知恵として取り込むことです。オンプレミスと同様に、同じトラブルを再現しないよう、吸収していくことが重要と考えています。
これら3つの取り組みを推進するため、NTTデータではパブリッククラウドを上手に使うための標準化やテンプレート整備、クラウド有識者の育成、組織横断でのノウハウ、障害情報の蓄積・共有に取り組んでいます。他にも、トラブル防止に向けて有識者によるクラウド案件の提案内容、設計内容の妥当性チェックを実施しています。
4. まとめ
本稿では、パブリッククラウドを上手に活用するために必要なことをお伝えしました。
まずは、オンプレミスとパブリッククラウドは違うということを理解し、大きな意識改革を行うことが重要です。NTTデータでは、社内外の意識改革や、社内で発生したトラブル事例の共有を図り、パブリッククラウドを活用するお客様に貢献していきます。