はじめに
第1章 監視の設計
第2章 SLI/SLO
第3章 AWSにおける監視設計
第4章 監視対象の多様化
第5章 ダッシュボード
第6章 AWS上のサーバーレスアプリケーションの監視
付録A CloudWatch Syntheticsを使ったFrontendの監視
この本を手に取っていただき、ありがとうございます。本書では「モニタリング(監視)」というテーマのもと、主に監視の設計手法を紹介します。
2020年になり、2010年代が終わりました。2010年代はクラウドやコンテナの発展とともに、「モニタリング(監視)」の形も大きく変わったと思います。この本では、どのように監視を設計していくかを、CloudWatchを中心にAWSの各サービスを見ながら、著者の経験をもとに説明していきます。
私自身、ここ数年で開発メンバー、リーダー、テックリードと、いくつかの立場を経験しました。どの立場にいても、システム開発に携わる以上、監視というのは重要な要素になってきます。特にここ数年はSLI/SLOを導入するなど、監視について考える機会が多くありました。そこで、この経験をアウトプットしてみたいと思い、この本を執筆しました。
「監視設計」という部分は、システム開発の最初から携わっていれば経験します。ですが、運用から参加するような場合は既にできあがっていて、既存の仕組みをあまり考えずに使うことが多いです。そのため、いざ設計するタイミングになると、どこから手を付けていいかわからない、という状態に陥ります。そんなときに、この本が役に立てば幸いです。
・監視設計の経験がない人
・AWSの監視サービスをひととおり知りたい人
・他のエンジニアがどのように監視を考えているか、興味がある人
・もう一度監視について考えるきっかけが欲しい人
・監視設計のノウハウとやり方
・AWSの監視サービスの知識
・SLI/SLOの考え方
本書で使用しているサンプルコードは以下で公開しています
https://github.com/tenbo07/monitoring-design-book-samples
本書の内容は個人の見解であり、所属する会社・組織の見解ではありません。また、本書に記載された内容は、情報の提供のみを目的としています。したがって、本書を用いた開発、製作、運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発、製作、運用の結果について、著者はいかなる責任も負いません。
まず初めに、監視設計の考え方から全体の流れ、そして各フェーズでのポイントを紹介します。
監視をする理由を問われることはあまりないと思います。なんとなく必要なものとして、そこにあるからやっている人も多いのではないでしょうか。私も新卒でSIerに入社し、初めの頃は何の意味もわからず、アラートメールが流れるのを眺めていました。監視について真面目に考えるようになったのは、夜間に叩き起こされるようになってからです。
アラートを設定するのは簡単で、監視ツールの使い方さえ知っていれば、1分もかからず設定できます。しかし、そのアラートによって安眠が妨げられる以上、迂闊なアラート設定は命取りになります。もう、監視なぞしなければいいのでは?と何度も思いました。監視をしなければ夜間に起きる必要もなく、日中も自分が本当にしたい作業に集中できます。ここで、監視を行わない運用を考えてみます。開発が終わり、サービスをリリースします。リリースしたら、そのサービスがどれだけ使われたか気になります。しかし、監視は行っていないので、我々は何もわかりません。いきなりつまずきます。ここで私は、監視をする理由は「サービスの価値を確認するため」だと考えました。
サービスの価値は、実際に使われることで発生します。そして、使われているかどうかは観測することでしかわかりません。この観測する行為こそ、普段我々が「監視」と呼んでいる業務になります。監視をする理由を問われた場合、私は「作り上げたサービスの価値がわからないから」と答えます。決して不安だから監視をするのではなく、エンジニアとしての成果を確認し、必要に応じて品質を高めるために監視を行います。監視を行うのは当たり前のことになっていて、その意味を考えることはあまりありません。しかし、意味を考えることで、本当に必要な監視は何なのか、軸を持つことができます。