Slide 1

Slide 1 text

.NET 8 と GitHub、そして Azure による 開発者エクスペリエンスの向上 ~ 最新開発プラットフォーム デモンストレーション ~ 日本マイクロソフト株式会社 App Innovation アーキテクト第一本部 本部長 (CSA Manager) 井上 章 (いのうえ あきら) akira-inoue-chack411 @chack411

Slide 2

Slide 2 text

Microsoft Developers

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Microsoft Copilot

Slide 8

Slide 8 text

Microsoft Copilot ソフトウェア開発者 GitHub Copilot 市民開発者 Copilot in Power Platform ナレッジワーカー Copilot for Microsoft 365 業務部門 Copilot for Dynamics 365 セキュリティ運用 Copilot for Security 各業界向け DAX Copilot

Slide 9

Slide 9 text

GitHub Copilot あなたの AI ペア プログラマー 記述中のコンテキスト (文脈) から 一致するコードを合成し提案 • コメントをコードに変換 • 反復コードの自動入力 • テストの自動提案 • 代替案を表示 Get started: copilot.github.com

Slide 10

Slide 10 text

Azure Developer CLI (AZD) CI/CD と監視が可能なアプリのクラウドでの実行 Developer のゴール $ azd up --template todo-nodejs-mongo $ azd pipeline config $ azd monitor Generally available Code-to-Cloud 開発を加速 • 基本テンプレート • クラウド ベストプラクティス • 開発者フレンドリー • オープンソース

Slide 11

Slide 11 text

AZD Template Gallery ベストプラクティスを元にした アプリケーション テンプレートを使って 開発プロジェクトを構成 宣言型 IaC を使用して再現性と再利用性を実現 コミュニティがサポートする AZD テンプレート ライブラリ Awesome AZD aka.ms/awesome-azd

Slide 12

Slide 12 text

Code faster, work smarter with the Visual Studio Family Visual Studio 2022 (17.8) Visual Studio Code A product family that’s earned trust of millions of devs あらゆる言語やプラットフォームで開発者をサポート Git / GitHub などの最新の開発プラクティスを採用 各種統合ツールとクラウド環境で構築 Download: visualstudio.com/downloads

Slide 13

Slide 13 text

.NET 8

Slide 14

Slide 14 text

Web Mobile Gaming IoT AI Desktop Cloud Tools Visual Studio Code CLI Visual Studio Operating system Linux Windows macOS + Ecosystem Components, tools, library vendors NuGet GitHub + .NET Build anything with a unified platform

Slide 15

Slide 15 text

Unified .NET は単一の統合開発プラットフォームで すべてのモダンなワークロードに対応する最高のソリューションを実現 .NET 8 Modern Simple Productive

Slide 16

Slide 16 text

.NET open source journey .NET 2001 ECMA 335 Common Language Infrastructure (CLI) 2002 .NET Framework 1.0 for Windows released Mono project begins 2008 ASP.NET MVC (web platform) open source April 2014 .NET Compiler Platform (“Roslyn”) open source .NET Foundation founded November 2014 .NET Core (cross-platform) project begins 2016 Mono project joins .NET Foundation .NET Core 1.0 released August 2017 .NET Core 2.0 released December 2018 .NET Core 2.2 released WinForms and WPF open sourced December 2019 .NET Core 3.1 LTS released 2005 F# language released with Apache 2.0 license November 2020 .NET 5 released Major releases every November going forward November 2021 .NET 6 LTS released November 2022 .NET 7 released November 2023 .NET 8 LTS released

Slide 17

Slide 17 text

.NET リリース スケジュール • 毎年 11 月にメジャー リリース予定 • 長期サポート (LTS) は 3 年、標準期間サポート (STS) は 18 ヶ月 • LTS は奇数年リリース • 予定リリース以外に必要であればマイナーリリースあり .NET Core 3.1 Dec 2019 .NET 5 Nov 2020 .NET 6 Nov 2021 .NET 7 Nov 2022 .NET 8 Nov 2023 [参考] .NET および .NET Core オフィシャル サポート ポリシー (microsoft.com) LTS STS Patches for 3 years Patches for 18 months (Long Term Support) (Standard Term Support)

Slide 18

Slide 18 text

ASP.NET Core Blazor ◼ .NET (Razor Pages & C#) でフロントエンド Web UI を開発 ◼ JavaScript, Angular, React, Vue などを知らなくても OK ◼ .NET の安定性と一貫性 ◼ すべてのモダン Web ブラウザーで動作 ◼ ブラウザ ネイティブ / .NET ネイティブなパフォーマンス, プラグインなどは不要 ◼ Client と Server 間での C# コードの共有、強く型付けされた開発 ◼ ホスティング モデル ◼ Blazor サーバー : サーバーサイドの .NET プロセスで実行、SignalR で通信 ◼ Blazor WebAssembly : Web ブラウザーの WebAssembly で実行 ◼ Static Server-side Rendering : 要素部分更新と Server / WebAssembly を組み合わせ可能 https://blazor.net Razor Components .NET WebAssembly [参考] ASP.NET Web Forms から Blazor への移行 | Microsoft Docs

Slide 19

Slide 19 text

WebAssembly Server Static Server-side Rendering (SSR) WebSocket (SignalR) HTTP HTML ?

Slide 20

Slide 20 text

MyWebApp Home Profile Chat Admin UserList Content MyWebApp Home Profile Chat Admin UserList Content Server / WebAssembly Static SSR WebAssembly Server Global interactivity Per page/component interactivity .NET 3-8+ .NET 8+

Slide 21

Slide 21 text

First Preview Available Today Engage with team on GitHub aka.ms/dotnet-aspire github.com/dotnet/aspire クラウドネイティブな分散アプリケーションを構築するための .NET ソフトウェア スタック 回復性 (Resiliency), 管理力 (Manageability), 可観測性 (Observability)

Slide 22

Slide 22 text

eShop Architecture Sample github.com/dotnet/eshop

Slide 23

Slide 23 text

プラットフォーム エンジニアリング

Slide 24

Slide 24 text

生成 AI ソリューションの構築 Developer tools Visual Studio Power Platform Azure App platform Data platform AI platform Infrastructure

Slide 25

Slide 25 text

ソフトウェア開発の変化 >1000 クラウドネイティブ エコシステムのさまざまなサービス 36% 一般的な開発者が会議、電子メールへの応答、 その他のコラボレーション活動に費やす時間の割合 245,000 悪意のあるパッケージの発見数が過去合計の 2 倍 リスクの増加 より複雑に さらなるコラボレーション Sources: CNCF; Microsoft Research; Sonatype

Slide 26

Slide 26 text

Getting access to a new project code base 新規プロジェクトへの参加と開発作業開始までの道のり 会社管理 PC の調達 チームのオンボーディ ング Wiki を探す ドキュメント リンク切れを解決 古くなった手順の 対処方法を探す ソース コードへの アクセスをリクエスト クラウドリソースへの アクセスをリクエスト OS のインストール 開発者ツールと SDK のインストー ルや設定 ローカル ネットワー ク設定と VPN を 構成 複数のプロジェクト リポジトリを複製 ローカルビルド環境 の構成 アプリケーションを リビルド&キャッ シュを構成 これらのタスクの多くは次に進む前に待機を必要とすることがある

Slide 27

Slide 27 text

開発チームの生産性に影響を与える課題 オンボーディングの複雑さ 新しい開発者のオンボーディングは問題が発生しやすく時間がかかる 正しく構成されていない場合、問題解決するまでに数週間かかることも “2021 年の開発者の最初の PR までの時間の中央 値は 30 日でした” 競合する開発環境構成 プロジェクトが異なれば必要なツールと依存関係も異なる 異なる環境を構成し、それらを切り替えて使用することが難しいことも “クラウドベースの開発者ツールとサービスに関するワー クロードを標準化することで、開発者の生産性を最 大 30% 向上させることができます” リモートおよび分散チーム リモート/ハイブリッドのワークスタイルが一般的になる 開発者が安全で信頼性の高いハードウェアを入手することが困難に “開発者の 62% はリモートまたはハイブリッド環境で の作業を好み、75% 以上は週に 2 ~ 3 日しかオ フィスに出勤することを望んでいません”

Slide 28

Slide 28 text

プラットフォーム エンジニアリング ガイダンス on Microsoft Learn aka.ms/plat-eng-learn User group: aka.ms/plat-eng-signup

Slide 29

Slide 29 text

Start right templates and shift-left notifications Stay right guidance, governance and policy enforcement Dev tools & coding environments Infrastructure as code Engineering systems & platform orchestration Infrastructure Security and governance Observability and insights Gartner Hype Cycle Shows AI Practices and Platform Engineering Will Reach Mainstream Adoption in Software Engineering in Two to Five Years

Slide 30

Slide 30 text

Outer Loop Inner Loop と Outer Loop Inner Loop PR Loop Analyze Review PR Build Test Deploy Validate CI Build Test Build Test Debug Code Staging / Production Quality / Security Operate / Monitor Feedback Loop Pull Request Merge Close (Reject)

Slide 31

Slide 31 text

Microsoft Dev Box aka.ms/devbox-ignite23-blog NEW プロジェクトやタスク用に事前構成されたセルフサービスのワークステーション 組織標準を遵守しながら、開発者が現在のプロジェクト向けに ワークステーションをカスタマイズ可能 さまざまな場所で実行されているワークステーションのガバナンスを 一元化して、セキュリティ、コンプライアンス、コスト効率を向上 • Docker Desktop が事前構成された Dev Box イメージ • Quick-create テンプレートを使った Dev Box 環境のセットアップ • Config-as-code による Dev Box のカスタマイズ • Microsoft ホストの仮想プライベートネットワーク

Slide 32

Slide 32 text

Minimize configuration effort アプリインフラストラクチャを定義し、開発ツールとコードリポジトリから直接 デプロイするセルフサービスのテンプレートを提供 Secure with confidence 一元化された権限とポリシーガバナンス、アクセス制御、およびクラウド リソース構成の完全な管理により、セキュリティを最大化 Standardize through templates プロジェクト全体で一貫性とベストプラクティスを確立する再利用可能な テンプレートを使用して、コラボレーションと共有を促進 Azure Deployment Environments aka.ms/ade-ignite23-blog Scheduled auto-deletion Azure Advisor Recommendations Bicep IaC Support GENERAL AVAILABILITY PRIVATE PREVIEW

Slide 33

Slide 33 text

Sandbox, demo, perf, other environments Portal/CLI 開発 / テスト用 Azure サブスクリプション Permissions Identity Secrets Subscription 環境タイプのマッピング 環境カタログ Project + IaC templates, Scripts, APIs, Samples Dev inner loop Dev Env Test Env Prod Env Dev Sub Test Sub Prod Sub Git push 自動デプロイ パイプライン Azure Deployment Environments プラットフォーム エンジニアリングによる開発者の支援 プラットフォーム エンジニア 種別毎に環境設定を対応付けて テンプレートを構成 開発者 インナー/アウターループの継続

Slide 34

Slide 34 text

OUR VISION あらゆるデバイスから貢献し あらゆるプラットフォーム向けに構成し 誰とでも容易にコラボレーションし 無制限に拡張できる 完全なエンジニアリング システムを 数秒でセットアップできるようにする

Slide 35

Slide 35 text

Plan Develop Operate Deliver GitHub Insights Azure Monitor Microsoft Defender for Cloud Azure Sentinel Azure AD GitHub Actions Azure Pipelines Azure RM Templates & Bicep Azure Deployment Environments GitHub Packages Azure Artifacts Microsoft Defender for DevOps GitHub Copilot Visual Studio / VS Code GitHub Codespaces Microsoft Dev Box Visual Studio Live Share GitHub Repos Dependabot Code Scanning Secret Scanning GitHub Issues GitHub Projects GitHub Discussions Azure Boards + プラットフォーム エンジニアリング を加速するサービスとツール群

Slide 36

Slide 36 text

Microsoft Developers

Slide 37

Slide 37 text

Microsoft

Slide 38

Slide 38 text

Appendix

Slide 39

Slide 39 text

Create an enterprise-ready intelligent app in hours Code samples, tutorials, docs, and more: GENERAL AVAILABILITY https://aka.ms/azai Azure AI reference templates

Slide 40

Slide 40 text

Microsoft Playwright Testing Get test suite results faster with higher parallelization Test across multiple operating systems and browser combinations Simplify comprehensive E2E testing PUBLIC PREVIEW aka.ms/MPT/about

Slide 41

Slide 41 text

Visual Studio GitHub Copilot with integrated and inline Chat Modern development for .NET 8 Windows integration with WSL2 and DevDrive New Pull Request review experience 17.8 GENERAL AVAILABILITY Download: visualstudio.com/downloads

Slide 42

Slide 42 text

GENERAL AVAILABILITY .NET 8 Best-in-class for cloud-native, intelligent apps​ Enhanced productivity to build web and multi- platform applications with .NET MAUI​ Over 1250 performance enhancements!​ 6.1+ Million Monthly active users​ 53,000 Community contributors​ #1 Most Admired Developer Framework​ aka.ms/dotnet8blog

Slide 43

Slide 43 text

Download: aka.ms/csdevkit C# Dev Kit Official Microsoft extension providing rich C# language support and productivity features into VS Code Now with .NET 8 GENERAL AVAILABILITY

Slide 44

Slide 44 text

Learn more aka.ms/CodeOptimizations Application Insights Code Optimizations Proactively improves performance of .NET applications running in the cloud Delivers actionable recommendations and connects operations teams with developers Codifies our learnings into an AI-based model PREVIEW

Slide 45

Slide 45 text

GitHub Advanced Security for Azure DevOps 組織プロジェクトに最も強力なサプライチェーン保護を導入 ファーストパーティコードで公開されている認証情報、 脆弱な依存関係、セキュリティの問題をスキャン 簡単な切り替えで有効化 GENERAL AVAILABILITY

Slide 46

Slide 46 text

Announcing Generally available Copilot Chat New Pull requests New Copilot in GitHub Mobile New Copilot Enterprise

Slide 47

Slide 47 text

© Copyright Microsoft Corporation. All rights reserved.