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

クラウド ネイティブ化は、 本当に必要なのか? 〜移行パターンと成功のポイント~

Cloud Ace
June 17, 2024
160

クラウド ネイティブ化は、 本当に必要なのか? 〜移行パターンと成功のポイント~

Cloud Ace

June 17, 2024
Tweet

Transcript

  1. スピーカー Takumi Mizuno
 Cloud Ace, lnc. / Sr.Specialist
 Web アプリケーション

    エンジニアとして 3 年間で 15 案件に参画し、要件定 義、設計、実装、テストまで幅広く担当。
 現在は Application Modernization 領域に参画し、クラウド ネイティブなシステ ムに移行するための設計や開発を行っている。
 得意領域は、アプリケーション設計 (DDD, Microservices)。

  2. 1. はじめに
 2. なぜクラウド ネイティブ化が必要なのか
 3. 移行パターン
 4. 成功ポイント
 5.

    クラウド ネイティブ化における考え方のシフト
 6. まとめ
 アジェンダ

  3. 目指すこと
 • なぜクラウド ネイティブ化が必要かを理解してもらう 
 • ユースケースに適した移行アプローチを理解してもらう 
 • クラウド

    ネイティブ化のイメージを持ってもらう 
 
 目指さないこと
 • クラウド ネイティブ化の具体例を知ってもらう 
 発表の位置づけ

  4. • ビジネス
 ◦ レガシーシステムがビジネス要件に適合できない(新しい要件に適合した い)
 ◦ レガシーシステムがビジネス変化に追いつけない(アジリティを高めたい)
 ◦ ビジネス価値を高めたい
 •

    そのほか
 ◦ レガシーシステムが複雑すぎる(保守性を高めたい)
 ◦ 長期的なコストを削減したい
 ◦ リスクを減らしたい(セキュリティ, コンプライアンス, 可用性, etc.)
 モダナイゼーションの動機
 参照:7 Options To Modernize Legacy Systems
  5. 「リプレイス」
 
 
 
 
 
 ビジネス要件から刷新し、ゼロか ら再設計または書き直す。 
 「リビルド」


    
 
 
 
 
 ビジネス要件を維持しながら、ゼ ロから再設計または書き直す。 
 クラウド ネイティブ化のプラン
 「リプラットフォーム」
 
 
 
 
 
 実行環境を新しいものに移行。 コードの構造、機能、動作は変更 せず、最小限のコード変更にとど る。
 参照:7 Options To Modernize Legacy Systems ※画像はOpenArt AIで生 成
  6. クラウド ネイティブ化のプラン
 リプラットフォーム リビルド リプレイス use case 1. 定期的なリファクタが実施さ れている

    2. 今後、ビジネス改善を行う予 定がない 1. 定期的なリファクタが実施されて いない 2. 今後、ビジネス改善を行う予定 がある 1. 定期的なリファクタが実施され ていない 2. 直近で、ビジネス改善を行う予 定がある pros 1. 移行コストを抑えながら、運用 コスト削減ができる 1. 運用コスト削減だけでなく、アジ リティや保守性の向上、セキュリ ティやコンプライアンス等のリス ク低減も可能 1. 他の移行プランよりビジネスへ の効果がある可能性が高い 2. 運用コスト削減だけでなく、アジ リティや保守性の向上、セキュ リティやコンプライアンス等のリ スク低減も可能 cons 1. リファクタが定期的に行われ ていない場合、他の移行プラ ンより移行コストが上がる可 能性がある 2. 運用コスト以外は改善されに くい 1. リプラットフォームより移行コスト が上がる可能性がある 1. リプラットフォームより移行コス トが上がる可能性がある
  7. モダナイズが目的になっていないか
 • そのモダナイズはビジネス課題を解決するのか?
 ◦ どのような課題があるのか?
 ▪ 運用コストがかかりすぎている
 ▪ トイルが多く、現状維持の活動に追われている
 ▪

    ビジネスの要求速度にシステム改修が追いついていない etc.
 • モダナイズによる痛みを受け入れられるか?
 ◦ モダナイズにかかる工数
 ◦ 認知負荷の増加
 ◦ 過渡期の運用負荷の増加

  8. 「ものさし」を持っているか
 DORA が提唱するソフトウェア デリバリーパフォーマンスの評価軸
 • 速度
 • 変更のリードタイム
 ◦ コードの変更を

    commit してからデプロイするまでの時間
 • デプロイの頻度
 ◦ 変更を本番環境に push する頻度
 • 安定性
 • 変更時の障害率
 ◦ デプロイにより障害が発生し、すぐに対処する必要が生じる頻度
 • デプロイ失敗時の復旧までの時間
 ◦ デプロイの失敗時に復旧にかかる時間
 参照:Accelerate State of DevOps Report 2023
  9. クラウド ネイティブ化のアプローチ
 • サーバーレス化
 • 疎結合アーキテクチャ化
 ◦ フロントエンドとバックエンドの分離
 ◦ マイクロサービス化


    ◦ ゼロトラスト化 etc.
 • DevOps 改善
 ◦ CI/CD
 ◦ オブザーバビリティ
 ◦ SLO                 etc.
 • AI 導入

  10. クラウド ネイティブ化のアプローチ
 • サーバレス化
 • 疎結合アーキテクチャ化
 ◦ フロントエンドとバックエンドの分離
 ◦ マイクロサービス化


    ◦ ゼロトラスト化 etc.
 • DevOps 改善
 ◦ CI/CD
 ◦ オブザーバビリティ
 ◦ SLO                 etc.

  11. IaaS とサーバーレスの考え方の違い
 • 課金モデル
 ◦ IaaS は、使用状況に関係なく、プロビジョニングしたインスタンスに応じて課 金が発生。サーバーレスは使った分だけ課金される従量制。
 • 運用


    ◦ サーバーレスはフルマネージド型が多いため、クラウド プロバイダーがイン フラ管理をやってくれる範囲が大きい(運用負荷の低減)
 • カスタマイズ性
 ◦ IaaS の方が高い。(運用コスト削減とカスタマイズ性はトレードオフ) 

  12. IaaS とサーバスの考え方の違い
 • アーキテクチャ
 ◦ サーバーレスはユースケースに特化した製品が多い。そのため、おのずとマイクロ サー ビスのような構成になっていく。その考え方のシフトができると、「まずは新機能をサーバ レス サービスで開発してみる」のような方針も可能。

    
 • ゼロトラスト
 ◦ サーバーレス化を進めていくと、どのリソースも外部APIベースのアクセスが多くなる。そ のため、内部ネットワークの管理負荷の低減に繋がる。(代わりに認証/認可をキッチリ 行う必要性があるが、そこはサーバーレスの機能を活用することで負担は多くない) 

  13. 目指すこと
 • なぜクラウド ネイティブ化が必要かを理解してもらう 
 • ユースケースに適した移行アプローチを理解してもらう 
 • クラウド

    ネイティブ化のイメージを持ってもらう 
 
 目指さないこと
 • クラウド ネイティブ化の具体例を知ってもらう 
 発表の位置づけ

  14. 「リプレイス」
 
 
 
 
 
 ビジネス要件から刷新し、ゼロか ら再設計または書き直す。 
 「リビルド」


    
 
 
 
 
 ビジネス要件を維持しながら、ゼ ロから再設計または書き直す。 
 クラウド ネイティブ化のプラン
 「リプラットフォーム」
 
 
 
 
 
 実行環境を新しいものに移行。 コードの構造、機能、動作は変更 せず、最小限のコード変更にとど る。
 参照:7 Options To Modernize Legacy Systems ※画像はOpenArt AIで生 成
  15. クラウド ネイティブ化のアプローチ
 • サーバレス化
 • 疎結合アーキテクチャ化
 ◦ フロントエンドとバックエンドの分離
 ◦ マイクロサービス化


    ◦ ゼロトラスト化 etc.
 • DevOps 改善
 ◦ CI/CD
 ◦ オブザーバビリティ
 ◦ SLO                 etc.