App Dev、DevOps、Comminityのトラックで見つけた注目セッション
Microsoft Developer Dayで見えたVisual Studio、.NET、GitHubのある開発風景
2月3日にオンラインで開催された「Microsoft Developer Day」。キーノートに引き続いては、App Dev、DevOps、Communityという3つのトラックで見つけたオススメのセッションを紹介する。Visual Studio 2022や.NET 6、GitHubなどのツールを一体で使える包括的な開発プラットフォームの魅力が存分に伝わった。
最新Visual Studioの魅力や.NETへの移行方法を詳説
App Dev Trackでは、Visual Studioや.NET 6、Azureなどを中心としたアプリケーション開発やエコシステムにフォーカスしたトラックになる。開発生産性にこだわるマイクロソフトが磨き上げてきたツールの魅力が伝わるセッションが多かった。
キーノート直後のスティーブ・キャロル氏による「“What’s new in Visual Studio 2022 and C# 10」では、既存のスキルやツールを最大活用できる.NETのメリットや開発動向、.NET開発に最適な統合型開発環境としてVisual Studio 2022について紹介。また、既存の.NET Frameworkのコードをモダンな.NETにアップグレードする「.NET Upgrade Assistant」も紹介された。
最新の.NETはマイクロソフト自身の開発にもコストや生産性、高速性などの点で大きなメリットをもたらしている。たとえば、Dynamics 365やAzure App Serviceのゲートウェイサービスに用いられているYARP(Yet Another Reverse Proxy)というプロキシはクラウドスケールの性能を持っており、最新の.NET6にも対応しているという。
後半はC#10のメリットやVisual Studio 2022の生産性の向上を理解してもらうためのデモを披露し、あくまでプログラマーの立場から注目すべき機能を楽しく紹介。「シンプルな開発」を志向したマイクロソフトの進化の方向性が垣間見える内容だった。
16時からは日本マイクロソフト Digital Sales 事業本部 Digital Cloud Solution Architectの上坂貴志氏による「時は来たれり。今こそ .NET 6 へ移行する時。」では、4.8を最後に新機能追加を終了している.NET Frameworkから.NET 6へのアップグレードについて詳細が解説された。
セッションは「移行のタスクの順番と内容」「移行を手段で行なう場合の方法」「移行ツールの使い方」という3つの順番で進行。packages.configからPackageReferenceへの変更、プロジェクトファイルのSDKスタイルの変更といった移行事前準備と実際の移行作業を詳細に解説した。
最後は、キャロル氏の紹介した.NET Upgrade Assistantについて紹介した。.NET Upgrade Assistantの対象は、Windows FormsやWPF、ASP.NET MVC、コンソールアプリ、クラスライブラリなど幅広いフレームワーク。Upgradeコマンドによって、多くの処理が自動化できるが、NuGetパッケージの更新だけはツール頼みが危険だとアドバイスする。
フレームワークごとの移行手段やメジャーバージョンアップで起こる破壊的な変更への対応も詳細に解説され、.NET 6への移行を検討するユーザーは必見だと感じられた。
GitHubとAzure DevOpsで実現するマイクロソフトのDevOpsの真価
開発から運用までをカバーするためのDevOpsトラックでは、GitHubファミリーからAzure DevOpsまで、アジャイル開発を効率化するためのサービス、ツールが紹介された。
15時15分から登壇したGitHub Japan Field Services Field Solutions Engineerのダニエル・チョ氏は、「GitHub Advanced Securityで実践できるDevSecOps対策」と題して、コード、サプライチェーン、開発ライフサイクルに至るまでの包括するGitHubのセキュリティ機能について説明した。
まず自ら書いたコードのセキュリティに関しては、脆弱性を調べる「コードスキャニング」や、データベースへの脆弱性検知クエリ「CodeQL」が用意されている。また、アプリケーション内に記述されたトークン情報を漏えいに対しては、Git履歴内に潜んでいるAPIトークンやシークレットを自動的に検知できる「シークレットスキャニング」が用意されているという。
脆弱な依存関係を更新することが苦痛と感じている開発者はある調査では52%にのぼっているという。これに対してはGitHubではコードの依存関係に潜んでいる脆弱性を通知する「Dependabot」を提供。業界標準で180日かかるというセキュリティ更新が有効なリポジトリの平均修復時間がDependabotでは40日まで短縮されるという。ソースコード管理のイメージの強いGitHubだが、セキュリティツールも充実している点に驚かされた。
16時に登壇した日本マイクロソフト クラウド&ソリューション事業本部 Azure App Innovation Specialistの大森彩子氏は、「Azure DevOps&GitHubを使ったアプリ開発」と題し、マイクロソフトのAzure DevOps、GitHubなどを用いたDevOpsの始め方をデモでガイドしてくれた。
DevOpsとは「エンドユーザーに価値を継続的に提供できる人とプロセスおよび製品の連携」と定義されている。作業やタスクの管理、進捗の管理、ソースコードやバージョン管理のほか、継続的な自動デプロイ、オペレーションの効率化などが必要になる。
これに対して大森氏は4種類のDevOpsを提案。最初の「ソースコードからデプロイ 自動化をとにかくやってみる」では、Azure DevOps Starterを使ったGitHubレポジトリの作成からCI/CD環境の構築までをデモで披露。また、ソースコードの共有と共同編集では、Visual Studioを使ったGitHubリポジトリの更新作業やClone、Commit、Push、PullRequestの実践を提唱した。
3番目は「Visual Studio 2022からDevOpsを使いこなす」をテーマに、Visual Studio 2022からのGitHubリポジトリ、Azureリソース、CI/CD環境の作成を披露。そして、最後は「タスク、進捗管理を始めてみる」というシンプルなお題で、Azure Boardsを用いたタスクや進捗管理、さらにはGitHubの連携などを紹介した。まずは「ここから始めればOK」という敷居の低さが魅力的に思えた。
GitHub Codespacesで実現する「もっと集中できる開発環境」とは?
そして、Community Trackでは、ZEN Architectsの大平かづみ氏による「チーム開発がこんなにも開発に! コーディングもデバッグもGitHub上で。GitHub Codespacesでかなえられるシームレスな開発」が面白かった。
大平氏が実現したいのは「もっと集中できる開発環境」。しかし、git cloneやgit pull、git pushなどの処理、デバッグ実行などが遅くて、開発者はなにかと待たされる。さらに新メンバーの追加やレビューを行なうとなると、その環境作りだけで時間をとられてしまう。こうした課題を解決してくれるのが、ブラウザ上に簡単に開発環境を構築できるGitHub Codespacesだ。
GitHub CodespacesはVisual Studio Codeで搭載されているRemote Containersの仕組みをベースにした機能。最大の特徴はコンテナをGitHubがホストしてくれること。ブラウザから数クリックで起動でき、開発に適したスペックを選ぶことができる。ポートフォワーディングによって、localhostとしてアクセスできるので、リモートであることを意識せずに実行環境を利用できるという。
大平氏は、GitHub Codespacesのメリットとして「手元のマシンスペックに影響されない」「環境設定が容易。ドキュメントも不要」「急なバグ解析やレビューが可能になる」「久々に更新したいときに便利」「外出先の別のマシンでも同じ環境にアクセスできる」などを挙げる。その後、開発中のプロジェクトに参入するというシナリオで、GitHub Codespacesのデモを披露した。
以上、Microsoft Developer Dayで気になった5セッションを見てきた。Visual Studioや.NET、GitHubによって、開発や運用の現場がどのように変わるのか。参加者の多くは実感できたのではないだろうか?
今回はMicrosoft Developer Dayにオンラインでフル参加してみたが、セッション枠の横のウィンドウでは濃厚な質疑応答も交わされており、開発者の関心の高さがうかがえた。なお、Microsoft Developer Dayで紹介したセッションはアーカイブ動画として用意されている。今回レポートした以外も有益なセッションがいろいろ用意されていたので、ぜひ興味ある人は視聴してもらいたい。
(提供:日本マイクロソフト)
週刊アスキーの最新情報を購読しよう