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

Why we expect the Microservices

Why we expect the Microservices

こちらで発表させていただいた資料です。

Kubernetesマイクロサービス開発の実践 - Forkwell Library #47
2024/04/04(木) 19:30 〜 21:00
https://forkwell.connpass.com/event/313765/

Shingo.Kitayama

April 04, 2024
Tweet

More Decks by Shingo.Kitayama

Other Decks in Technology

Transcript

  1. Copyright © 2024 Red Hat K.K. All Rights Reserved. Introduction

    Shingo Kitayama Red Hat K.K. Cloud Solution Architect, Technical Sales OpenShift Architect shingo-kitayama spchildren
  2. Copyright © 2024 Red Hat K.K. All Rights Reserved. 革新性、新規性

    (16%) 日本のKubernetes成熟度の感覚は!? イノベーター アーリーアダプター アーリーマジョリティ レイトマジョリティ ラガード 2015 Initial commit 2019 実践ガイド vol.1 2021 CI/CDパイプラインの実装 2020 完全ガイド vol.2 2018 完全ガイド vol.1 2016 Kubernetes v1.0 in CNCF 信頼性、安定性 (68%)
  3. Copyright © 2024 Red Hat K.K. All Rights Reserved. 仮想化時代の開発と運用の役割

    共通基盤 モノリシックサービス アプリケーション (機能) アプリケーション (機能) アプリケーション (機能) 監視 CI/CD データ管理 仮想化基盤統合管理 開発 運用 運用者 - Operators 開発者によって開発されたアプリケーションを展開するとともに、インフ ラリソースに関する更新を行います。また、更新に対してサービス影響が 出ないように監視し続ける仕組みを作ります。 多くの場合、仮想マシンの管理やネットワークアクセス、データ管理作業 はインフラ運用者側で担当します。 開発者 - Developers ビジネス要求に従ってアプリケーションコードの開発を担当します。 また自動テスト用のスクリプトを作成することで、開発したコードが意図 したとおりに動作し、他のコンポーネント(サービス)とも連携できている のかを確認します。 ただし、開発したアーカイブやソースコードのデプロイは運用者へ依頼を 行います。 依頼 更新
  4. Copyright © 2024 Red Hat K.K. All Rights Reserved. コンテナ時代の開発と運用の役割

    CI/CD サービス マイクロ サービス アプリケーション (機能) Observability CI/CD 個別運用 CI/CD サービス アプリケーション (機能) Observability 個別運用 CI/CD サービス アプリケーション (機能) Observability 個別運用 Site Reliability Engineering (SRE) 開発者によって開発されたアプリケーションが安定的に動いているのかを 動的に監視し続ける仕組みを作ります。サービスレベル目標(SLO)とエ ラーバジェットを作成し、監視を支援します。 多くの場合、Kubernetesのマニフェストの提供や支援も担当します。 自動化基盤 Platform Engineering IaCやGitOpsを用いて、クラスタをプロビジョニングし、安定運用します。 クラスタ全体の正常性を監視するだけでなく、開発チームがガバナンスを 守りながら開発ができる環境を整え、オンボーディングによって標準的に 活用できる姿を目指します。 開発者 - Developers ビジネス要求に従ってアプリケーションコードの開発を担当します。 また自動テスト用のスクリプトを作成することで、開発したコードが意図 したとおりに動作し、他のコンポーネント(サービス)とも連携できている のかを確認します。コンテナイメージのビルドやテストに関する責任を負 います。 開発 運用 オンボーディング Observability セキュリティ Internal Developer Portal (IDP) マイクロ サービス マイクロ サービス
  5. Copyright © 2024 Red Hat K.K. All Rights Reserved. コンテナ時代の開発と運用の役割

    CI/CD サービス アプリケーション (機能) Observability CI/CD 個別運用 CI/CD サービス アプリケーション (機能) Observability 個別運用 CI/CD サービス アプリケーション (機能) Observability 個別運用 自動化基盤 開発 運用 オンボーディング Observability セキュリティ Internal Developer Portal (IDP) namespace SRE namespaces CI/CD Observability セキュリティ Authenticate IaC / GitOps Git Repo Registry API Design Java Lang GO Lang namespace Node.js namespace Internal Developer Platform (IDP) コンテナ開発者にとっての「Kubernetes」は 検討項目が多くて難しいもの!? マイクロ サービス マイクロ サービス マイクロ サービス
  6. Copyright © 2024 Red Hat K.K. All Rights Reserved. アプリモダナイズへの投資状況

    Research conducted by Illuminas. Reference : State of Application Modernization 2024 Comprehensive Report by Konveyor 既存アプリをクラウド移行 新規アプリへ変更
  7. Copyright © 2024 Red Hat K.K. All Rights Reserved. Modernized

    Application ”The 6R’s” 新規アプリへ変更 既存のアプリケーションを、同一または類似の機能を 提供するSaaSソリューションに完全に置き換える戦 略です。 既存のアプリケーションをより小さなコンポーネント やマイクロサービスに分解し、コンテナプラット フォームをはじめとするクラウド環境に最適化する戦 略です。 Repurchase 1 Refactor 2 既存アプリをクラウドへ移行 既存アプリケーションのビジネスロジックはそのまま 移行しますが、クラウド機能に最適化した形にするた めに、一部周囲のコンポーネントを置き換える戦略で す。 アプリケーションへは一切手を加えずに、そのままの 設定を維持したまま、クラウドへの移行を行う戦略で す。 Replatform 3 Rehost 4 クラウドメリットは享受しない 重要な情報が不足していたり、他の要因で支障がある ため、現時点ではアプリケーションを移行できないと 判断した状態です。 今後ビジネスとして縮退が決断されており、明確に廃 止していくアプリケーションです。 Retain 5 Retire 6 ビジネス判断として サービスにどう投資するのか? ビジネスロジックを変更し、クラウドに最適な機能へ 更新するのか利用するのか? クラウド機能に最適化した形で移行するか? (Lift & Shift) 今後もサービスとして継続し続けるか? 企業競争力の低いサービス 企業競争力の高いサービス
  8. Copyright © 2024 Red Hat K.K. All Rights Reserved. ビジネス影響と投資判断

    Replatform Rehost Refactor 【対象ワークロード】 基盤を変えても影響がないサービス ・コンテナがサポートされたミドルウェア製品 ・Webサーバー(stateless系) など 【メリット】 - 移行費用や工数を最小限 - アプリの不具合の発生率は低い 【デメリット】 - 性能劣化の可能性 - クラウドの利点が得づらい 【メリット】 - 移行費用や工数を抑えられる - 保守性のあるシステムができる - 外部からみた挙動は変わらない 【デメリット】 - システムが古いと改良箇所が増えてしまう 【メリット】 - 保守性を最適化したサービスができる - 継続開発が容易になる 【デメリット】 - 移行費用や工数はある程度かかる - 影響範囲の特定が難しい - ビジネスの合意と判断に時間を要する 【対象ワークロード】 基盤は変更するものの、移行時間や予算が制限 されるサービス 【対象ワークロード】 基盤変更と同時にビジネス判断としてリファク タへ十分投資できるサービス Platform (Kubernetes) App (コンテナ) サブシステム ビジネスロジック Platform (Kubernetes) App (コンテナ) サブシステム ビジネスロジック Platform (Kubernetes) App (コンテナ) ビジネス ロジック App (コンテナ) ビジネス ロジック
  9. Copyright © 2024 Red Hat K.K. All Rights Reserved. 移行影響

    Replatform Rehost Refactor Kubernetes (基盤)更新 に伴うサービス影響 アプリの保守性 (既存アプリの改修工数) インフラが「クラウドネイティブ」だけでなく、アプ リケーションが「クラウドネイティブ」だと環境変化 (基盤の更新スピード)にも対応できる。 既存アプリケーションに手を加えない(改修工数 をかけない)分、基盤側の変更に弱いサービスが できる。 影響度 - 多 影響度 - 少
  10. Copyright © 2024 Red Hat K.K. All Rights Reserved. 既存アプリの半数は「Replatform」へ

    Research conducted by Illuminas. Reference : State of Application Modernization 2024 Comprehensive Report by Konveyor Replatform Rehost Refactor
  11. Copyright © 2024 Red Hat K.K. All Rights Reserved. Kubernetes

    – マイクロサービス開発の実践 Replatform Refactor App App App App アプリケーションのコンテナ化 既存サービスの 置き換えだけの更新 アーキテクチャの変更 を伴う更新 他のコンポーネントに影響 しない場合の更新 既存サービスをマイクロ サービスに分割した更新 モノリシックからマイクロサービスへの移行手引き どのように 更新するのか? 12 factors apps 設定情報を 環境変数へ ログを 標準出力へ ステートレス 実装へ パッケージ化 更新 Observability 複雑なシステムの内部を詳しく理解し、 発生する様々な問題に対して迅速に原因を特定する仕組み 監視
  12. linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Thank you Red Hat is the

    world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500.