耐障害性

プロダクトの問題に対応できるようになろう

概要

サービスを止めることなく提供し続けるためには、システムの一部に障害が発生しても処理を継続できる仕組みを取り入れる必要があります。また、障害の発生頻度を減らすことや、障害が発生しても迅速に復旧できることなども重要です。このようなシステムを耐障害性の高いシステムと呼びます。

システムの一部に障害が発生しても処理を継続させるには冗長化が有効です。冗長化とは、同じ役割のサーバーを複数台用意し、1台故障しても他のサーバーで処理を継続できる構成にすることです。複数台のサーバーで処理を行うので、処理能力の向上も兼ねています。

障害の発生頻度を減らすには予防保守が効果的です。具体的には、メモリやプロセスを監視して障害の予兆の時点で事前に防ぐことや、データベースのパフォーマンス向上のためにインデックス再編成すること、老朽化したサーバーなどの機器を交換することなどが挙げられます。

障害の復旧としては、ログファイルから障害原因を把握し、できるだけ迅速に対応することが肝心です。このとき、調査から復旧までの作業手順を事前に取り決めておくとスムーズに進めることができます。

復旧後は原因をしっかり調査することでシステムは障害に強くなり、結果としてサービスを安定して提供できるようになります。

耐障害性

学ぶ目的

障害によるサービス停止を起こしにくいシステムを構築できれば、ユーザーに安定してサービスを届けられます。

Webアプリケーションをリリースすると、ユーザー数の増加に伴い、サーバー負荷やデータ量が増加します。次第にレスポンスが悪くなり、これが積み重なると障害へ発展する可能性があります。しかし、全ての障害要因を未然に取り除くことは困難なため、開発者は障害の発生を想定して様々な準備を行う必要があります。

冗長化されたシステムを構築して、障害対応中もユーザーにサービスを提供し続けられるようにしましょう。さらに予防保守を取り入れて、障害の発生頻度をできるだけ下げることも大切です。

障害に強いシステムを構築するための方法について学んでいきましょう。

ここから学ぼう

障害に関するスキルは実際に運用や保守を経験しながら学ぶのが理想です。ここでは、障害に関するスキルには、どんなものがあるのかイメージできることを目指しましょう。

  • 可用性の基本について理解しよう

    故障の防止について知ろう

    迅速な復旧について知ろう

    対応手順のルール化と継続的な改善の取組みについて知ろう

  • 運用と保守の基本について知ろう

    システム監視について知ろう

    ジョブ管理について知ろう

    バックアップ管理について知ろう

おすすめ教材

  1. インフラデザインパターン ── 安定稼動に導く127の設計方式

    インフラの設計で考慮するべき点がまとめられています。可用性や運用と保守の項目を読んでみるといいでしょう。

    インフラデザインパターン ── 安定稼動に導く127の設計方式
    インフラデザインパターン ── 安定稼動に導く127の設計方式

    本書は,数百プロジェクトの実績から導かれたインフラ設計の定石を,デザインパターンとしてまとめたものです。特にインフラについて経験の浅い技術者(アプリケーション開発者も含む)や,システム構築に責任を持つプロジェクトマネージャ,企業の情報システム部門でシステムの企画や導入の意思決定を行う方,ベンダーの提案や設計を評価・比較する方に向けて書かれています。 すべてのデザインパターンには,特徴を把握できる簡潔なイメージ図が掲載されています。また,各デザインパターンの「できること」だけでなく,「できないこと」や「留意点」も記載しています。インフラデザインパターンをベースに設計することで,スキルのあるインフラ技術者が行う検討に近づくことができるでしょう。

    gihyo.jp

今日学ぶことをシェアしよう