[re:Invent2023 ざっくre:Cap]Completing a large-scale migration and modernization with AWS  

# はじめに
みなさんこんばんは！hiropyです。
今回はre:inventで参加したセッションを、英語できないマンなりにざっくり振り返っていこうと思います！

本記事では「Completing a large-scale migration and modernization with AWS」について記載していきます。

翻訳ミス、意図の取り違えがあるかもしれませんが、「こんなことしてたんだ」くらいでご参考にしていただけると幸いです。

# セッション概要

- セッション名：ENT215 | Completing a large-scale migration and modernization with AWS
- セッションタイプ：Breakout session
- レベル：200


セッションの概要は以下のとおりです。

> このセッションでは、AWSを利用してオンプレミスのワークロードを移行し、モダナイズした何千もの企業から学んだ貴重な教訓に焦点を当てます。技術的な教訓、使用されるメンタルモデル、移行する際にモダナイゼーションするチームをどのようにセットアップするか、成功のためにAWSプロフェッショナルサービスとAWSパートナーにどのように関与するかについて深く掘り下げます。最後に、AWS移行とモダナイゼーションツールの最新情報を得ることができます。

マイグレーションからモダナイゼーションを実施するにあたり、どんな組織体制で臨むべきか、メンバーのトレーニングはどう実施するか、どのようなサービスを活用するかの紹介でした。


# セッション内容
## マイグレーションをどのように進めるか？
### プロダクトの分析
マイグレーション対象のプロダクトを分析する必要がある。
いきなり新しいツールを用いてマイグレーションを実施しても、うまくいかないことがある。
プロダクトに適したツール・戦略選定のために必要

### リーダーを立てる
マイグレーションのプロジェクトを進めていくにあたり、Amazon でいうシングルスレッドリーダーが必要

[こちらから引用](https://aws.amazon.com/jp/blogs/news/two-pizza-teams-are-just-the-start-accountability-and-empowerment-are-key-to-high-performing-agile-organizations-part-2-jp/)

> シングルスレッド・リーダーとは、モバイルアプリケーション、顧客アカウント、または電子商取引ストアの検索機能など、特定のプロダクトに対して、完全に専任で、説明責任を持つリーダーです。シングルスレッド・リーダーは、戦略を実際の成果に変える責任があり、その為の権限と環境を用意されています。

ビジネスを導くリーダーが必要

定期的にチームメンバーの意見を聞き、全体をまとめ、関係各所と密にコミュニケーションをとりながら進めていくことが重要

### チームの編成
リーダーだけでは、専門的な質問などに対応できない場合がある。
そこでCCoEチームを編成し、いかなるユースケースにも対応できることが必要。
例えば、ソリューションアーキテクト、クラウドエンジニア、セキュリティエンジニアやアプリケーションエンジニア、Opsエンジニアも大事。

網羅的な技術力を持ち、クラウドパターンを理解する必要がある。

組織が拡大した際には、CCoEチームの下に、小さいCCoEチームが複数編成される、みたいな組織体制も考えられる。

### スキルの習得
（なんでこの話になったかの文脈は怪しいです、、）
マイグレーションからモダナイゼーションを進めるにあたり、適したスキルを再取得することも必要。
このスキル管理など、クラウド事業を包括的に管理するCloud Business Office(CBO)という体制がある。
この体制は、リーダーのもとに技術者や法務関係者など、さまざまな分野の人が従事する組織体制。（[参考](https://aws.amazon.com/jp/blogs/enterprise-strategy/creating-the-cloud-business-office/)）

> クラウド ビジネス オフィスは、組織がビジネス全体でパブリック クラウドの使用を導入し、加速するための効果的なガバナンスを保証します。これは、セキュリティ、信頼性、可用性、コスト、市場投入までの時間にわたる重要なクラウドの差別化要因について幅広く教育を受けることを約束する定足数を形成する、企業全体の主要な関係者の全体的な代表を通じて行われます。大胆な目標と原則を確立して合意し、従業員がクラウドを大規模に導入できるように積極的に取り組み、その過程で生じるリスクや阻害要因に対処し、是正するつもりです。


スキル再取得を進めるにあたり、全ての分野を網羅的に実施することは難しいため、それぞれの分野に特化して習得する人を立てた方が良い。

スキルの取得方法は、AWS が提供するトレーニングなどがある。


## 既存のツールやアーキテクチャを移行するべきか？
これは重要な観点であり、明確な１つの答えは存在しない。
これを解決する最短の方法は、「なぜそのアーキテクチャ・ツールなのか」を考えること。

移行をする際にポイントになってくるのが、「ガバナンスとアジリティのバランス」。
どちらも重要な項目。

この両方を実現できるAWSのサービスがControl Tower。
エンタープライズの多数のお客様の要件を取り込んだランディングゾーンを提供する。
コンプライアンス要件を満たす方法を検討するのには時間がかかるので、ランディングゾーンは活躍する。

多数のサービスを制御する例だと、SCPやCloudFormation Guard  がある。


ユースケースごとに適したクラウド環境を構築できる[Cloud Foundation Framework](https://aws.amazon.com/jp/architecture/cloud-foundations/cloud-foundations-framework-overview/)というものがある。
これは（おそらく）エンタープライズのお客様のユースケースにも対応しているので、マイグレーションの助けになる。

 ## マイグレーションのアプローチ方法
いくつかのケースに分けて紹介。（メモを忘れてしまったのでうろ覚えです、、 ）
- rehost
- repurchasing
- replatform
- retain
- retire


 活用するサービスとして、
-  [AWS MGN](https://aws.amazon.com/jp/application-migration-service/)

などが紹介されていました。

## なぜモダナイゼーションなのか
モダナイゼーションを実施することのメリットとして、以下が挙げられる。
- デプロイの待ち時間の短縮
- 継続的かつ自動で実施されるパイプライン
- セキュリティの統一された規格
- 的確な監査の実施


モダナイゼーションを実施するためには、アプリケーションの複雑さを理解するアセスメントが必要。
アプリケーション内の依存関係を理解する。

## モダナイゼーションの方法
- OSをアップデートする
- コンテナに移行する
    - [App2Container](https://aws.amazon.com/jp/app2container/)というコマンドラインツールが活用できる
- オープンソースに移行する
    - [Porting Assistant for .NET](https://aws.amazon.com/jp/porting-assistant-dotnet/)を活用すると、.NETのアプリケーションをLinuxに移行するための分析が実施できる
- サーバレスへの移行
- DevOpsへの移行
- マネージDBへの移行

## GenAIの活用
メモを忘れてしまいました、、


# 感想
- 大規模マイグレーションは携わったことがないので、組織編成から参考になった。
- 知らないツールが結構あった。

以上、皆様のご参考になれば幸いです！