##AWSにおける運用の考え方
ビジネスの変革が急速に進む現在、システム構築時やアプリケーション開発時だけでなく、その後のリリースや更新の早さや運用の品質向上・維持は重要な要素になっています。
システムの高い運用性を保つためにはできるだけ作業を自動化するとともに、構築した内容の文書化と動作確認のためのテストを定期的に実施する必要があります。
AWSには、クラウド上で高い運用性を実現するための以下のような設計原則があります。
###コードによるオペレーション実行
「コードを書いて実行する」というアプリケーションの考え方クラウドシステムのオペレーションに適用することにより、システムの運用を効率化します。
これまで手動で行っていた作業が自動化されることにより、作業ミスが少なくなります。
また、同じ作業であればコードを再利用することができます。
###定期的に、小規模で、元に戻すことができる変更を行う
システムは一度構築したら終わりではないため、定期的な更新を行う前提で設計することが重要です。
たとえば、システムを構成するコンポーネントを容易に変更できるようにあらかじめ設計しておきます。また、すでに稼働しているシステムに変更を加える場合は、システムは小さな範囲で変更します。
このような設計・運用をすることでメンテナンス性が上がります。万一、変更作業時に失敗が起きても影響を最小限に抑えることができ、変更前の状態に戻しやすくなります。
###運用手順を見直す
システムは定期的に変更されますが、システムだけが進化しても、それに見合った運用手順を確保しておかなければ、運用の品質向上・維持を果たすことができません。
###障害発生を想定する
障害発生を想定したテストを行い、障害発生時の影響を性格に把握しておきます。また、発生した障害への対応手順もてすとし、手順が正しいかを確認して、運用チームが障害対応の内容を正しく理解しておくようにします。
###運用の失敗をもとに改善する
運用上の作業や障害対応への経験をもとに、運用作業を改善します。また、経験から学んだ内容をチームなどに共有します。
次節からは、高い運用性をAWSで実現していくための考え方やサービスについて説明していきます。