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

.NET 8 と GitHub、そして Azure による開発者エクスペリエンスの向上 ~ 最...

Akira Inoue
January 21, 2024

.NET 8 と GitHub、そして Azure による開発者エクスペリエンスの向上 ~ 最新開発プラットフォーム デモンストレーション ~

2024年1月20日開催
BuriKaigi 2024 : https://burikaigi.dev/

[セッション資料]
.NET 8 と GitHub、そして Azure による開発者エクスペリエンスの向上
~ 最新開発プラットフォーム デモンストレーション ~

Akira Inoue

January 21, 2024
Tweet

More Decks by Akira Inoue

Other Decks in Technology

Transcript

  1. .NET 8 と GitHub、そして Azure による 開発者エクスペリエンスの向上 ~ 最新開発プラットフォーム デモンストレーション

    ~ 日本マイクロソフト株式会社 App Innovation アーキテクト第一本部 本部長 (CSA Manager) 井上 章 (いのうえ あきら) akira-inoue-chack411 @chack411
  2. Microsoft Copilot ソフトウェア開発者 GitHub Copilot 市民開発者 Copilot in Power Platform

    ナレッジワーカー Copilot for Microsoft 365 業務部門 Copilot for Dynamics 365 セキュリティ運用 Copilot for Security 各業界向け DAX Copilot
  3. GitHub Copilot あなたの AI ペア プログラマー 記述中のコンテキスト (文脈) から 一致するコードを合成し提案

    • コメントをコードに変換 • 反復コードの自動入力 • テストの自動提案 • 代替案を表示 Get started: copilot.github.com
  4. Azure Developer CLI (AZD) CI/CD と監視が可能なアプリのクラウドでの実行 Developer のゴール $ azd

    up --template todo-nodejs-mongo $ azd pipeline config $ azd monitor Generally available Code-to-Cloud 開発を加速 • 基本テンプレート • クラウド ベストプラクティス • 開発者フレンドリー • オープンソース
  5. 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
  6. 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
  7. .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
  8. .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)
  9. 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
  10. 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+
  11. First Preview Available Today Engage with team on GitHub aka.ms/dotnet-aspire

    github.com/dotnet/aspire クラウドネイティブな分散アプリケーションを構築するための .NET ソフトウェア スタック 回復性 (Resiliency), 管理力 (Manageability), 可観測性 (Observability)
  12. Getting access to a new project code base 新規プロジェクトへの参加と開発作業開始までの道のり 会社管理

    PC の調達 チームのオンボーディ ング Wiki を探す ドキュメント リンク切れを解決 古くなった手順の 対処方法を探す ソース コードへの アクセスをリクエスト クラウドリソースへの アクセスをリクエスト OS のインストール 開発者ツールと SDK のインストー ルや設定 ローカル ネットワー ク設定と VPN を 構成 複数のプロジェクト リポジトリを複製 ローカルビルド環境 の構成 アプリケーションを リビルド&キャッ シュを構成 これらのタスクの多くは次に進む前に待機を必要とすることがある
  13. 開発チームの生産性に影響を与える課題 オンボーディングの複雑さ 新しい開発者のオンボーディングは問題が発生しやすく時間がかかる 正しく構成されていない場合、問題解決するまでに数週間かかることも “2021 年の開発者の最初の PR までの時間の中央 値は 30

    日でした” 競合する開発環境構成 プロジェクトが異なれば必要なツールと依存関係も異なる 異なる環境を構成し、それらを切り替えて使用することが難しいことも “クラウドベースの開発者ツールとサービスに関するワー クロードを標準化することで、開発者の生産性を最 大 30% 向上させることができます” リモートおよび分散チーム リモート/ハイブリッドのワークスタイルが一般的になる 開発者が安全で信頼性の高いハードウェアを入手することが困難に “開発者の 62% はリモートまたはハイブリッド環境で の作業を好み、75% 以上は週に 2 ~ 3 日しかオ フィスに出勤することを望んでいません”
  14. 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
  15. 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)
  16. 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
  17. 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 プラットフォーム エンジニアリングによる開発者の支援 プラットフォーム エンジニア 種別毎に環境設定を対応付けて テンプレートを構成 開発者 インナー/アウターループの継続
  18. 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 + プラットフォーム エンジニアリング を加速するサービスとツール群
  19. Create an enterprise-ready intelligent app in hours Code samples, tutorials,

    docs, and more: GENERAL AVAILABILITY https://aka.ms/azai Azure AI reference templates
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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