「コンテナイメージ」によりベンダーがミドルウェアの配布も容易に
Infrastructure as Code (IaC) やクラウド黎明期で主にVMを使っていた頃のこれらの用語は聞かれなくなった。
制約とも言える以下の特徴をデフォルトで持っている
herokuのエンジニアにより2010年提唱されたアプリケーションが満たすべき12個の要件
輸送コストの圧縮に必要なのは単に金属製の箱なのではなく、貨物を扱う新しいシステムなのだ コンテナ物語
VMであってもコンテナであっても基本的な考え方は大きな違いはない
コンポーネントの作り方が異なる
システムを構成する最小単位
その単位でdeployが行われる
「コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう」
既存のUNIXスタイルをきちんと意識して踏襲しておけば良い。そこの基本的な知識が必要とされるとも言える。
LL言語の優位性が減った
ローカルファイルを使わずに外部サービスに任せる
「モノリシックなWebアプリケーション」 & 「汎用ミドルウェア群(MySQL, memcached etc.)」
一昔のWebアプリケーションレイヤーというのは比較的薄く単純な作りであり、Webサーバーと密結合していることも多かったため、アプリケーション固有の監視を作るという発想にもあまりならなかった。
/health/
にアクセスすることで死活監視やメトリック取得をおこなうマイクロサービス時代にはそれぞれが独自ミドルウェア的なコンポーネント群になるのが望ましい。
SRE本
http://www.brendangregg.com/usemethod.html
内部の状態に着目 → ブラックボックス的
「詳解システムパフォーマンス」でも言及
UtilizationとSaturationの違い
https://www.slideshare.net/weaveworks/monitoring-microservices
外部からの振る舞いに着目 → ホワイトボックス的
それぞれ補完しあうものである
USEとREDを捉えることで、Four Golden Signalsが見えてくる。
USEとREDが網羅されている。
SaturationとUtilizationを分離したほうが良いかもしれないが、おそらくホワイトボックス的なふるまい(RED)のほうが重要なのでSaturationにまとめられていると想像。