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

CloudNativeをなぜ実践するのか? / Why practive CloudNative

CloudNativeをなぜ実践するのか? / Why practive CloudNative

Daichi Yamaguchi

July 30, 2019
Tweet

More Decks by Daichi Yamaguchi

Other Decks in Technology

Transcript

  1. まずはまとめから • IT の驚異的な進化に立ち向かうため、必要になっていく • CloudNative が今後の IT における標準的な立ち位置になる •

    CloudNative やりたいけど、やっぱり色々と辛いこともある ◦ 新技術であり、新しく覚える事が多い ◦ 既存技術の理解も必要 ◦ アップデート早すぎ • 大きな可能性があり、既にパラダイムシフトが発生している
  2. CloudNativeの実践によって変わること 物理環境 ハイパーバイザ OS ミドルウェア アプリケーション オンプレミス 物理環境 ハイパーバイザ OS

    ミドルウェア アプリケーション IaaS 物理環境 ハイパーバイザ OS ミドルウェア アプリケーション CloudNative コンテナ オーケストレータ コ ン テ ナ
  3. CloudNativeの実践によって変わること 物理環境 ハイパーバイザ OS ミドルウェア アプリケーション オンプレミス 物理環境 ハイパーバイザ OS

    ミドルウェア アプリケーション IaaS 物理環境 ハイパーバイザ OS ミドルウェア アプリケーション CloudNative コンテナ オーケストレータ コ ン テ ナ コンテナオーケストレータ(k8s)が共通なら、 下の階層を問わない パラダイムシフトが発生している ※データを代表に、まだまだ検討しなければならないポイントはあります
  4. Non CloudNativeな構成だと • 変更による影響が把握できず、変更前に調査が必要 ◦ Non predictably • ミュータブルな状態であり変更管理が出来ず、 OS

    再構築時の再現性が難 しい ◦ Non Imutable Infrastructure • プロセスダウンした障害に対して、対応が手動オペレーション ◦ Non resilient • OS やマネージドサービス間の通信連携が把握できず、変更した際に予想 外の問題が生じてしまう ◦ Non observable
  5. Non CloudNativeな構成だと • 変更による影響が把握できず、変更前に調査が必要( Non predictably ) • ミュータブルな状態であり変更管理が出来ず、 OS

    再構築時の再現性が難 しい( Non Imutable Infrastructure ) • プロセスダウンした障害に対して、対応が手動オペレーション( Non resilient ) • OS やマネージドサービス間の通信連携が把握できず、変更した際に予想 外の問題が生じてしまう( Non observable ) これらの課題を解決し、 ミッションを完遂する この思想こそが、 CloudNativeのコアであると 私は考えます
  6. 辛いこと • オンプレ→ IaaS へ移管の場合、 OS より上の領域は変わらない ◦ スキルをそのままスライドできる領域が大きく、学習コストが低い ▪

    もちろん IaaS 固有の学習は追加で必要 • この状態で Docker や Kubernetes が登場すると・・・ ◦ 定義ファイルの記述方法を新しく学ぶ ◦ Kubernetes オブジェクトで何ができるか理解するため、新しく学ぶ ◦ アプリケーションのステートレス化 → 学習コスト大 & アプリケーションの設計変更が必須
  7. まだまだ続くよ、辛いこと • Kubernetes を理解する上で、 Linux の理解は避けて通れない ◦ 今までよりももっと理解していく必要がある ◦ マネージド

    Kubernetes を利用すればある程度は軽減可能 • サービスメッシュやるなら TCP/IP への理解も必要 • ましてや Kubernetes を取り巻く大量のエコシステム群まで考えると・・・ ◦ 数多ある CI/CD 、 Monitoring 、 Service Mesh 、 Distributed DB のツール群 ◦ どれが自組織にとって最適なツールか、判断できるのか?
  8. 勘違いしてはいけないこと • 全て CloudNative 化する必要はない ◦ 変更が少ないアプリケーションは恩恵が少ない ▪ 例えば社内インフラ。停止しても影響の少ないシステムなど ◦

    CPU 、メモリといったリソースを大量消費するもの ▪ 集約率に影響する • モノリシック=悪ではない ◦ 向き不向きがあるだけ ◦ モノリシック以外の選択肢として CloudNative が出てきたと捉える
  9. まとめ • IT の驚異的な進化に立ち向かうために、必要になっていく • 今後の IT インフラにおける標準的な立ち位置になる • CloudNative

    やりたいけど、やっぱり色々と辛いこともある ◦ 新技術であり、新しく覚える事が多い ◦ 既存技術の理解も必要( Linux,N/W,M/W ) ◦ アップデート早すぎ • 大きな可能性があり、既にパラダイムシフトが発生している