こんにちは。 ニフクラエンジニアミートアップ事務局の鮫島です。
2023年4月19日(水)に第59回ニフクラエンジニアミートアップを開催しました。
今回の「落ちないシステムの作り方」ですが、NIFTY Tech Talkとのコラボ企画として開催しました。
あらゆるシステムにおいて、「サービスを止めたくない」「落ちないようにしたい」というのは誰もが望んでいることだと思いますが、クラウドサービス「ニフクラ(FJcloud-V)」の提供者である富士通クラウドテクノロジーズ株式会社と、「ニフクラ」だけでなく「AWS」「GCP」といったマルチクラウドユーザーであるニフティ株式会社、双方の立場で、クラウドユーザーに向けた「ベストプラクティス」について語っていただきました。
- 落ちないシステムって何?可用性の基本と仮想環境での可用性の高め方
- 「落ちないシステム」にするためにアプリケーションエンジニアが出来ることって何だろう?
- 安定稼働するポータルサイトの作り方
- 月1億PVのWebサイトを落とさない技術
- QAセッション
落ちないシステムって何?可用性の基本と仮想環境での可用性の高め方
一番手は、富士通クラウドテクノロジーズ株式会社でニフクラ/FJcloud-Vのネットワーク関連サービスの企画・開発・運用を担当するエンジニア、奥山洋平氏です。「落ちないシステム」≠高可用性なシステムと定義して、可用性を高める方法について語ってくださいました。
ニフクラの中の人は、多数の物理機器から構成されるクラウドサービスの基盤を扱う立場であり、一部の物理機器が停止したとしても、ユーザーへの影響が生じないようにする・極小化することを目指していると思います。
クラウドのユーザー視点では、クラウドベンダーとの責任分界点に基づくならば物理機器の可用性を意識する必要はなく、自分で作成した仮想マシン(VM)の可用性を考慮するだけで済むはずですが、落とし穴があります。
実際はSLAの範囲内で物理機器の故障や障害による一時的な停止が生じる可能性があるからです。
稼働率99.9%をSLAで保証しているクラウドサービスは、月間で43分以下の停止時間が許容されることになります。クラウドサービスは、前述の責任分界点の範囲で、43分以下の停止でもシステムに影響が生じないような構成・対策を考える必要があります。
詳しくは、こちらの動画をご覧ください。 youtu.be
「落ちないシステム」にするためにアプリケーションエンジニアが出来ることって何だろう?
続いて、同じく富士通クラウドテクノロジーズでニフクラのバックエンドのエンジニアを務めている北條裕氏がアプリケーションエンジニアの立場で落ちないシステムについて語ります。
高可用性・高信頼性は、クラウドの責任分界点の下の部分(クラウド事業者の責任部分)で実現するものだと考えがちですが、実は上の部分(ユーザー責任範囲のアプリケーション部分)も重要な要素であることを、自らの取り組みを通じて解説してくれました。
流行の高性能AIChatサービスに聞いた高可用性・高信頼性システムの要件を検証していくという形を取ってはいましたが、日常的な取り組みの積み重ね・確実な履行が重要であるという結論のような気がしました。
詳しくは、こちらの動画をご覧ください。 youtu.be
安定稼働するポータルサイトの作り方
ここからは、ニフティさんのセッションになります。 渡邊大介氏のセッションは、AWS Lambdaを使ったサーバーレス構成で、自動スケールなどを行うことで運用負荷を下げ、テストやエラー通知やデプロイを極力自動化するというものでした。
アーカイブ動画ではこのあたりです。
www.youtube.com
月1億PVのWebサイトを落とさない技術
続いて、中村伊吹氏のセッションです。1億PVのニュースサイトをどうやって落とさないようにするか?というお話ですが、下記のようなキーワードが出てくるとてもクラウドネイティブな方法論を駆使しているなと思いました(小並感)。
リリースの自動化
コンテナ
サーバーレス
CDNの活用
アーカイブ動画ではこのあたりです。
QAセッション
最後に恒例のSlidoを使ったQAセッションも行われました。
ニフクラの中の人が業務で活用しているツールに関する突っ込んだ質問、ニフティさんの大規模なトラフィックへの対応方法など、興味深い質問がありました。
アーカイブ動画ではこのあたりです。 www.youtube.com
ということで、ニフティさんとのコラボ企画、大盛況のうちに終了しました。 また、コラボさせてください!
それではまた次回もお楽しみに。