このページの本文へ

Microsoft Build 2022 Spotlight on Japan完全レポート 第6回

Power Platform、Azure、GitHubとAzure DevOps、さらに「開発者の成長とコミュニティ活動の価値」まで幅広いトーク

開発者どうしのつながりを生んだBuild 2022「Connection Zone」参加リポート

2022年06月16日 10時00分更新

文● 大塚昭彦/TECH.ASCII.jp

提供: 日本マイクロソフト

  • この記事をはてなブックマークに追加
  • 本文印刷

VM、PaaS、コンテナ――その最適な選び方を「わかりみ深く」伝授

 Microsoft Azureでは、IaaSの仮想マシン「Azure VM」をはじめ、PaaSの「Azure App Services」、FaaSの「Azure Functions」、さらにコンテナ実行基盤として「Azure Kubernetes Service」「Azure Container Instances」「Azure Container Apps」と多彩なコンピューティングサービスが用意されている。

 “よりどりみどり”である反面、ユーザーとしては自分がどれを使えばいいのか、迷ってしまうことも多い。そこで、アプリケーション開発に携わるMicrosoft MVPおよびコミュニティリーダーの4氏が「わかりみの深い」コンピューティングサービスの選定方法を伝えるテーブルトピックが行われた。

(左から)松田恭明氏、東雲研究所の不破崇行氏、サイオステクノロジーの武井宣行氏、サイトコアの山本誠樹氏

 ベースとなったのは、Microsoft Docsの掲載情報からまとめた「選定フロー」の図だ。このフローチャートで質問に答えていけば論理的に、最適なコンピューティングサービスを選ぶことができる。

 4氏はそれぞれ、自身が構築に携わった4つのアプリケーションを具体例として取り上げ、それぞれ最適なコンピューティングサービスをどのように選定したのかを説明していった。現実にはフローチャートを使っても迷う場面は出てくるが、そこで決め手となった理由を聞くのはたしかに「わかりみが深い」。

紹介された「Azureコンピューティングサービスの選定フロー」

具体的に4つのユースケース/アプリケーションを取り上げ、それぞれに適したコンピューティングサービスの選択ポイントを説明

 ちなみにこのフローチャートには、今回のBuildで正式提供開始(GA)となったサーバーレスコンテナプラットフォーム「Azure Container Apps」は含まれていなかった。その理由について、山本氏は「Container Appsがこんなに早くGAするとは、誰も思っていなくて……」と笑う。

 それではContainer Appsはこの図のどこに収まるのか。4氏の議論をまとめると、この図ではApp ServiceやAzure Functionsに近い位置づけとなるが、App Serviceよりは自由度が高く、サーバーレスのため完全に実行時間単位の課金で済む特徴もある。一方で、Functionsのように独自のフレームワークで開発する必要はなく、ほかのプラットフォームで開発したい開発者にも優しい。したがって、この図にまた新たな選択肢が追加されると考えるのが妥当のようだ。

 聴講者からは「次はデータベースサービスの選定フローもやってほしい」というコメントが寄せられた。「次回、時間があればぜひやりたいですね」(武井氏)と笑顔で答えて、テーブルトピックは終了した。

GitHubとAzure DevOps、それぞれの“推しポイント”トークで白熱!

 DevOps開発体制をテーマとしたテーブルトピック「GitHubやDevOpsの現場事情トーク」は、“GitHub推し”と“Azure DevOps推し”のMicrosoft MVP 4氏が、それぞれのツールの“推しポイント”、開発を強力に支援してくれる機能などを熱く、かつゆるく語り合った。

(左から)フリーランス/ZEN Architectsの大平かづみ氏、フリーランス/ZEN Architectsの横浜篤氏、HoloLabの中村薫氏、亀川和史氏

 “GitHub推し”の大平かづみ氏はまず、GitHubの好きなポイントとして「個人でパブリックリポジトリを使うならば、Freeプラン(無料版)でもほとんどの機能が使える」点を挙げた。GitHubには有料のTeamプラン(月額4ドル/ユーザー)、Enterpriseプラン(月額21ドル/ユーザー)もあるが、多くの基本機能はFreeプランでも使える仕組みであり、さらにはワークフロー自動化の「GitHub Actions」といった高度な機能すら使える。

 さらにブランチプロテクション(Protected Branches)、コード/シークレットスキャニング、ページ/Wikiのように、パブリックリポジトリであればFreeプランでも使える機能がある。これについては「パブリックリポジトリを使う人(コードを公開する人)がより多く恩恵を受けられるようになっている。そこがオープンソースを中心に考えて作っているGitHubとほかとの違いであり、特徴的な部分」(亀川氏)と説明する。

 オープンソースライブラリに脆弱性が発見された場合、依存するコードを自動検知してアラートを上げたり、アップデートのプルリクエストを自動生成したりする「Dependabot」も話題に上った。DevSecOpsを実現していくうえで便利に使える機能だろう。

 大平氏は、GitHubはかつての「コード管理ツール」から「(開発者の)コラボレーションのためのツール」へと進化していると語る。「GitHubの開発スピードがむちゃくちゃ上がった感じがある。今回のBuildでもいろいろな新機能が発表されていました」(大平氏)。

開発プラットフォームとして急速な機能強化が続くGitHub

 一方で、エンタープライズクラスの大規模チームによる開発では、Azure DevOpsのほうに一日の長があるという。“Azure DevOps推し”の亀川氏は、エンタープライズ向け機能の“推しポイント”を次のように語る。

 「プロジェクト(という単位)が中心にあって、その中でリポジトリが複数使えるのがすごい好きです。あとエンタープライズ向けに必要な監査機能とか、Azure ADと連携したグループコントロールであるとか、そうしたものがやっぱり便利です」(亀川氏)

 また、Azure DevOpsのサービス群に含まれるタスク管理ツール「Azure Boards」を、GitHubと併用している開発現場も多いという。「コード管理はGitHubだけどイシュー管理はAzure Boardsで、連携して使うというパターンはわりと聞きますね」(大平氏)。

大規模なチーム開発に便利な機能が揃うAzure DevOps

 GitHub、Azure DevOpsを併用しているという中村氏は、自社が開発を手がけるHoloLensアプリのアセットが大容量であり、GitHubの「1ファイルあたり最大100MB」というサイズ制限に引っかかることがあるという。一方で、Azure DevOpsは容量制限が大幅にゆるやかであり「そこは重宝しています」と語った。ちなみに、2つの環境を併用していても「意外と問題は起きていない」そうだ。

 それぞれの“推し”トークが熱を帯びすぎたあまり、最後は時間切れになってしまった同テーブルトピック。「このテーマについてフィードバックや、Twitterでコメントをいただけたら、またこのメンバーでお話しできたらと思います。どちらも良いツールだし、他のツールもいいぞ、ってことで!」(横浜氏)と締めくくった。

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード