224 Views
November 07, 25
スライド概要
GitHub Copilot Meetup Japan #1
https://aid.connpass.com/event/368649/
FPT ジャパン FPT データ& AI インテグレーション エグゼクティブエバンジェリスト 独立行政法人 国立印刷局デジタル統括アドバイザー兼最高情報セキュリティアドバイザー AI 駆動開発勉強会主催。Microsoft エバンジェリスト時代から、Dell、Accenture、Elastic、VMware を経て現職まで一貫して開発者向けに最新技術を啓発。GPU クラウド技術訴求、AI 駆動開発推進。 政府の仕事は、内閣官房 政府 CIO 補佐官、 デジタル庁 PM を経て、現職を兼務。 Locofy.ai Regional Developer Advocate Google Cloud Partner All Certifications Engineer 2025
GitHub Copilot App Modernization for Java/.NET AI によるアプリケーションモダナイゼーションの⾃動化 2025年11⽉7⽇ https://githubuniverse.com/ 鈴⽊ 章太郎 Executive Evangelist, FPT Japan Holdings
鈴⽊ 章太郎 X (Twitter) ︓ @shosuz https︓//www.docswell.com/user/shosuz FPT ジャパン FPT データ& AI インテグレーション エグゼクティブエバンジェリスト 独⽴⾏政法⼈ 国⽴印刷局 デジタル統括アドバイザー兼最⾼情報セキュリティアドバイザー 略歴︓ AI 駆動開発勉強会主催。Microsoft エバンジェリスト時代から、Dell、 Accenture、Elastic、VMware を経て現職まで⼀貫して開発者向け に最新技術を啓発。GPU クラウド技術訴求、AI 駆動開発推進。 政府の仕事は、内閣官房 政府 CIO 補佐官、 デジタル庁 PM を経て、 現職を兼務。 GH-300 コースをエディフィストラーニング社で MCT (Microsoft 認定 トレーナー) として担当中。 Google Cloud Partner All Certifications Engineer 2025。
GitHub Copilot App Modernization とは AI によるアプリケーション現代化の統合ソリューション 定義︓AI エージェントが評価→計画→変換→検証→ デプロイまでを⼀貫⽀援し、アプリケーション現代化を 加速するソリューション • アセスメントと移⾏計画の⾃動⽣成 コードベース・依存性・ クラウド適合性の包括分析 • OpenRewrite 等を⽤いたコード変換・API 置換 Java 8→21、.NET Framework → .NET 6+ • ビルド/テストの⾃動修復ループと CVE スキャン - 品質とセキュリティの確保 // Before Locale locale = new Locale("EN"); // メソッド⾮推奨警告... // After - Copilotによる⾃動修正 Locale locale = Locale.of("EN"); // 最新APIに対応済み • IaC ⽣成と Azure への⾃動デプロイ - ⼿戻り最⼩化、運⽤最適化 • 数週間かかる作業を数時間〜数⽇で完了 - 開発者体験の⾰新 GitHub Copilot Java .NET Azure
GitHub Universe 2025における位置づけ Agentic SDLC の全体像 • • • • 3層アーキテクチャ: Agent HQ → Create / Collaborate / Operate Create 層の中核: App Modernization(Upgrade / Migrate / Deploy) Collaborate: Coding Agent / Code Review / MCP 連携 Operate: SRE Agent / Mission Control Agent HQ プラットフォーム全体を統括するエージェント管理層 Create Agent Mode / Vision / MCP App Modernization (Upgrade / Migrate) Collaborate Coding Agent / Code Review / GitHub 連携 Operate SRE Agent / Mission Control / Cloud 運⽤⾃動化 GitHub Copilot の App Modernization は開発者⽣産性の⼤幅な向上と技術負債の削減を実現
GitHub チャンネル 11/6 配信 AI & Copilot: Modernizing Applications for the Cloud(Ayan Gupta) https://www.youtube.com/watch?v= a9glyQs6cbE
現在の提供状況(2025年9⽉23⽇発表) Java 向け App Modernization GA .NET 向け App Modernization Preview • VS Code / IntelliJ 拡張と Agent Mode による完全統合 • Visual Studio 2022+ への直接統合 • アプリケーション評価と移⾏計画の⾃動⽣成 • .NET Framework → .NET 8+ へのアップグレード • Java 8→11/17/21等のランタイム更新と依存関係修正 • Legacy/Web Forms → ASP.NET Core への移⾏⽀援 • Spring Boot/Framework の⾃動バージョンアップ • クラウドネイティブ対応(シークレット管理、可観測性) • Azure 移⾏(S3 → Blob、RabbitMQ → Service Bus 等) • Azure 展開(ACA/AKS/App Service など) • Managed Identity 認証への⾃動変換 • Windows → Linux コンテナへの移⾏サポート 2025年5⽉ 2025年9⽉23⽇ 2025年10⽉末〜 Build 2025 Agent Mode 強化 Java GA 化 .NET Preview 発表 Universe 2025
AI エージェントによる4つの主要機能(概要) 1 アプリケーション評価と 計画 コード/依存/クラウド適合性 を解析し計画化 4 コード変換 コンテナ化とデプロイ IaC ⽣成、CI/CD 設定、 Azure への展開 2 OpenRewrite 等で⾃動 アップグレード・API 置換 3 モダナイズとセキュリティ ビルド修復、テスト実⾏、 CVE 検出・修正
各機能の詳細 1⃣ アプリケーション評価と計画 コードベース分析/依存特定 クラウド就航性(AppCAT) 2⃣ コード変換 Java/.NET の⾃動アップグレード 計画→実⾏→差分提⽰ 3⃣ モダナイズとセキュリティ ビルド/テスト⾃動実⾏ CVE スキャン 4⃣ コンテナ化とデプロイ IaC(Bicep/Terraform 等)⽣成 監視有効化 技術負債と課題の⾒える化 移⾏シナリオ提案 API 置換、依存更新 ⼈間確認ループ エラー⾃動修復 安全版への⾃動提案 ACA/AKS/App Service 等へデプロイ 運⽤⾃動化
① -1 アプリケーション評価と計画 包括的分析ポイント プロジェクト構成(モジュール/ビルド設定)の完全把握 ランタイム/フレームワーク/依存性のバージョンと⾮推奨 API 特定 テスト/品質/セキュリティ観点の事前診断と課題特定 クラウド移⾏に向けたギャップ分析とロードマップ ⼿戻りを最⼩化する段階的アプローチの⽴案 Project Analysis Plan Recommendations
DEMO – Assessment 報告書の⾃動⽣成 • • • • GitHub Copilot App Modernization ツールの起動 "Run Assessment” ボタンをクリック 5-10分でアセスメント完了 Asset Manager プロジェクト(Java 8、AWS)のスキャン
DEMO – Assessment 報告書の結果画⾯ • • • • Mission Control Dashboard の表⽰ Java version: 8を認識 Issue Summary: • 4 Java upgrade issues • 10 cloud readiness issues • Mandatory/Potential/Optional 分類 74% of issues can be resolved via Microsoft provided solutions
① -2 クラウド対応性評価の内容 評価レポート例 ターゲット選定(ACA/AKS/App Service/AKS Automatic 等)と最適化提案 ID/シークレット移⾏(Managed Identity/Key Vault)によるセキュリティ強化 ネットワーク/ストレージ/メッセージングの互換性と移⾏パス 運⽤要件(監視/アラート/ログ収集)の⾃動化と標準化 コスト/パフォーマンスのバランス分析と最適リソース提案 Cloud Assessment Report 移⾏対象サービス評価完了 アーキテクチャ案 3パターン⽣成 ステップ別移⾏計画⾃動作成
② コード変換の技術的アプローチ OpenRewrite によるレシピ適⽤(Java 8 → 11/17/21 等) 事前定義タスクで API/依存の安全置換 プラン提⽰→⼈間承認→実⾏→差分と結果を要約 ビルド/テストを回しつつ⾃⼰修復 Before After Locale locale = new Locale("EN"); Locale locale = Locale.of("EN"); ⾃動変換後も品質を担保するため、最終決定は⼈間の監督下で実施
DEMO – Java Version Upgrade の実⾏ • • • • • "Java version upgrade" → "Run task” をクリック Copilot が⾃動的にプランを作成 MCP tool を使⽤して Java 8 → Java 21 へアップグレード Open Rewrite ツールを活⽤ プロジェクトのビルドと検証
カスタムタスクの⾃動⽣成 コミットや既存 PR からパターン抽出→内製知⾒をタスク化 再利⽤可能な変換フォーミュラ(RabbitMQ → Service Bus 等)で効率化 組織標準/ベストプラクティスの継承と知⾒の蓄積 ⼈間の監督下で段階的に適⽤し、安全性を担保 Commit Learn Apply Pattern
③ ビルド検証と整合性維持 ビルド⾃動化(依存解決→コンパイル→テスト)によるフィードバックループの⾼速化 失敗時は原因分析→⾃動修復提案→再実⾏の⾃⼰修復サイクル CI/CD 整合性(ブランチ戦略/ゲート/品質基準)の継続担保 テストカバレッジの維持/向上提案と⾃動テスト⽣成 依存解決 ⼿動作業の⼤幅削減による迅速なフィードバックと品質向上 コンパイル テスト実⾏ 品質検証 テストカバレッジ 変更前 変更後
セキュリティ脆弱性の⾃動管理(CVE) 依存関係の CVE スキャン⾃動実⾏で脆弱性を早期に検出 安全版/代替ライブラリの⾃動提案とアップグレードパス提⽰ コンプライアンス基準(OSS ライセンス/ポリシー)整合性の継続的検証 修正後バリデーション(再ビルド/再テスト)による安全性確認 セキュリティ対応の⾃動化による⼈的ミス排除と迅速な対応 CVE 検出 修正 検証
DEMO – CVE 脆弱性スキャンと結果 • • • • • • Java upgrade 完了後の Upgraded Java Project Summary CVE issues 検出 2つの Critical issues を発⾒ ⾃動修正を試⾏(⼀部は⼿動対応が必要) Code commits の詳細表⽰ セキュリティを重視したプロセス
④ コンテナ化とデプロイの⾃動化 Dockerfile/マニフェスト/IaC ⽣成によるインフラストラクチャのコード化と標準化 環境別パラメータ化とシークレット分離(Key Vault)で安全性と再利⽤性を確保 Azure へのデプロイ(ACA/AKS/App Service/AKS Automatic)を⾃動構成 監視/ログ/オートスケールを⾃動有効化しデプロイ後の運⽤も⽀援 CI/CD パイプラインとの統合による DevOps ⽂化の促進 コード コンテナ Azure ACA AKS App Service AKS Automatic
Java 向け事前定義タスク︓メッセージング RabbitMQ → Azure Service Bus︓AMQP 互換、トピック・キュー・サブスクリプション ActiveMQ → Azure Service Bus︓JMS API サポート、トランザクション処理 AWS SQS → Azure Service Bus︓ペイロード互換、デッドレター対応 マネージド可⽤性とセキュリティ︓ゾーン冗⻑、IAM/MI 認証、暗号化 運⽤負荷軽減と可観測性︓⾃動スケール、メトリクス連携、分散トレース RabbitMQ API マッピング 依存置換 Azure Service Bus ActiveMQ 設定更新 マネージド スケーラブル AWS SQS 安全なID認証 Managed Identity ⾼度な可観測性 Application Insights 運⽤⾃動化 スケール・フェイルオーバー
Java 向け事前定義タスク︓データベース PostgreSQL/MySQL → Azure Database(マネージドインスタンス/フルマネージド) JDBC 接続の MI 対応 - パスワード不要のセキュアな接続 接続⽂字列/トークン化 - 環境別設定と安全な資格情報管理 スキーマ/マイグレーション(Flyway/Liquibase 等)の⾃動更新 接続プール/トランザクション検証 - 信頼性と性能の最適化 Managed Identity 認証 PostgreSQL MySQL Azure Database for PostgreSQL/MySQL
Java 向け事前定義タスク︓ストレージ AWS S3 → Azure Blob Storage へのスムーズな移⾏ ファイルI/O 抽象化によるアプリケーションコードへの影響最⼩化 SDK 置換と互換性コードの⾃動⽣成(AWS SDK → Azure SDK) 署名/権限の移⾏(IAM → Managed Identity/SAS)と認証機構の最新化 ⼤容量/バージョニング/ライフサイクル管理の構成移⾏と最適化 AWS S3 Azure Blob Storage Managed Identity 対応でセキュア・ローコスト・⾼可⽤性のストレージ基盤へ
Java 向け事前定義タスク︓セキュリティ Secrets 管理を Key Vault へ移⾏ ̶ 構成ファイル・環境変数からの安全な移⾏ アプリ認証を Managed Identity へ ̶ サービスプリンシパル・接続⽂字列の安全化 Spring Security/OAuth2 構成(Entra ID)̶ シングルサインオン・権限委譲 監査ログ/ポリシー適⽤ ̶ セキュリティ監視・コンプライアンス⾃動化 Azure Key Vault セキュリティ保護
Java 向け事前定義タスク︓通信・監視 メール送信︓SMTP → Azure Communication Services への⾃動移⾏ ログ/トレース︓OpenTelemetry フレームワークへの統合と構成⾃動化 App Insights による分散トレース/アラート設定の⾃動構成 ダッシュボード⾃動⽣成︓アプリ監視、パフォーマンス指標、例外追跡 マルチリージョン設定のサポートと地理的分散サービスの可観測性 OpenTelemetry Application Insights
DEMO – AWS → Infrastructure Provisioning & Deployment • • • • • "Provision infrastructure and deploy to Azure” タスクを実⾏ Architecture diagram の⾃動⽣成(Mermaid形式) Azure CLI tools を使⽤ Bicep files の⾃動作成 Containerization & Deployment
DEMO – AWS → Azure 移⾏タスクの実⾏ • • • • • Cloud readiness issues から Database migration を選択 "Migrate to public cloud" → "Run task" MCP tool を使⽤して AWS → Azure へ移⾏ PostgreSQL、S3、RabbitMQ → Azure PostgreSQL、Blob Storage、Service Bus 設定ファイルの⾃動⽣成
.NET 向け事前定義タスク︓データベース SQL Server → Azure SQL / Azure SQL Managed Instance への移⾏ 接続の Managed Identity 対応・シークレットレス化 EF Core の構成移⾏と最適化 ⼀時的エラー対応の接続リトライポリシー適⽤ パフォーマンス最適化(インデックス/キャッシュ設計) ゼロダウンタイム移⾏戦略の実装 Managed Identity SQL Server Azure SQL オンプレミス / ⾃⼰ホスト型 フルマネージド / スケーラブル
.NET 向け事前定義タスク︓メッセージング RabbitMQ/On-prem MQ → Azure Service Bus - メッセージング基盤の移⾏と互換性確保 メッセージフォーマット/リトライ/デッドレター - 既存パターンの保持と Azure ベストプラクティス適⽤ 並列性と順序保証の設計 - セッション機能とパーティション分割によるスケーラビリティ向上 テレメトリと可観測性 - Azure Monitor との統合でエンドツーエンドの監視を実現 RabbitMQ / On-prem MQ オンプレミス環境 マネージド運⽤ マネージドサービスへの移⾏ エンタープライズセキュリティ Azure Service Bus フルマネージド メッセージングサービス ⾃動スケール 統合監視
.NET 向け事前定義タスク︓ストレージ・認証 ファイル/Blob 移⾏(ローカル/NAS→Azure Blob)- SDK 置換、権限モデル適応 認証/認可: Entra ID、MSAL、Managed Identity への移⾏と統合 設定/シークレット管理の標準化 - Key Vault と構成プロバイダー連携 Audit/コンプライアンス対応 - ログ統合、セキュリティポリシー適⽤ ASP.NET Core Identity から Entra ID へのスムーズなマイグレーションパス ストレージの最適化 セキュリティ強化
.NET 向け事前定義タスク︓監視・キャッシュ OpenTelemetry/Logging(構成⾃動化)- 分散トレースとメトリクス収集 Azure Monitor / App Insights - 統合監視とエンドツーエンド可観測性 分散キャッシュ(Azure Cache for Redis)- スケーラブルなデータアクセス⾼速化 SLO/アラート/⾃動復旧 - インシデントの⾃動検出と対応 Azure Monitor ダッシュボード アプリケーション パフォーマンス 応答時間 エラー率 リソース使⽤率 Azure Cache for Redis
.NET 対応プロジェクトタイプ ASP.NET / ASP.NET Core(Web/API)- RESTful API、MVC、Blazor アプリケーション ワーカー/サービス/関数 - バックグラウンドサービス、Azure Functions、Worker Service WPF/WinForms - デスクトップアプリケーション(移⾏シナリオ提⽰) テスト/ツールプロジェクト - xUnit、MSTest、NUnit、ヘルパーツール 対応 IDE: Visual Studio 2022 +(Agent Mode 統合) Visual Studio .NET GitHub Copilot と .NET App Modernization で Visual Studio 内のエージェント駆動変換を実現
Azure との統合メリット 技術的メリット • Managed Identity / Key Vault で安全な ID 認証と機密情報管理を実現し、パスワードの排除と 定期的なローテーションを⾃動化 デプロイ選択肢 Azure Container Apps - サーバーレスコンテナ実⾏環境 Azure Kubernetes Service (AKS) • 観測・セキュリティ・SRE を⼀体化することで、開発 からデプロイ、運⽤までの全サイクルで⼀貫した体験 を提供 - フルマネージド K8s App Service - フルマネージド Web アプリプラットフォーム • ガバナンス / コスト最適化により、リソースの無駄を 排除し、スケーリング時のコスト予測と制御が可能に • アプリケーションの⾼可⽤性とディザスタリカバリを プラットフォームレベルで実現 AKS Automatic - ノーコード K8s ⾃動管理 • CI/CD (GitHub Actions)とシームレス連携 • IaC (Bicep/Terraform) の⾃動⽣成でリピータブル なデプロイ
DEMO – デプロイ済みアプリケーション • • • • 実際に Azure にデプロイされた Asset Manager アプリを表⽰ ファイルアップロード機能のデモ AI ⽣成画像をアップロード Gallery 表⽰とファイル削除機能
始め⽅︓Java 開発者向け 前提条件 VS Code, IntelliJ - 最新版の Visual Studio Code, IntelliJ GitHub Copilot ライセンス(Pro、Business、Enterprise) App Modernization 拡張(Java)のインストール ⼿順 1. リポジトリを開き、Agent Mode を起動 2. Assess → Plan → Upgrade → Migrate → Validate 3. Azure へデプロイ(ACA/AKS/App Service) サンプルリポジトリ for Java/.NET 「Asset Manager」 で練習すると効果的 リポジトリを開く Agent Mode 起動 Assess & Plan Upgrade & Migrate Azure へデプロイ
始め⽅︓.NET 開発者向け 前提 Visual Studio 2022+/GitHub Copilot(Agent Mode 対応) .NET App Modernization 拡張(Public Preview) ⼿順 1 ソリューション分析 → アップグレード計画の⾃動⽣成(.NET 6/7/8 等) ⾃動変換 → ビルド/テスト修復ループ(⾃⼰修復能⼒) 2 ソリューション分析 依存性とアップグレード計画 コード変換 API 更新・バグ修正 Azure 対応 → IaC ⽣成→継続的デプロイ(CI/CD 設定) 3 4 クラウド対応 Managed Identity・CI/CD デプロイ Azure・監視・アラート
• Ford China: 70%の⼯数削減 実績データ紹介 • Telecommunications company (China): Java version upgradeを迅速化 • Microsoft Discovery & Quantum team: 80%以上の⼯数削減 • GM: 1,300ファイルの変更を3時間で完了 • Toyota、Verizon、Shein、Capgemini も使⽤
まとめ 評価→変換→検証→デプロイを AI が伴⾛し、全⼯程を加速 Java は GA 提供、.NET は Public Preview で開発現場への導⼊が容易 再利⽤可能なカスタムタスクで組織知を資産化し内製化を促進 CVE/コンプライアンスを⾃動で継続担保し、セキュリティ強化 Azure 統合でマネージド ID や Key Vault を活⽤し、安全かつ運⽤容易 15–20分の導⼊で現場展開の⾜がかりに、変化に強い開発体制へ
おまけ︓ GitHub Copilot for Xcode︓MCP Registry Xcode 開発者向け︓IDE 内で MCP サーバーを管理 🎉 GitHub Universe 2025で発表 MCP Registry の主な機能︓ MCP サーバーの閲覧 IDE 内から直接インストール サーバー管理の⼀元化 Xcode を離れずに完結 提供状況︓ 閲覧 インストール + Public Preview パブリックプレビュー 対象開発者︓ 🍎 iOS / macOS / Swift 開発者 詳細情報︓ Public Preview devblogs.microsoft.com/xcode/mcp-registry-and-allowlist-controls-now-available-in-github-copilot-for-xcode-public-preview/ 管理
参考リソース 📹 デモビデオ GitHub Copilot App Modernization for Java - Asset Manager Demo (10分) https://www.youtube.com/watch?v=5abTrmldc0Q Java App Modernization Simplified with AI | BRK131 (1時間) https://www.youtube.com/watch?v=TBS2sv-e80o 🆕 最新デモビデオ(2025年11⽉6⽇配信) AI & Copilot: Modernizing Applications for the Cloud(1時間20分 - Ayan Gupta) https://www.youtube.com/watch?v=a9glyQs6cbE 📝 技術ブログ A step-by-step guide to modernizing Java projects with GitHub Copilot agent mode https://github.blog/ai-and-ml/github-copilot/a-step-by-step-guide-to-modernizing-java-projects-with-github-copilot-agent-mode/ 📊 プレゼンテーション Agentic DevOps: Evolving Software Development with GitHub Copilot (SlideShare) https://www.slideshare.net/slideshow/agentic-devops-evolving-software-development-with-github-copilot/283444563 📚 Microsoft Learn Java開発者向け https://learn.microsoft.com/en-us/azure/developer/java/migration/migrate-github-copilot-app-modernization-for-java .NET開発者向け https://learn.microsoft.com/en-us/dotnet/core/porting/github-copilot-app-modernization/overview
フロントエンド⽀部 #1 with あずもば 2025年12⽉11⽇ https://aid.connpass.com/event/(TBD)/
Microsoft |Git・GitHub NEW GitHub Copilot https://www.edifist.co.jp/course/MSCGH300 開催⽇程︓2025/10/24(⾦)、11/21(⾦)、12/19(⾦)、2026/1/23(⾦)、2/27(⾦)、3/27(⾦) 本コースは、GitHub Copilot の機能とその責任ある活⽤⽅法を学ぶためのトレーニングです。 Microsoft の最近の調査では、GitHub Copilot の活⽤により⼤幅な⽣産性の向上を経験することがわかりました。 ・ 新しいコードの 46% が AI によって記述されるようになった ・ 開発者の全体的な⽣産性が 55% 速くなった ・ 開発者の 74% が満⾜のいく作業に集中できるようになったと感じている どのような⼿段で⽣産性の向上が実現可能か、具体的なケースによる GitHub Copilot の活⽤⽅法を学びます。 対象者 ・ ソフトウェア開発者、DevOps エンジニア、管理者の⽅ ・ AI ツールを開発ワークフローに統合したい⽅ ・ 責任ある AI の使⽤と倫理的な配慮を学びたい⽅ ・ GitHub Copilot の機能を深く理解し、業務に活⽤したい⽅ 研修⽇数 1⽇ 時間 9:30〜17:30 受講料 7,7000 円(税込) 学習形態 オンライン 前提条件 MSCGIT01 : Git・GitHub 基礎と実践 (https://www.edifist.co.jp/course/MSCGIT01) 受講済、または、次の知識を保有する⽅ ・ 統合開発環境 (Visual Studio Code) と GitHub などのバージョン管理システムに関する知識 ・ AI と機械学習の原則に関する基礎知識 到達⽬標 ・ GitHub Copilot を責任ある⽅法で活⽤できる ・ 効果的なプロンプトを作成し、提案精度を向上できる ・ Visual Studio Code や CLI など様々な環境で Copilot を使いこなせる ・ Business や Enterprise プランの管理機能を理解できる コースコード MSCGH300
Thank you for your attention!