Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

自己紹介 http://gooner.hateblo.jp/

Slide 3

Slide 3 text

会社紹介 Innovation DevOps 新技術を中心とした革新的な ソリューションを提供 構築した資産を活用し、ITのよる価値創造を最 大最速にするクラウド環境を活用した 開発・ 運用プロセスの構築・定着化を支援 ・マイクロサービス アーキテクチャ ・コンテナライズド アーキテクチャ ・API マネジメント導入 ・開発プロセス標準化推進 ・DevOps 導入支援 お客様の利用用途に応じた最適なソフト ウェア アーキテクチャ を提案 ・クラウド移行 ・アーキテクチャ構築 ・標準化推進 ・技術トレーニング Strategy

Slide 4

Slide 4 text

Agenda

Slide 5

Slide 5 text

なぜ、マイクロサービスを採用するのか?

Slide 6

Slide 6 text

モノリシックなシステムが抱える課題

Slide 7

Slide 7 text

マイクロサービスを採用する理由 ① 価値のあるソフトウェアを、短期的かつ継続的にリリースしたい

Slide 8

Slide 8 text

マイクロサービスを採用する理由 ② マイクロサービス開発の複雑さをシンプルにする Kubernetes や Serverless の普及と進化により、現実解になってきた

Slide 9

Slide 9 text

マイクロサービス アーキテクチャ Item Master API Stock Command API Stock Query API Stock Processor API POS API BOX API Smart Box Mobile App IoT Hub App Center Push Notification Change Feed Observability( Metrics / Logging / Distributed Tracing ) Azure Monitor Application Insights Functions Cosmos DB Functions Functions Functions Functions Functions Cosmos DB Cosmos DB Cosmos DB SQL DB

Slide 10

Slide 10 text

マイクロサービス アーキテクチャ Item Master API Stock Command API Stock Query API Stock Processor API POS API BOX API Smart Box Mobile App IoT Hub App Center Push Notification Azure Kubernetes Service Observability( Metrics / Logging / Distributed Tracing ) Azure Monitor Application Insights Cosmos DB Change Feed BOX POS Stok Item Master Stock SQL DB

Slide 11

Slide 11 text

そのシステムに Kubernetes は必要ですか? 本セッションでは、マイクロサービスを採用し、プラットフォーム に Kubernetes を導入する決断を下したことを前提として進めます

Slide 12

Slide 12 text

Azure Kubernetes Service とは?

Slide 13

Slide 13 text

なぜコンテナを使うのか?

Slide 14

Slide 14 text

コンテナオーケストレーションとは?

Slide 15

Slide 15 text

Kubernetes のアーキテクチャ 構成要素 説明 Master Node Node の稼働状況やリソース消費を管理する Node コンテナーが配置される実行環境 Pod 単一もしくは複数のコンテナーをまとめて管理する単位 Kubernetes Master Node Node ( VM ) Node Container Container Pod Node ( VM ) Container Container Pod Node ( VM )

Slide 16

Slide 16 text

Kubernetes のアーキテクチャ 構成要素 説明 Service 外部IPアドレスを構成し、コンテナのアプリケーションを公開する。 複数の Node に配置された Pod へロードバランスする。 Container Pod Node ( VM ) Container Container Pod Node ( VM ) Container Service Kubernetes Client

Slide 17

Slide 17 text

Kubernetes のアーキテクチャ 構成要素 説明 Deployment 複数の Replica Set を管理し、ローリングアップデートを行う。 Replica Set Pod のレプリカ数を管理し、スケールアウト/インでレプリカ数を増減させ る。Pod の稼働状況を監視し、必要に応じて新しい Pod を立ち上げる。 Deployment Kubernetes Pod Pod Replica Set (v.1.0.0) Pod Pod Replica Set (v.2.0.0)

Slide 18

Slide 18 text

Azure Kubernetes Service を使うメリット

Slide 19

Slide 19 text

マイクロサービスの開発から展開まで

Slide 20

Slide 20 text

マイクロサービスの開発ライフサイクル Local Dev Team B Team A Azure DevOps Azure Container Registry 開発環境 開発 / テスト / 本番環境 Repository Pipeline Azure Kubernetes Service Azure Kubernetes Service Azure Kubernetes Service

Slide 21

Slide 21 text

Demo

Slide 22

Slide 22 text

マイクロサービス開発の ベストプラクティス

Slide 23

Slide 23 text

マイクロサービス開発のベストプラクティス

Slide 24

Slide 24 text

1. Helm でマイクロサービスの構成を管理する

Slide 25

Slide 25 text

2. Nginx Ingress Controller で外部向けエンドポイントを公開する ※ Azure ポータルから設定できる HTTP Application Routing アドオンの本番運用は非推奨です。 POS Service Client Item Service Nginx Ingress Controller /pos /item Ingress.yaml Ingress.yaml Kubernetes Cluster

Slide 26

Slide 26 text

3. アップグレード戦略には Blue / Green デプロイを採用する ※ サービスメッシュの Istio を使わなくても、Blue / Green デプロイが可能 POS Service Client Nginx Ingress Controller Kubernetes Cluster Pod Pod pos-api v1 pos-api v1 pos-api v2 Service

Slide 27

Slide 27 text

3. アップグレード戦略には Blue / Green デプロイを採用する Nginx Ingress Controller Microservices ( Pod ) Kubernetes Cluster v 1.13.12 Nginx Ingress Controller Kubernetes Cluster v 1.14.11 Microservices ( Pod ) Application Gateway V2 Data Store

Slide 28

Slide 28 text

4. Pod と Node のスケーリングを組み合わせて構成する 200m 256Mi 100m 128Mi

Slide 29

Slide 29 text

4. Pod と Node のスケーリングを組み合わせて構成する ※ 導入時は Cluster Autoscaler を使わずに、Node 数を固定して運用を開始する方法もあります。

Slide 30

Slide 30 text

5. 障害が発生する前提で構成を決める

Slide 31

Slide 31 text

5. 障害が発生する前提で構成を決める / 80 /readiness 80

Slide 32

Slide 32 text

6. Azure Monitor でマイクロサービスを監視する Kubernetes Docker Application Container(Pod) アプリ監視 インフラ・ミドル ウェア監視 Application Insights Azure Monitor for Containers OS VM マイクロサービス プラットフォーム

Slide 33

Slide 33 text

6. Azure Monitor でマイクロサービスを監視する

Slide 34

Slide 34 text

6. Azure Monitor でマイクロサービスを監視する

Slide 35

Slide 35 text

まとめ

Slide 36

Slide 36 text

まとめ

Slide 37

Slide 37 text

No content