【レポート】最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは(AWS-08) #AWSSummit

2022.05.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは!つくぼし(tsukuboshi0755)です!

この記事では、2022年5月25日(水)に行われたAWS Summit Online 2022のオンラインセッション AWS-08『最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは』をレポートします。

セッション概要

「モダナイゼーションするにはマイクロサービスにしないといけないですよね?でも難しそうで…」「XXシステムをモダナイゼーションしろと言われたのですが、どうしたら良いですか?」このようなお客様の相談が増えておりますが、皆様は効果的なモダナイゼーションを進められているでしょうか。 このセッションでは、モダナイゼーションとは何かを改めて考えるとともに、モダナイズする上での重要な観点や効果的な取り組み方について、AWS のサービスを含めて解説します。

スピーカー

AWS デジタルトランスフォーメーション部 マイグレーション スペシャリスト ソリューションアーキテクト 倉元 貴一 氏

セッションリンク

下記リンクからセッションの資料をご確認頂けます。

なお、セッション情報を参照するためにはAWS Summit Online 2022への無料登録が必要となります。

最も効果的な エンタープライズシステム・モダナイゼーションの進め方とは(AWS-08)

※セッション資料は上記リンク先の「添付ファイル」タブからダウンロードすることが出来ます。

レポート

モダナイぜーションとは何か

  • モダナイゼーションのイメージ
    • サービス
    • ツール
    • 言語・アーキテクチャ
    • 方法論
    • 上記はいずれも手段(How)であり、先に何を(What)なぜ(Why)を考える事が必要
  • モダナイゼーションの必要性
    • ユーザーの多様化
    • 手段の多様化
    • 加速度的に変化
  • モダナイぜーションとは
    • 最新のインフラ、アーキテクチャ。組織パターンを組み合わせて現行システムをリファクタリングする。
    • ビジネスの俊敏性を最大化する。
  • モダンの意味
    • 現代式の、最新の
    • モダンは常に変化している
  • Do not Modernize, Keep it Modern
    • 一度だけ最新化するだけでは意味がない
    • 最新な状態を維持し続ける事が大事
  • 常に最新の適切な手法を選択し続ける
    • IT技術、アーキテクチャ:コンテナ、サーバレス、マイクロサービス
    • 人、プロセス、文化:CI/CD、DevOps
    • 組織、ガバナンス:アジャイル、スクラム

モダナイゼーションを進めるポイント

  • 従来のWeb3層構成
    • Web Server:Presentation
    • Application Server:Business Logic
    • Database Server:Data
  • モダナイゼーション対象の観点
    • 技術
    • 組織
    • プロセス
    • AWSクラウド導入フレームワーク(AWS CAF)
  • 従来型開発の構造
    • 数年単位の大規模プロジェクトは変化に弱い
    • 構築/テスト/リリースのサイクルを1回しか実施しない
  • 変化に対応しやすい組織体制
    • 独立した開発チームごとにサービスを作る
    • 構築/テスト/リリースのサイクルを複数回実施する
    • 独立した小さな開発サイクルを連続して回す
  • インフラストラクチャ・モダナイゼーション
    • 作業を可能な限りサービス側にオフロード
    • 第1ステップ:オンプレミス
    • 第2ステップ:バージョンアップ
    • 最新機能の利用やセキュリティの向上
    • 第3ステップ:Amazon EC2
    • ハードウェア/OSをクラウド側にオフロード
    • 第4ステップ
    • ミドルウェア/バックアップ・定期メンテナンス/可用性・スケーラビリティ(一部)をクラウド側にオフロード
  • アプリケーション・モダナイゼーション
    • 独立した開発のために分割・疎結合化
    • 第1ステップ:モノリス
    • 第2ステップ:バージョンアップ
    • 最新機能の利用やセキュリティの向上
    • 第3ステップ:システム分割
    • レイヤーによるシステム分割(画面-ビジネスロジック)
    • 業務によるシステム分割
    • 第4ステップ:マイクロサービス化
  • AWS EC2によるリホスト
    • Web Server:Amazon EC2
    • Application Server:Amazon EC2
    • Database Server:Database on Amazon EC2
  • AWS EC2によるモダナイズ
    • Web Server:ALB
    • Application Server:EC2 AutoScailing
    • Database Server:Amazon Aurora + Amazon S3
  • コンテナやサーバレスを活用したモダナイズ
    • Web Server:Amazon API Gateway
    • Application Server:ALB,AWS Fargate, AWS Lambda
    • Database Server:Amazon Aurora, Amazon S3, Amazon DynamoDB
  • バッチアプリケーションもモダナイズ
    • Batch Server:Amazon EC2, Amazon ECS, AWS Step Functions
    • Database Server:Amazon Aurora, Amazon S3, Amazon DynamoDB
  • モダナイゼーションを進めるポイントとは
    • 変化に対応しやすい体制・開発サイクルを作る
    • 最も注力すべき課題に着目して、FromとToを設定する

段階的モダナイゼーションの実現方法

  • Strangler Figパターンの活用
    • 小さく俊敏に始められる
    • すぐにモダナイゼーションの効果を得られる
    • 容易に切り戻せるのでリスクを低減できる
  • オンラインアプリケーションへの適用
    • 現行システムはそのままに、新規システムを構築
    • 新規システム構築後、エンドポイントのルーティングを徐々に変更
    • ルーティング変更後システムに問題がなければ、現行システムを停止する
  • 複数AWSアカウント構成は設定・管理が複雑に
  • AWS Migration Hub Refactor Spaces
    • リファクタリングを数ヶ月から数日の短縮
    • 単一アプリケーションを、容易にレガシーアプリケーションとマイクロサービスの組み合わせへ
  • AWS Migration Hub Refactor Spacesの特徴
    • リファクタリング環境のセットアップ・運用管理の手間を削減
    • アプリケーションお呼び出し元に、リファクタリングの影響を与えない
    • 複数アカウントにまたがってトラフィックをルーティング
  • Refactor Spacesの構成例
    • Refactor Spaceの作成
    • 環境の分割
    • アプリケーションの作成
    • URL付きサービスまたはAWS Lambdaの作成
    • ルーティングの追加
  • 従来型の組織体制ではスケールしにくい
    • 人手による作業・チームをまたがったコミュニケーションはボトルネックになりやすい
  • 開発プロセスもモダナイズ
    • 自動化・省力化によって人手をできるだけ排除し、ボトルネックになりにくい仕組みを作る

まとめ

  • モダナイゼーションはツールや方法論がポイントではなく、モダンであり続けるための組織体制や開発サイクルが重要
  • あらゆる技術を導入するのではなく、現行システムにおける最も重要な改善ポイントに注力してFrom/Toを設定する
  • 段階的モダナイゼーションを実現するために、AWSでは様々なサービスを提供している
  • 一番お伝えしたかった事:Do not Modernize, Keep it Modern
  • もし一つだけ取り組むなら:全ての土台となる開発プロセスの内、CI/CDパイプラインを検討するべき

最後に

システムを最新化する(モダナイゼーションを実施する)には、単に新しい技術を適用すれば良い訳ではなく、組織やプロセスの見直しが必要だという事が、とても分かりやすく説明されているセッションでした。

最近よく聞くDXに取り組んでみたい!という方に対しても、このセッションの内容は非常に参考になると思います。

是非セッション資料も併せて、本セッションをご覧下さい。

以上、つくぼしでした!