検索
ニュース

GitHubのアップデートから読み解くクラウドDevOpsの戦略と動向GitHubとの統合でAzureが優位に

プライベートネットワークのサポートは、AWSやGoogle Cloudでも計画されている。2024年4月上旬のGitHub ActionsアップデートでIT業界ウォッチャーが目にしたのはAzureのパワープレイだ。Azureの現況と、クラウドプロパイダーの動向を深堀りする。

Share
Tweet
LINE
Hatena

 GitHubの継続的インテグレーション/継続的デプロイメント(CI/CD)ワークフローサービスのホステッドバージョンは、Microsoft Azureのプライベートネットワークへの接続をサポートした。また、GPU上で実行できるようになった。これは、より大規模でセキュリティ意識の高い企業をターゲットとした一連のアップデートの一部だ。

 GitHubの「GitHub Actions」ランナーは、CI/CDワークフロー内のビルドからテストに至るまでの複数のジョブを実行する。これまでは、ユーザーが自身でホストするランナーなら、Azureのプライベートネットワーク内で実行するように構成できた。だが、GitHubがホストするランナーでは、共有ネットワークを使用しなければならなかった。今回のアップデートにより、ユーザー既存のネットワークセキュリティポリシーに基づいてAzureのストレージアカウントやデータベースにGitHubのアクションから自動的にアクセスできるようになるだけではなく、VPNゲートウェイやMicrosoftの「Azure ExpressRoute」接続を介してオンプレミスのリソースにも設定を個別に用意せず、自動的にアクセスできるようになる。

 Azure内でのプライベートネットワークのサポートは、2023年に米国内でパブリックβとして発表された。その後2024年4月上旬、ヨーロッパ、オーストラリア、東南アジア、インド南部を含む10カ所の追加リージョンで、GitHub Actionsの「Enterprise」アカウントと「Team」アカウントに対する一般提供が開始された。同社のブログ記事によると、今後はプライベートネットワークをサポートするAzureリージョンを増やし、Amazon Web Services(AWS)やGoogle Cloudのプライベートネットワークのサポートも計画しているという。Azureでのプライベートネットワークのサポートには追加コストがかからない。

 今回のアップデートでは、GPU上でのActionsランナーのパブリックβサポートも追加されている。GPUホステッドランナーは人工知能(AI)アプリケーションに関連付けられるのが一般的だ。また、「macOS」ランナー向けのAppleシリコンを対象としたサポートも追加された。今後、GPUチップの追加オプションや「Arm」チップオプションのサポートも予定されている。GitHub Actionsホステッドランナーは、これまで最低でも4vCPU(仮想CPU)構成だったが、新たに2vCPUのSKU(製品品目)が追加された。

 GitHubで開発者アドボカシー担当シニアマネジャーを務めるクリス・レディントン氏によると、今回のアップデートによって、多くのユーザーが厳格なネットワークセキュリティを確保しながら、セルフホステッドランナーを管理する負担を取り除けるようになるという。

 「古いコミックやインターネットミームでは、コードがコンパイルされるのを開発者が待っている場面が描かれている。開発者にとってはビルドやテストの結果を待つ時間は非常に貴重だ。当社は開発者が達成する必要があることに対して、必要になる可能性のあるさまざまなSKUを用意することで、そうした待機時間を最小限に抑えようとしている」(レディントン氏)

