2022年12月末に発生したSkebの障害
原因: SkebはすべてのサーバとシステムをHerokuに設置していたが、障害発生時刻より同サービスのアカウントが理由の通知なく利用できなくなった。 解決: Herokuの一切の利用を中止し、すべてのサーバとシステムを別のクラウドサービスに移管したことで復旧。 (中略)
12月23日12時55分: Herokuのサポート窓口に連絡。 12月23日13時04分: Herokuのサポート窓口から応答がないため、セールスフォース・ジャパンに再度連絡し、同社が状況確認を行うように依頼。
↕この間の意思決定プロセスを知りたい(本当は全部しりたい)cFQ2f7LRuLYP.icon
Skebのサーバを設置している海外のクラウドサービスのスケブ社のアカウントに問題が発生していることは既に特定できており、担当部門に調査を依頼しておりますが、担当部門が海外かつ年末ということもあり、返信に時間を要することが予想されています。
担当部門からの返信を待つ時間を考えた結果、この度Skebの全システムとサーバを別のクラウドサービスに移管することにいたしました。
現在順調に移管作業が進行しており、早ければ本日中、遅くとも明日中に復旧できる見込みです。
12月23日13時14分: Herokuの復旧時期が未定のため、Herokuの一切の利用の中止を決定。別のクラウドサービスへの移管を開始。
(中略)
12月23日18時28分: セールスフォース・ジャパンより、同社もHerokuに連絡したが応答がない旨の連絡を受ける。
12月23日20時24分: 新しいクラウドサービスにステージング環境の構築が完了。
12月24日04時32分: 新しいクラウドサービスに本番環境の構築が完了。
12月24日04時55分: skeb.jpのドメインの接続先をHerokuから新しいクラウドサービスに切り替えを実施。
12月24日07時00分: すべての機能が動作することを確認。
12月24日13時00分: 障害が復旧したことを本記事とツイートにてお知らせ。
12月28日14時00分: セールスフォース・ジャパンのご担当者の方々が当社を訪問し、Herokuの障害ではないことを確認し、同社が把握している状況の詳しい説明を受ける。
サポート連絡遅い!こんなことある?基素.icon
障害ではないの意味が多義すぎる基素.icon
1. 内部で使っている依存モジュールの障害
この場合、「Herokuの障害」と言わないのはおかしい
Skeb側のモジュール障害ならHerokeの障害にはならないか……takker.icon
2. Skebの規約違反
ありえなくはないtakker.icon
すると、規約違反だと明言したくないために原因を書いていない、と勘ぐってしまう
セールスフォース・ジャパンは今回の対応に関するITmedia NEWSの取材に対し、「Salesforceでは信頼が最も重要な価値観です。カスタマーサクセスを支援するための当社テクノロジーのセキュリティ、パフォーマンス、可用性ほど重要なものはありません。本件について、私たちは契約に基づいて行動したことを株式会社スケブに丁寧に説明させていただいております」(原文ママ)とコメントした。
Salesforceは契約に基づいて行動したと言っていてSkebはそれについては対外発表していない基素.icon
しかし和解しているようだから多分規約違反があったのだと思う
何の違反かはわからない
想像できていたのか、全く想像できていなかったのか
3. その他
Skeb側の障害か第三者の障害?takker.icon
01月23日12時00分: セールスフォース・ジャパンとの協議を経て、本件が完全に解決。
???基素.icon
和解した?ということまでは読める?takker.icon
もしSalesforceに瑕疵がないとするとSalesforceは評判が下がったので大損してると思う基素.icon
「Skebが悪かったのかもしれないけどアカウントをいきなり停止してコミュニケーションしないサービスなんか使えないよね」と考える
障害発生から利用中止決定までの意思決定スピードが迅速だと思ったcFQ2f7LRuLYP.icon
他でこういうことが起きたとき、復帰にどれだけ時間がかかるのだろうか
サービス規模とドキュメントと人と予算と契約によりすぎるので一概になんとも言えなそう基素.icon
クラウドサービスってこんなにすぐ切り替えられるんだyosider.icon
大多数の(それなりの規模の)サービスでは無理だと思います基素.icon
個人の小さいところならまあ...
Heroku特有の機能にあまり依存してなかったのかな?takker.icon
にしたってこんな短時間で丸ごと移し替えられるものなのか……?
Skeb以外でも障害あったんかな?yosider.icon
なるがみさんの見解cFQ2f7LRuLYP.icon
@nalgami: Herokuの原因は結局わからないまままだけど、この時期無料枠の終了をしているから、契約周りの不整合とかでロックされたんじゃないかと思っています。 基素.icon
これ見れば見るほどすごいログだなあcFQ2f7LRuLYP.icon
ひえー、そんなことになってたのかnishio.icon
ここがすごい
障害認知から1時間以内に別のクラウドサービスへの移管を開始
ここが一番すごい
人間やめてるレベルtakker.icon
18時間程度で乗り換え作業が完了
スケブ社ではエンジニアに対して開発環境の指定を行わず、各々がWindows、Mac、Ubuntuといった好みのOSを用いて開発しています。
どのような環境でも開発ができるように、Skebのすべてのシステムはオフラインの仮想環境で動作するコンテナイメージを作成しています。
今回このコンテナイメージがあったことで、事前準備なく1日未満でHerokuから新しいクラウドサービスに問題なく移管することができました。
すごい45Nuyagawa.icon
おもしろポイント
障害報告ができないのでプロモツイートで対応した
12月23日14時21分: Twitter上で「Skeb」という単語をツイートや検索した方に対して、障害情報のツイートが表示されるようにプロモツイートを設定。
賢い45Nuyagawa.iconnishio.icon
これが実現できたのはいろんな要素はあるはず
エンジニア4人が稼働でできる規模
サービスとしての機能が比較的小さそう
インフラ費用がそこまで高くなさそう
Skebのインフラの月額費用がどれぐらいか不明ですが高くても数十万円程度と思う
障害時のGMVが1500万円ぐらい
以前から検討していた?
Herokuの制限によって海外に設置されていたSkebのサーバが、移管によって日本国内に設置されることになりました。日本国内からのアクセスが大幅に高速化されます。
たまたまこれの準備をしてたとか?nishio.icon
このくらいの偶然がないとこんなに迅速に移行できなさそうtakker.icon
過去ツイートを漁るとHerokuのregionが日本じゃないのでFastlyに全部キャッシュして高速化していると言っているので、すでにページ表示等は高速化されているはずで大幅に高速化されるのは一部な気がする基素.icon
アカウント停止していた状態でDBが移行出来たのは何故だろう?
DBはHeroku Postgresじゃなかったのかもしれない
今回の障害を受けて、深夜残業および休日出勤による法定割増賃金に加え「障害対応手当」という社内制度を新設しました。
復旧に向けて夜間作業にあたっていたエンジニア4名に対し、1人あたり3万円のAmazonギフト券を夜間直ちに支給しました。
対応が速いなあcFQ2f7LRuLYP.icon
今回の障害で1,500万円相当の取引の機会損失が発生しました。しかしながら、12月24日現在もHerokuから応答はなく、詳細な原因は判明しておりません。厚いサポートを謳うエンタープライズ契約を締結しているにも関わらず、このような対応は大変遺憾です。
たまたまサポート窓口が休業日だった?takker.icon
エンタープライズ契約に休日サポートは含まれていたのかな
ぱっと見不明基素.icon
18時間のストップで1500万相当の取引ってすごいなーcFQ2f7LRuLYP.icon
2023/1/23