Authors:
正野 勇嗣, 山田 真也, 宇都宮 雅彦, 横井 一輝, 岡本 隆史
#Book
クラウドネイティブで実現する マイクロサービス開発・運用 実践ガイド | 技術評論社
概要編
第1章 マイクロサービス概論
1.1 本書について
- 銀の弾丸
1.2 マイクロサービスの概要
- Micro services - Java, the Unix Way
- Microservices
- Microservice Premium
- State of DevOps Report
- Death Start Architecture
- Adoption of Cloud Native Architecture, Part 2:Stabilization Gaps and Anti-Patterns
- Even Amazon can’t make sense of serverless or microservices
- Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%
- アジャイル/クラウドネイティブ/DevOps
- The Twelve-Factor App
1.3 マイクロサービス化を成功に導くプラクティス
- two-pizza team
- Scaled Agile Framework
- The NIST Definition of Cloud Computing
- ペットから家畜へ/Pets vs. Cattle
- ゼロトラスト
- Beyond the Twelve-Factor App
- DDD/エリック・エヴァンスのドメイン駆動設計
- オブジェクト指向プログラミング/SOLID原則/GRASP
- コンウェイの法則/逆コンウェイの法則
実践編
第2章 マイクロサービスの実装
2.1 サンプルアプリケーションの概要と開発環境構築
2.2 アプリケーションの実装
- gRPC/Protocol Buffers
- Go
- gRPCurl
- BFF/GraphQL
- Apollo Server
- シングルページアプリケーション/React
- Docker/Kubernetes/GitOps
- Pod/Deployment/Service
- kind/minikube
- Dockerfile/distroless
- Kubernetes DNS
- Kustomize
- RabbitMQ/メッセージブローカー
第3章 サンプルアプリケーションへの非機能の実装
3.1 書籍オンラインショップ「Book Shop」の動作確認
3.2 サービスのモニタリングと可用性の向上
- Probe/Liveness Probe/Readiness Probe/Startup Probe
- グレースフルシャットダウン/SIGTERM/SIGINT
3.3 サービスメッシュによるサービス連携
- サービスメッシュ
- Istio/Istio Operator/
- サイドカープロキシ(Envoy)
- VirtualService/DestinationRule/Gateway
- Blue-Greenデプロイ
- ラウンドロビン
- カナリアリリース
- タイムアウト
- サーキットブレーカー
- 相互TLS認証/PeerAuthentication
- JWT/Keycloak/AuthorizationPolicy
3.4 ユーザの認証・認可
第4章 マイクロサービスにおけるデータマネジメント
- TCC
4.2 マイクロサービスでのクエリ操作
第5章 マイクロサービスのテスト
5.1 ユニットテスト
- SAST(Static Application Security Testing)/Go Vet
5.2 インテグレーショテスト
5.3 システムテスト
- パフォーマンステスト/DevPerfOps
第6章 マイクロサービスのためのCI/CD設計
6.1 CI/CDの概要
- Continuous Integration/Continuous Delivery
- セマンティックバージョニング
- Flaky Test
6.2 CI/CDの設計
- Monorepo
- Git Flow/GitHub Flow/GitLab Flow
- トランクベース/フィーチャーフラグ
- DevSecOps
- GitOps
- 5 GitOps Best Practices
- ConfigMap
- インプレース(再作成デプロイ)/Rolling Update/Progressive Delivery
- Blue-Greenデプロイ/カナリアリリース/ダークローンチ
- フィーチャーフラグ
- A/Bテスト