Category Archives: マイクロサービスアーキテクチャ

「マイクロサービスアーキテクチャ」第24回(3/7)

Posted on by 0 comment

参加者 今井(読み手)、沼田、青木(記)
範囲 pp.287 – 303

12章 まとめ

  • 12.1 マイクロサービスの原則
    • 12.1.3 内部実装詳細の隠蔽
    • 12.1.4 すべての分散化
    • 12.1.5 独立したデプロイ
    • 12.1.6 障害の分離
    • 12.1.7 高度な観測性
  • 12.2 マイクロサービスを使用すべきでない場合
  • 12.3 最後に

付録 実際のマイクロサービス:Azure Service Fabric

  • A.1 概要
  • A.2 主な機能と概念
  • A.3 適したアプリケーション
  • A.4 アーキテクチャ
  • A.5 アプリケーションモデル
  • A.6 Azure Service Fabricの試用

「マイクロサービスアーキテクチャ」第23回(3/3)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.275 – 287

11章 大規模なマイクロサービス

  • 11.12 サービス検出
    • 11.12.1 DNS
  • 11.13 動的サービスレジストリ
    • 11.13.1 ZooKeeper
    • 11.13.2 Consul
    • 11.13.3 Eureka
    • 11.13.4 自作
    • 11.13.5 人間を忘れない
  • 11.14 サービスの文書化
    • 11.14.1 Swagger
    • 11.14.2 HALとHALブラウザ
  • 11.15 自己記述型システム
  • 11.16 まとめ

12章 まとめ

  • 12.1 マイクロサービスの原則
    • 12.1.1 ビジネス概念に沿ったモデル化
    • 12.1.2 自動化の文化の採用

「マイクロサービスアーキテクチャ」第22回(2/28)

Posted on by 0 comment

参加者 沼田(読み手)、今井(記)
範囲 pp.262-274

11章 大規模なマイクロサービス

  • 11.9 キャッシング
    • 11.9.1 クライアント側、プロキシ、サーバ側のキャッシング
    • 11.9.2 HTTPでのキャッシング
      • p.264 中ほど
        http://bit.ly/rest-practiceがランダムな文字列ではないけど、bit.lyでこのような取得ができるの?
        → 短縮URLのカスタマイズができて、まだ使用されていない任意の文字列に変更できるようです。
    • 11.9.3 書き込みのキャッシング
    • 11.9.4 回復性のためのキャッシング
    • 11.9.5 オリジンサーバの隠蔽
    • 11.9.6 簡潔に保つ
    • 11.9.7 キャッシュポイズニング:訓話
  • 11.10 オートスケーリング
  • 11.11 CAP定理
    • 11.11.1 整合性を犠牲にする
    • 11.11.2 可用性を犠牲にする
    • 11.11.3 分断耐性を犠牲にするか
    • 11.11.4 APかCPか
    • 11.11.5 オールオアナッシングではない
      • p.274 l.1 クォーラムとは?
        → 分散システムにおいて、分散トランザクションが処理を実行するために必要な最低限の票の数(Ref. https://ja.wikipedia.org/wiki/Quorum)
        ここでは、クォーラムベースレプリケーションのクォーラム監視サーバーのことだと思われる。
    • 11.11.6 そして現実の世界

「マイクロサービスアーキテクチャ」第21回(2/24)

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.249 – 261

  • 11.6 冪等性
    • 例11-1、11-2
      XMLのタグが不一致(forAccountの閉じタグがaccountになっている)
  • 11.7 スケーリング
    • p.250 l.2
      に障害が発生することを…では?(脱字)
    • 11.7.1 より大きくする
    • 11.7.2 作業負荷の分割
    • 11.7.3 リスクの分散
    • 11.7.4 負荷分散
    • 11.7.5 ワーカベースのシステム
    • 11.7.6 再出発
  • 11.8 データベースのスケーリング
    • 11.8.1 サービスの可用性とデータの耐久性
    • 11.8.2 読み取りのためのスケーリング
    • 11.8.3 書き込みのためのスケーリング
    • 11.8.4 共有データベースインフラ
    • 11.8.5 CQRS
  • 11.9 キャッシング

「マイクロサービスアーキテクチャ」第20回(2/21)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.240 – 249

11章 大規模なマイクロサービス

  • 11.3 機能低下
  • 11.4 アーキテクチャ上の安全対策
    • p.243 l.5 タイムアウトを適切に構成されていたとしても
      タイムアウト適切に構成されていたとしても、もしくは、タイムアウトを適切に構成ていたとしても、のほうが自然では?
  • 11.5 アンチフラジャイルな組織
    • 11.5.1 タイムアウト
    • 11.5.2 サーキットブレーカー
    • 11.5.3 隔壁
    • 11.5.4 分離

「マイクロサービスアーキテクチャ」第19回(2/17)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)
範囲 pp.225-240

