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

SRETT#7 エンプラ企業におけるK8s利用意義について再考

SRETT#7 エンプラ企業におけるK8s利用意義について再考

Annosuke Yokoo

October 12, 2023
Tweet

More Decks by Annosuke Yokoo

Other Decks in Technology

Transcript

  1. エンプラ企業のk8s利用における課題 • 技術的課題 ◦ k8sを動かすのに必要なリソースのコスト ◦ 成長する組織・サービスに対するスケーラビリティ ◦ 現行運用ソフトウェアとのインテグレーション ◦

    アプリケーションモダナイゼーションに向けたチャレンジ • 組織的課題 ◦ 組織がサイロ化しており、オーナーシップを持てる人が限定されてしまう ◦ サービス数が多く各サービスを配慮しながら進めるのでは、調整やコミュニケーションのコストがかかり、即効性のある 成果が出しにくい ◦ 認識統一への障壁が多く、常に同じゴールイメージの共有がとりづらい • その他 ◦ ~~設計書、~~仕様書、~~申請など関係各所に納品が求められ、意思決定に必要以上のアウトプットが必要 ◦ (組織・サービスによっては)単純に人員不足
  2. エンプラ企業のk8s利用における課題 • 技術的課題 ◦ k8sを動かすのに必要なリソースのコスト ◦ 成長する組織・サービスに対するスケーラビリティ ◦ 現行運用ソフトウェアとのインテグレーション ◦

    アプリケーションモダナイゼーションに向けたチャレンジ • 組織的課題 ◦ 組織がサイロ化しており、オーナーシップを持てる人が限定されてしまう ◦ サービス数が多く各サービスを配慮しながら進めるのでは、調整やコミュニケーションのコストがかかり、即効性のある 成果が出しにくい ◦ 認識統一への障壁が多く、常に同じゴールイメージの共有がとりづらい • その他 ◦ ~~設計書、~~仕様書、~~申請など関係各所に納品が求められ、意思決定に必要以上のアウトプットが必要 ◦ (組織・サービスによっては)単純に人員不足 「そもそもどういうモチベーションで k8sを利用するんだっけ?」 「我々ってk8sを利用することで特にどんな恩恵が欲しいんだっけ? 😇」
  3. k8sの特徴 • Declarative(宣言的) API • Reconciliation loop • Custom Resource

    / Eco System エンプラ企業がk8sを利用することにより、 特に恩恵を受けることはいったいなんなのか 🧐
  4. エンプラ企業のk8s利用意義(一例) • コンテナオーケストレーション ◦ 複数のコンテナ(Pod)を効率よく管理し、 負荷分散、 ネットワーク設定、 シークレット管理等の設定を宣言的に管理す ることが可能 •

    スケーラビリティ ◦ 動的なスケーリングが可能であり、 需要に応じて自動でリソースを調整できる • ポータビリティ ◦ オンプレ基盤やクラウドプロバイダーに依存せず、 環境に依存しない運用が可能 • リソース効率 ◦ CPUやメモリなどのリソースを最適に使用し、 コンテナ間でリソース共有できるため、 実行環境における効率的なリ ソース使用が可能 • DeploymentとRollback ◦ 柔軟なデプロイ方式やReconciliation loopの特性により、リリース精度の向上、 必要に応じた迅速なロールバックの 実現が可能
  5. エンプラ企業のk8s利用意義(一例) • コンテナオーケストレーション ◦ 複数のコンテナ(Pod)を効率よく管理し、 負荷分散、 ネットワーク設定、 シークレット管理等の設定を宣言的に管理す ることが可能 →

    組織のガバナンスや権限移譲がされやすくなる • スケーラビリティ ◦ 動的なスケーリングが可能であり、 需要に応じて自動でリソースを調整できる → システムに対して、コスト効率良く柔軟性を持たせられる • ポータビリティ ◦ オンプレ基盤やクラウドプロバイダーに依存せず、 環境に依存しない運用が可能 → モダナイゼーションを図るリフト&シフトのような、異なるインフラ環境への移行が簡略化される • リソース効率 ◦ CPUやメモリなどのリソースを最適に使用し、 コンテナ間でリソース共有できるため、 実行環境における効率的なリ ソース使用が可能 → ワークロード整備における運用負荷の低減 • DeploymentとRollback ◦ 柔軟なデプロイ方式やReconciliation loopの特性により、リリース精度の向上、 必要に応じた迅速なロールバックの 実現が可能 → リリースに対する安定性・安全性の担保により開発生産性の向上
  6. エンプラ企業に対するk8s伝道者(Evangelist)としての心得 • 組織統制の取りにくいエンプラ企業では、特に k8sの利用意義を明確にし、ステークホルダー間でいつでも目線を揃えられるように しておくことが重要 • k8sリソースはManifestファイルにDesired Stateを宣言するが、「組織におけるk8s利用意義と理想状態」 もマニフェスト(公約)のよ うに言語化し、みんなが認識にしておくことが大切

    ◦ 抽象化したk8sの利用意義の1つは 「理想状態への回帰」 にある ◦ 本来はここからスタートする方が良いが、スモールスタートだと疎かになりがち • k8sにおけるテクニカルな支援をする者は、 Manifestfileを書けるだけでなく、組織における k8sの利用意義から言語化できた方が品 質が向上する
  7. 参考資料 Copyright © 3-shake, Inc. All Rights Reserved. • エンプラにKubernetesを導入してみて分かった

    4つのLessons Learned ◦ https://speakerdeck.com/foobar3173/enpuranikuberneteswodao-ru-sitemitefen-katuta4tunolessons-learned • Kubernetes再入門 - K8s活用するならこれだけは知っておきたいこと - ◦ https://speakerdeck.com/devops_vtj/kuberneteszai-ru-men-k8shuo-yong-surunarakoredakehazhi-tuteokitaikoto • 全てがクラウドネイティブで良いのか。その謎を明らかにすべく我々はエンプラの奥地に向かった ◦ https://speakerdeck.com/jyoshise/quan-tegakuraudoneiteibudeliang-ifalseka-sofalsemi-woming-rakanisubekuwo-haenpurafalseao-di-nixiang- katuta • 「VM 時代の開発とKubernetes による Cloud Native な開発のこれから」 Infra Study Meetup #2 / infrastudy2-k8s ◦ https://speakerdeck.com/masayaaoyama/infrastudy2-k8s • Kubernetes で実践するクラウドネイティブ DevOps / Cloud Native DevOps with Kubernetes ◦ https://speakerdeck.com/superbrothers/cloud-native-devops-with-kubernetes-devops-cloudnative-and-gitops