オルタナティブ・ブログ > Mostly Harmless >

IT技術についてのトレンドや、ベンダーの戦略についての考察などを書いていきます。

AWS の障害 ~サーバーレスの可能性とは

»

先週金曜日、お盆明けの日本列島をAWSの大規模障害が襲いました。影響を受けた会社は多数に上ったようで、その数だけ緊急対応に当たった担当者の方々がいるわけですよね。大変お疲れ様でした。

【AWS障害】AWSの東京リージョンで大規模通信障害 エンジニアが悲鳴「もう帰ろうぜ」8/23

冷却システムの制御がうまくいかず、サーバーがオーバーヒートしたということですが、いろいろとフェイルセーフの仕組みが組込まれていたにも関わらず、一部の制御装置が正常に動作しなかったということで、不幸が重なった結果とも言えそうです。一方で気になるのは、ユーザー側は適切な冗長化対応を行っていたのかどうかと言う点です。

こういうことが起きると、「やはりクラウドは安心できない」という話になりがちですが、もそもクラウドサービスが「高可用性」を謳ったことは無く、元々可用性は低いのです。クラウドには圧倒的なメリットがあります。クラウドの弱点を知り、それをカバーできるシステム設計を行わなければなりません。

computer_server_panku.pngクラウドは特に安全というわけでは無い

IaaSのSLAは99.9%とか99.99%くらいのものが多く、可用性99.9999%と言われるメインフレームなどとは元々桁が違います。クラウドはそもそも可用性を追求したものではなく、ハードウェアの集約と共有により調達や配備、管理の手間を省き、低価格を実現するものなのです。大量のサーバーを仮想化しているため、局所的なハードウェアの障害には強い部分もあり、バックアップなども自動化できるメリットはありますが、絶対的な信頼性という意味ではメインフレームにはかないません。だから今でも、絶対に止ってはいけない銀行の基幹系はメインフレームを使い、しかもそれを冗長化しているのです。何にせよ、100%を目指すとお金と人手がかかるのです。

過去を振り返っても、クラウドの障害って、それほど珍しくはありません。

実は毎年発生、AWS大障害でも慌てないためにすべきこと

AWSだけではなく、GCPだってAzureだって、大小様々な障害は起きています。

冒頭で「クラウドの弱点を知り、それをカバーできるシステム設計」と書きましたが、AWSが2年半前に大規模障害を起こしたときの記事にも、

AWS大規模障害はなぜ起きた? クラウド不安を払拭するためにやるべき対策

複数のクラウドにアプリケーションを分散させる(マルチクラウド)ということに触れられています。全然新しい問題では無いのです。

今回のAWSで起きた障害のような事態を受けて真っ先にすべきことは、平静を保って自社のITアーキテクチャを見直すことだと業界の専門家は指摘する。

ただ、2年半前と比べて大きく違うのは、今回は日本リージョンの障害だったことと、クラウドを使ったサービスが増えたためでしょう。PayPayなどの決済系サービスやスマホゲームが影響を受けたために、不具合に遭遇したユーザー数が多くなり、注目も集まったということでしょう。

マルチAZ、マルチリージョン、マルチクラウド

今回の障害を受けて、クラウドシステムとはどうあるべきかの議論が活性化しています。サーバーワークスさんでも、障害の経緯と今後の対応についてPPTを公開しました。

2019年8月23日 13時頃に発生した AWS東京リージョンの障害に関してのご報告[第2報]

この中で、対策として「Multi-AZ」が挙げられています。AZ(Availability Zone)とは、リージョン内で分離されたエリアのことで、リージョンには複数のAZが含まれます。今回の障害も、日本リージョンの一部のAZに起きた障害でした。このことから、複数のAZを使った冗長構成をとることで、可用性を上げることができるということです。

これを一歩進めると、リージョン全体が障害の影響を受けた場合を考えて、マルチリージョン構成を取ることも考えられます。ここまでであれば、技術基盤やサービスが同じですから、お金はかかるにせよ、実現は可能でしょう。

それでも不安であれば、今後はマルチクラウドという選択肢も入ってくるのではないでしょうか。これまではクラウドベンダー間の技術基盤やサービス内容に差があって導入しにくかったですが、Kubernetesの普及によって現実味を帯びてきました。

究極はサーバーレスではないか

ただ、このIaaSベースの議論は、どこまで行っても「サーバーの管理」とか「死活監視」「運用」といった作業からは解放されません。むしろマルチXXによって監視対象が分散し、作業が増えることになります。そのような中、サーバーの管理・運用が不要なサーバーレスコンピューティングが、この状況を打開できるのではないかと言われているのです。以前書いた記事では、コストメリットに焦点を当てていましたが、現時点でのサーバーレスは機能なども限られ、IoTなどの限られた環境でのコストメリットがクローズアップされがちです。しかしサーバーレスという考え方そのものは、今後のクラウドのデフォルトとなっていく可能性が出てきているのです。

今年の2月に、こんな論文が発表されています。

Cloud Programming Simplified: A Berkeley View on Serverless Computing

あのDavid A. Pattersonさんなんかも参加しています。この中で、

Unlike serverless computing, Kubernetes is a technology that simplifies management of serverful computing.
サーバーレスコンピューティングとは異なり、Kubernetesはサーバーフルコンピューティングの管理を簡素化する技術だ。

としており、結局Kubernetesはサーバーありきの発想だとしています。対してサーバーレスには大きな可能性があり、

Serverless computing will become the default computing paradigm of the Cloud Era
サーバーレスコンピューティングは、クラウド時代のデフォルトのコンピューティングパラダイムとなるでしょう。

としています。

ただ、現状のサーバーレスには足りない機能がまだまだあり、今後の努力に期待、というような話のようです。(私自身は全部は読んでおらず、Podcastで解説を聞いただけなのですが)しかし、ユーザーが運用を考えずにビジネスロジックに集中できる環境として、今よりも理想に近いことは確かなのではないでしょうか。

 

【募集開始のご案内】次期・ITソリューション塾・第32期

次期・ITソリューション塾・第32期(10月9日開講)の受付が始まりました。

次期・第32期では、「デジタル・トランスフォーメーション(DX)の本質と実践」を基本コンセプトに、それを支えるテクノロジーや実践ノウハウなどを充実させる予定です。

そのための特別講師として、SAPジャパン社長の福田譲氏に講師をお願いし、DX時代の次世代ERPとお客様との実践的取り組みについてのお話を頂きます。

また、DXの先駆的な取り組みで成果をあげられている戦略スタッフサービス代表の戸田孝一郎氏、そんな時代の新しいセキュリティ戦略である「ゼロトラスト・セキュリティ」についてはマイクロソフト・ジャパンCSOの河野省二氏にも講師としてお招きし、新しい常識への実践的な取り組みをご紹介頂きます。

詳しくは、こちらをご覧下さい。具体的な日程や内容について、ご紹介しています。

Comment(0)