とことんDevOps | 日本仮想化技術が提供するDevOps技術情報メディア

DevOpsに関連する技術情報を幅広く提供していきます。

日本仮想化技術がお届けするとことんDevOpsでは、DevOpsに関する技術情報や、日々のDevOps業務の中での検証結果など、DevOpsのお役立ち情報をお届けします。
主なテーマ: DevOps、CI/CD、アジャイル開発、コンテナ開発など

開催予定の勉強会

各種SNSのフォローもよろしくお願いいたします。

GitHub Codespaces(beta)の招待メールが来たので触ってみてリモート開発環境について改めてざっくり考えてみた

GitHub Codespacesを使ってみようと思ったら、まだベータ版らしく順番待ちが必要だったので登録だけ済ませて待っていたら先日招待メールが届いたので早速触ってみました。

招待メール

GitHub Codespacesとは

クラウドでホストされている開発環境です。Configuration-as-Codeにも対応しているようで、構成ファイルをリポジトリにコミットすることで、コードスペース用にプロジェクトをカスタマイズすることができ、プロジェクトメンバーに同じ環境で配布することもできそうです。 ホストできる環境は2コアマシンから32コアまで構成可能で、ブラウザかDesktop版のVS Codeから使用することができます。

Codespacesの概要

画像はGitHub Codespaces overview - GitHub Docsより引用

ちょっとだけ歴史を調べてみた

あれこれ似た名前があったので、この機会でもないと調べることはないだろうと思い検索してみました。 インターネットを介してコラボレーション機能的なところは昔からやりたかったようですね。 大型買収などを経て、今後はGitHub Codespacesに落ち着きそうな感じでしょうか。

年月 内容
2012/03 Team Foundation Serverのクラウド版としてTeam Foundation Serviceを発表。Visual Studioと組み合わせコラボレーション機能のような仕組みを実現したとのこと
2012/11 Team Foundation ServiceをVisual Studio Onlineに名称変更
2015/11 Visual Studio OnlineをVisual Studio Team Serviceに名称変更。Visual Studioのオンライン版と誤解を与えてしまうことが理由とのこと
2015/11 Visual Studio CodeのOSS化を発表。初期はJavaScriptやTypeScriptのWeb開発者をメインダーゲットに開始
2018/06 MicrosoftがGitHubの買収を発表し、2018/10に買収完了を発表
2019/07 Visual Studio Onlineの復活を発表。Visual StudioとVisual Studio CodeのWebベースのコンパニオン的な位置付け
2020/04 Visual Studio OnlineをVisual Studio Codespacesに名称変更
2020/05 GitHub Codespacesを発表
2020/09 Visual Studio CodespacesをGitHub Codespacesに統合を発表
2021/08 GitHub Codespacesを法人向けに提供開始

料金について

個人向けの価格は未定のようですが法人向けの料金体系のようになるのではないかと思っています。 同じくらいの価格なのか、リーズナブルになるのか気になるとことですね。 限定ベータ期間中は無料で使用できるようなので、使ってみたい方は今のうちに申し込まれるとよさそうですね。

法人向けのGitHub Codespacesの料金体系
画像はhttps://github.com/features/codespacesより引用

使ってみる

特に補足的に書くことなく、公式ドキュメントの通りに進めていくと簡単に立ち上げることができました。

docs.github.com

構成ファイルについて

Dev Containerの仕組みを使っているらしく、devcontainer.jsonファイルを作成することになるみたいです。 なので、Desktop版のVS CodeでDev Containerを使用している人は同じ設定ファイルを使ってリモートな環境で開発することができそうですね。

docs.github.com

所感

似ているものがいくつかあったので使い分けを個人的に改めて整理してみましたが、GitHub CodespacesかVCode Desktop + 拡張機能の組み合わせを中心開発環境としては構築していくことになりそうに思いました。

予算面などでクリアできるのであれば、GitHub Codespacesの方が圧倒的に手軽なように思います。

最後に思い出したので無理やり付け加えると、GitHub Codespacesでよさそうな機能はnode.jsやPython、javaなど主要な言語やDockerやGitなどが最初からセットアップされている点も環境セットアップの省力化に繋がりそうなのでよさそうでした。

  • github.dev
    • 実行環境はない
    • GitHubで静的なコードレビューをする際に便利
    • ブラウザが対応していれば基本的にどのデバイスでも使用できる(iPadなど)
  • vscode.dev
    • GitHubを中心に使用している人であれば、github.devを使用するのが無難
    • github.devと同じく実行環境はない
    • GitHubとのコラボレーション機能を除くとほぼ同じ
    • ブラウザが対応していれば基本的にどのデバイスでも使用できる(iPadなど)
  • GitHub Codespaces
    • Desktop版とブラウザ版が対応している
    • ブラウザが対応していれば基本的にどのデバイスでも使用できる(iPadなど)
    • 実行環境が欲しいけど、インフラの管理までしたくない人向け。
  • VS Code Desktop
    • クラウドやオンプレなど自前で実行環境が用意できる場合、拡張機能と組み合わせて最初の3つと同様のことは実現できる
  • Coder / code-server
    • self-hosted型のサービス
    • 実行環境があるブラウザ版を自前の環境を使って構築したいという用途がないかぎり使う機会はないかも
    • 付加価値的な要素で魅力的な機能が出てくれば改めて検討してみたい