AzureでのGitHubの魅力を高めるプライベートネットワークサポート

 GitHub Actionsの既存ユーザーから見れば、今回のプライベートネットワークサポートによって、基盤となるAzureリソースにアクセスする際の複雑さが緩和される。例えばAWSでセルフホステッドランナーを運用するよりも、Azureで実行されるホステッドランナーを使う方が、メリットがはるかに大きい。

 米国のヘルスケアテクノロジー企業Veradigmでシニアプリンシパルソフトウェアエンジニアを務めるカイラー・ミドルトン氏は語る。「AWSはIDおよびアクセス管理(IAM)、つまり認証に大きく依存しているため、どこからでもアクセスできるOIDC(OpenID Connect)標準の認証の開発に力を入れている。一方Azureは、昔からよく理解されているIP制限などのアクセス制限に重点を置いている。そのため、リソースへのアクセスが複雑になる可能性がある。例えば、HashiCorpの『Terraform』ビルダーにMicrosoftの『Azure Key Vault』への書き込みアクセス権があるとしても、IPアクセス権がなければ、構成を更新することはできない」

 今回のアップデートは、DevOpsプラットフォームにおいてAzureに有利に働くとアナリストはみている。

 Enterprise Management Associatesでアナリストを務めるトルステン・フォルク氏は語る。「AWSやGoogle CloudとGitHub Actionsで同じことが可能だろうか。当然だが、GitHubとAzureとの統合はすぐに利用できる。手作業による構成を必要とせず、AzureのポリシーによってGtiHubのアクションのセキュリティを一元的に適用できるからだ」

 AWSとGoogle Cloudのプライベートネットワークサポート計画について同氏は続ける。「少なくとも最終的に全てのユーザーを平等に扱うには何らかを宣言しなければならない。だが、結局のところ、Microsoft傘下のGitHubとMicrosoftが所有するAzureの間で何かの統合を求めるときに頼るとしたらどこだろう。具体的に求めるのはセキュリティとコンプライアンスに関する統合なので、この疑問に対する答えは明白だと思う」

 競合するクラウドプロバイダーと密接に結び付くことで、Microsoftはそのプロバイダーのユーザーを横取りするチャンスが広がると語るのは、Forrester Researchのアナリスト、クリストファー・コンド氏だ。

変わるクラウドDevOpsの競争の風向き

 とはいえ、プライベートネットワークのサポートといった個別の機能が開発者プラットフォームの購入担当者の判断を左右する可能性は低いとコンド氏は補足する。

 「このような統合開発プラットフォームは経営陣や管理職が選択を主導することが多い。ホステッドランナーなどの特定の機能は重要だが、管理職の大きな決断ポイントとなるのは開発者体験と開発者1人当たりのコストだ」(コンド氏)

 Gartnerが公開したDevOpsプラットフォームの2023年度マジッククアドランド(※)によると、DevOpsプラットフォームにおいてMicrosoftに最も迫っているのはGitLabだという。同マジッククアドランドの「リーダー」カテゴリーでは、GitHubを傘下に持つMicrosoftが2位のGitLabをわずかな差で抑え、1位の座を確保している。

(※)Magic Quadrant for DevOps Platforms(Gartner)

 いずれも幅広く利用されているが、利用者層が異なる。GitHubはパブリックリポジトリを利用するオープンソースのユーザーを幅広い基盤とするのに対し、GitLabは商用サポートを利用する企業のDevSecOps開発の使用に特化している。GitHubの関係者によると、クラウドでのGitHub Actionsの利用は、アクションの時間数(分)の点では2022年から2023年にかけて169%増を記録しているという。同社の2023年のレポート「The state of open source and rise of AI」(オープンソースの現状とAIの台頭)では、GitHub全体では1億人以上の開発者が利用しているとされている。一方のGitLabは、2021年時点でアクティブなライセンスを有するユーザーが100万人以上、個人のユーザーは推定3000万人いるという。同社は健全な成長を遂げ、2023年に初めて黒字を計上している。

 GitHubは今回のアップデートでセキュリティを重視する企業顧客への訴求力を高め、GitLabの対応範囲に食い込み、Gartnerの評価でMicrosoftを押し上げている開発者ツールの統合を拡大するという。

 Gartnerのレポートには次のように記されている。「開発者の約75%がMicrosoftのクロスプラットフォームエディタ『Visual Studio Code』を利用し、同ツールを最も人気の高いIDE(統合開発環境)にしている。このように広く利用されていることが、GitHubワークフローと関連ツールの導入を容易にしている」

 Microsoftは「Azure DevOps」への統合の組み込みを増やすなど、GitHubとAzureの結び付きを強化し続けるとコンド氏は予測する。

 「もう1つ興味深いのがmacOSランナーのアップデートだ。これは、パフォーマンスの高いmacOSランナーの作成に投資してきたCircleCIなどのベンダーに打撃を与える可能性がある」(コンド氏)

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る