Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cloud Native Kansai #01

mmorito
February 01, 2019

Cloud Native Kansai #01

mmorito

February 01, 2019
Tweet

More Decks by mmorito

Other Decks in Programming

Transcript

  1. 地方における Cloud Native
    Cloud Native Kansai#01

    View full-size slide

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

    View full-size slide

  3. 1. Google Cloud Platform? (GCP)
    2. Google Kubernetes Engine? (GKE)

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  15. 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

    View full-size slide

  16. Google Cloud の方向性

    View full-size slide

  17. Cloud Services Platform

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  31. ありがとうございました

    View full-size slide