いただいたお菓子達。
JavaEE勉強会の Microservices Patterns 読書会に参加してた。
対象範囲
11. Developing production ready services
という章を一巡りしました。
ここまでどういう設計をすればいいか説明してきたけど、本番環境へデプロイできるようにするには説明してないことがある、と。
認証・認可、設定の外部化(Externalized Configuration)、可観測性(Observability)、シャーシパターン(からのマイクロメッシュ)。
議論
11.1 Developing secure services
いきなり Spring Security OAuth 2.0 サーバーの使い方を説明する考えが理解できない
- 他にも高水準なセキュリティリスクの話があるのでは
- そうしないとソリューションを選択できないと思う
- クライアントが複数ある、という条件はそういった前提の1つとして理解できる
- 性能とか運用とかリスクがありすぎてこういう構成を取る考えがない
今どきはどうするのが当たり前なんだろう
- Auth0 とかクラウドの IdP を使う感じなのかなぁ
- 開発レベルで留まってるけど Gitlab の認証サービスでまかなってる、という意見もあった
-
- マルチテナントのときはどうしてるんだろう
- 同一ID でテナントごとにできることが違う(このテナントでは管理者、このテナントでは一般ユーザー)とかそういう
- ややこしい話をしたけど忘れた
- マルチテナントのときはどうしてるんだろう
Red Hat にもプロダクトがある (KeyCroak の商用版)
外部ドメインと内部ドメインに分ける、ドメインを階層化して防御する考え方もある
- API Security in a Microservice Architecture
- DAHRMA (Domain Hierarchy Access Regulation for Microservice Architecture)
-
- どんどん重厚長大化してる感じがする
- マイクロサービスは小さなデプロイメントを指向しているのに・・・
- ルーティングはプラットフォームよりもアプリケーションよりの考え方のような印象なのだけど、だけど
- どんどん重厚長大化してる感じがする
11.2. Designing configurable services
Spring Framework
じゃない Java アプリケーションはどうすればいいんだろう- Quarkus なら Eclipse MicroProfile に対応してる
- MicroProfile には Externalize Cofiguration Server という標準があるのでそれを使える
- Micronaut や Helidon でもいけるはず
11.3. Designing observable services
可観測性パターンに属するパターン
- ヘルスチェック API
- ログアグリゲーション
- 分散トレーシング
- 例外追跡
- アプリケーションメトリクス
- 監査ログ
「監査ログ」はすっごい悩みどころ
- 物理的な限界をどう乗り越えたらいいのか
11.3.1. Using the Health check API pattern
- Spring Boot Actuator とは
- ヘルスチェックだけでなく、アプリケーションコンテキストに登録された Bean の情報や、 JVM のメモリ情報などの HTTP エンドポイントを提供する便利ライブラリ
11.3.2. Applying the Log aggregation pattern
特になし
11.3.3. Using the Distributed tracing pattern
- OpenZipkin の付与するヘッダー
X-B3
の由来はなんだろう- リファレンスに記述がある
https://zipkin.io/pages/instrumenting.html
The B3 portion of the header is so named for the original name of Zipkin: BigBrotherBird.
- リファレンスに記述がある
BigBrotherBird
てなんだろう- Angry Bird のキャラクターだった
https://regularshowfanon.fandom.com/wiki/Big_Brother_Bird
- 標準としては OpenTelemtry がそろそろ CNCF Incubator になりそう
- OpenTracing は統合された
11.3.4. Applying the Application metrics pattern
特になし
11.3.5. Using the Exception tracking pattern
特になし
11.3.6. Applying the Audit logging pattern
特になし
11.4. DEVELOPING SERVICES USING THE MICROSERVICE CHASSIS PATTERN
シャーシパターンとは・・・
- マイクロサービスに必要なあれこれを提供しているフレームワークを利用してアプリケーションロジックに集中するパターン、という雰囲気
MicroProfile と Quarkus 推し
-
- Istio 強い
次回
2019/02/15(土曜日)になりました。そろそろ読み終わりそう。