10章 コンウェイの法則とシステム設計

  • 10.4 コミュニケーション経路に適応する
  • 10.5 サービスの所有権
  • 10.6 共有サービスに向かう要因
    • 10.6.1 分割が難しすぎる
    • 10.6.2 フィーチャーチーム
    • 10.6.3 デリバリボトルネック
  • 10.7 社内オープンソース
    • 10.7.1 管理者の役割
    • 10.7.2 成熟度
    • 10.7.3 ツール
  • 10.8 境界づけられたコンテキストとチーム構造
  • 10.9 孤児サービス
  • 10.10 ケーススタディ:RealEstate.com.au
    • p.233 図10-1
      • 六角形は何を表している?
      • 真ん中の事業部門の中に書かれている、「事業部門間のすべての統合は非同期バッチ」は、部門間をつないでいるグレーの矢印の説明。
  • 10.11 逆向きのコンウェイの法則
  • 10.12 人
  • 10.13 まとめ

11章 大規模なマイクロサービス

  • 11.1 障害はどこにでもある
  • 11.2 どれくらいが多すぎるのか

「マイクロサービスアーキテクチャ」第18回(2/14)

Posted on by 1 comment

参加者 今井(読み手)、沼田、青木(記)
範囲 pp.212-225

9章 セキュリティ

  • 9.3 格納データの保護
    • 9.3.2 鍵がすべて
    • 9.3.3 対象を選ぶ
    • 9.3.4 必要に応じた復号
    • 9.3.5 バックアップの暗号化
  • 9.4 徹底的な防御
    • 9.4.1 ファイアウォール
      • 「ModSecurityは、特定のIP範囲からの切断をスロットルし」の意味がよくわからない。「throttle」は「絞る。抑える。」などの意味があるので、「特定のIP範囲からのアクセスの切断を抑えながら」と捉えればよいのか?
    • 9.4.2 ロギング
      • p.214 下から4行目 何か悪いことが起きたどうかを(脱字)
    • 9.4.3 侵入検知(および侵入防止)システム
    • 9.4.4 ネットワーク分離
    • 9.4.5 OS
  • 9.5 実施例
  • 9.6 節約する
  • 9.7 人的要素
  • 9.8 黄金律
  • 9.9 セキュリティの組み込み
  • 9.10 外部検証
  • 9.11 まとめ

10章 コンウェイの法則とシステム設計

  • 10.1 証拠
    • 10.1.1 疎結合組織と密結合組織
    • 10.1.2 Windows Vista
  • 10.2 NetflixとAmazon
  • 10.3 この法則で何ができるか

「マイクロサービスアーキテクチャ」第17回(2/10)

Posted on by 0 comment

参加者 青木(読み手)、今井、沼田(記)
範囲 pp.203 – 212

9章 セキュリティ

  • 9.1 認証と認可
    • 9.1.3 粒度の細かい認可
  • 9.2 サービス間の認証と認可
    • 9.2.1 境界内のすべてを許可する
    • 9.2.2 HTTP(S)ベーシック認証
    • 9.2.3 SAMLやOpenID Connectの使用
    • 9.2.4 クライアント証明書
    • 9.2.5 HTTP上のHMAC
    • 9.2.6 APIキー
    • 9.2.7 代理の問題
      • p.210 下から2行目末尾
        オンランショッピング(脱字)
  • 9.3 格納データの保護
    • 9.3.1 よく知られた手法を選ぶ

「マイクロサービスアーキテクチャ」第16回(2/7)

Posted on by 0 comment

参加者 沼田(読み手)、青木、今井(記)
範囲 pp.189-203

8章 監視

  • 8.6 サービスのメトリック
  • 8.7 合成監視
    • p.190 ミススペル(3か所)
      Nagois → Nagios
    • 8.7.1 セマンティック監視の実装
  • 8.8 相関ID
  • 8.9 連鎖
  • 8.10 標準化
  • 8.11 利用者の考慮
  • 8.12 将来
  • 8.13 まとめ

9章 セキュリティ

  • 9.1 認証と認可
    • 9.1.1 一般的なシングルサインオン(SSO)の実装
    • 9.1.2 シングルサインオン(SSO)ゲートウェイ

「マイクロサービスアーキテクチャ」第15回(2/3)

Posted on by 0 comment

参加者 今井(読み手)、沼田(記)
範囲 pp.174 – 189

7章 テスト

  • 7.9 エンドツーエンドテストを使用すべきか
  • 7.10 本番リリース後のテスト
    • 7.10.1 デプロイとリリースの分離
    • 7.10.2 カナリアリリース
    • 7.10.3 平均故障間隔(MTBF)よりも平均修復時間(MTTR)か
  • 7.11 機能横断テスト
    • 7.11.1 性能テスト
      • p.181 3つめの段落
        「偽陽性」「偽陰性」という言葉に違和感が…。原書ではどのような表現だったのでしょう?
  • 7.12 まとめ

8章 監視

  • 8.1 単一サービス、単一サーバ
  • 8.2 単一サービス、複数サーバ
    • p.185 図8-2の下の段落の4行目
      NagoisはNagiosのスペルミス?
  • 8.3 複数サービス、複数サーバ
  • 8.4 ログ、ログ、さらにまたログ
  • 8.5 複数サービスにわたるメトリックの追跡