Slide 1

Slide 1 text

地方における Cloud Native Cloud Native Sapporo #01

Slide 2

Slide 2 text

森藤 敏之(もりとう) - @mmorito_0318 所属 - 株式会社エムネス - 遠隔画像診断センター - 医療支援サービス「LOOKREC」 イベント / 勉強会 - GCPUG - 広島支部 organizer - 中国DB勉強会 - 広島担当 - JP_Stripes - 広島 - Cloud Native JP - 広島 - その他

Slide 3

Slide 3 text

1. 自己紹介 2. Kubernetes導入事例 3. Google Cloud の動向 4. 地方におけるCloud Native

Slide 4

Slide 4 text

Web サーバー Kubernetesの導入事例 画像変換 サーバー

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

1. 自己紹介 2. Kubernetes導入事例 3. Google Cloud の動向 4. 地方におけるCloud Native

Slide 8

Slide 8 text

Cloud Native界隈 マイクロサービスというのが良いらしい

Slide 9

Slide 9 text

http://album.cloudit.co.jp/wp-content/uploads/2017/04/MSA1.jpg

Slide 10

Slide 10 text

複雑になる作業 - アプリケーションの全体像を 把握するのが難しい - 変更時の影響範囲も複雑化 - 毎回全ビルド、全リリース が必要 - コンポーネントが細分化されるため ワークフローが複雑化 - どのコンポーネントが どこから 呼ばれるのか管理が大変 - デバッグ・デプロイが超絶複雑に モノリシック マイクロサービス

Slide 11

Slide 11 text

幸せになるために 様々なツールを駆使して、ワークフローを自動化しよう

Slide 12

Slide 12 text

Docker/コンテナ サービスをパッケージ化し、 様々な環境で実行できる状態へ

Slide 13

Slide 13 text

コンテナの展開、スケール、管理を 容易にするためのオーケストレーションツール Kubernetes

Slide 14

Slide 14 text

http://nishadikirielle.blogspot.com/2016/02/kubernetes-at-first-glance.html

Slide 15

Slide 15 text

Istio アプリケーションに変更を加えることなく サービス間の通信をセキュアに管理

Slide 16

Slide 16 text

https://docs.google.com/presentation/d/1DOvrP3jhUurK3E1NtG2DcRd31qeW65rj98vsspCAY7c/edit#slide=id.p Control Plane API Mixer Service A Service B proxy proxy HTTP/1.1, HTTP/2, gRPC or TCP -- with or without mTLS Pilot Citadel Config data to Envoys TLS certs to Envoys Policy checks, telemetry Control Plane Pilot:サービス通信ポリシーを構成およびプッシュするための制御プレーン。    (タイムアウト・リトライ・サーキットブレーカーなど) Mixier:Envoyからデータを収集し、アクセスコントロールを行う     プラグインモデルによる柔軟なポリシーの施行が可能 Citadel:アイデンティティと資格情報を管理し、      相互TLSを使用したサービス間認証を行う[n,z] Data plane Envoy:通信を傍受してポリシーを適用するネットワークプロキシ Istio

Slide 17

Slide 17 text

Google Cloud の方向性

Slide 18

Slide 18 text

Cloud Services Platform

Slide 19

Slide 19 text

- managed Istio (Beta?) - GKE on-prem (Alpha) オンプレミス環境とのハイブリット構成 - Container Registry, Cloud Build を活用した CI/CD - Stackdriver Monitoring によるサービス監視 Google Kubernetes Engine(GKE) その他のGCPプロダクト

Slide 20

Slide 20 text

- エンドポイントを抽象化 - OSS である Knative をGKE上で管理する GKE serverless add-on その他のGCPプロダクト

Slide 21

Slide 21 text

https://4.bp.blogspot.com/-S3E4fro-TTI/W14x2CzsTtI/AAAAAAAAGI4/InS86LvJ_-MEaJK7obM7oWNoGF0VFCKQgCEwYBhgL/s1600/gcp_stackdriver_topology.png

Slide 22

Slide 22 text

Build - GithubなどにPushしたソースコードをビルドし、 Knative上で実行できる状態にデプロイする Serving - デプロイしたコンテナをリクエストドリブンで実行 使われていない時は最小0までスケール Events - サービスを実行するためのイベントを登録・管理 Knative https://github.com/knative/docs

Slide 23

Slide 23 text

Knative https://codelabs.developers.google.com/codelabs/knative-intro

Slide 24

Slide 24 text

Googleの目指す未来 「最終的には、Google Cloud Functions、Google Kubernetes Engine、 Google App Engineなどの上の全てのアプリケーションが、 Istioのエンドポイントとして同じように見え、管理できなければならない。」 http://www.atmarkit.co.jp/ait/articles/1808/28/news036.html

Slide 25

Slide 25 text

1. 自己紹介 2. Kubernetes導入事例 3. Google Cloud の動向 4. 地方におけるCloud Native

Slide 26

Slide 26 text

- Cloud Nativeな勉強会が開催されない - マイクロサービスを採用する程の規模のアプリがない - まだまだオンプレ大好きな企業が多い - バージョンアップがめまぐるしいので情報のキャッチアップが大変 - Kubernetes, Istio, Envoy など平行で情報収集が必要 - クラウドベンダーのアップデートに対応していく体力が必要 共通の問題 + 地方特有の問題

Slide 27

Slide 27 text

Google App Engine(GAE) その他のGCPプロダクト - アプリケーションを実行するPaaSサービス - マイクロサービスまでは厳しいが、 複数サービスを展開可能 - なんだったら Knative よりも Knative

Slide 28

Slide 28 text

- VMインスタンス - インスタンスグループを作成することで オートスケールも可 その他のGCPプロダクト Google Compute Engine(GCE)

Slide 29

Slide 29 text

- Python, Node.js, Go をサポート - イベントドリブンで関数を実行可能 - Serverless Container その他のGCPプロダクト Google Cloud Functions

Slide 30

Slide 30 text

プロジェクトに応じた最適なサービスや アーキテクチャを選択することが重要 これは誰向けなのか 組織の文化や既存の資産によって ベストプラクティスが大きく変わってくる

Slide 31

Slide 31 text

https://cloud.withgoogle.com/next/sf Google Cloud Next’19

Slide 32

Slide 32 text

ありがとうございました