【個人開発】AWS Cloud9からGoogle Cloud Shellへの移行:開発者向け代替選択肢

当ブログでは、実際に動くサービスを自分で作成してみたい。という方に向けて、自作のアプリケーションの作成からデプロイ(本番リリース)をご案内するつもりでした。

禄太
そして今でもそのつもりでいます!

しかし、そこで困っているのが開発環境です。

この記事を見ていただいている方は、それぞれ環境が異なります。

OSひとつとっても、Windowsの方もいれば、Macの人もいるはず。

そのため、ローカルで開発環境を整備する。というところが、環境によって異なるため、どうしても一つの手順でまとめることが難しいのです。。。

【Python】pyenvでHomebrewとAnacondaの開発環境競合を回避する

2022年10月3日

【Python】Vscode+ターミナルで開発をする基本ステップ

2022年10月5日

以前こう言った記事を投稿したのですが、私の環境と差異があると通用しなくなってしまうのは、イケていないなと。。。

そこで考えついたのが、クラウドベースのIDEを利用することでした。

今回は、クラウドサービスで展開されているWebIDEをご紹介しながら、簡単な環境構築についてご紹介したいと思います。

目次

クラウドIDEのメリット

クラウドIDEには以下のようなメリットがあります。

  • ブラウザだけでコーディングが可能(ローカルIDEのインストール不要)
  • リアルタイムでの共同作業が可能
  • クラウドリソースへの直接アクセス
  • 複数の独立した開発環境を維持できる
  • セットアップが簡単で、どこからでもアクセス可能

特に今回は、ブラウザだけで動作するところ(ローカルでの環境整備が不要)というところに魅力を感じています。

人それぞれ、OSなどは異なっても、ブラウザをひらけば開発環境が構築できるため、個人の制約を回避することができます。

AWS Cloud9とは

AWS Cloud9は、コードの記述・実行・デバッグができるクラウドベースのIDE環境です。

主な特徴は、

  • 高機能なコードエディタ(コード補完・ヒント機能付き)
  • 40以上のプログラミング言語をサポート
  • PHP、Python、JS/Node.js、C/C++向けの統合デバッガ
  • リアルタイム共同編集とチャット機能
  • サーバーレスアプリケーション開発のための統合ツール
  • AWSサービスとの深い統合

AWSのサービスということだけあって、これ以外のサービスとも親和性があり開発からデプロイ(本番リリース)までスムーズに行うことができる点が魅力です。

またAWSは流行りなので、使いながらサービスの概要をハンズオンで覚えることができるのもポイントでした。

AWS Cloud9サービス終了を本記事執筆中に知った。。。

さて、まず一番最初に思いついたサービスは、AWSのCloud9だったのですが、なんとサービス終了が発表されています。

多くの開発者が代替のクラウドIDEを探しており、私も一周遅れて探さねばならない立場になりました。。。

禄太
(が〜〜〜〜〜ん!!!)

AWS(Amazon Web Services)は2024年7月25日をもって、AWS Cloud9への新規ユーザーのアクセスを終了しました。
既存ユーザーは引き続きサービスを利用できますが、新機能の開発予定はありません。

必死に探して、「Google Cloud Shell」に行き着く。

ここで思いついたのが、Google Cloud Platform(GCP)です。

その名の通り、Googleが提供しているのですが、同じようにクラウドサービスを提供しているのであれば、似たようなものもあるのでは?!

と、(半ば安易に)考え【Google Cloud Shell】というサービスに行きつきました。

Google Cloud Shellは、Google Cloud Platform(GCP)が提供するブラウザベースの開発環境で、主に以下の機能を備えています。

  • ブラウザからアクセス可能なLinuxターミナル
  • Google Cloud CLI(gcloud)などの主要ツールがプリインストール済み
  • Eclipse Theiaベースのコードエディタ
  • 永続的な5GBのホームディレクトリ
  • GCPサービスへの自動認証機能
  • 週ごとの使用量クォータ内であれば無料

【Visual Studio Code】を利用したことがある方は、そっちの方がイメージがつきやすいでしょう。

テキストエディタに、簡易的なターミナル機能がついて、WEB上で開発可能であるツールのようです。

また今回は、お試し企画ということもあるので、サービスの利用料が低く押されられそうな点も魅力です。

両サービスの主な違い

IDE機能

【AWS Cloud9】: より高機能なコード編集環境で、UI カスタマイズも充実

【Google Cloud Shell】: 基本的な機能は備えているが、カスタマイズ性は限定的

言語サポート

【AWS Cloud9】: 40以上の言語を公式サポート

【Google Cloud Shell】: Python、Node.js、Java、Go、Ruby、PHP、.NET Coreなどの主要言語をサポート

デバッグ機能

【AWS Cloud9】: PHP、Python、JS/Node.js、C/C++の統合デバッガを提供

【Google Cloud Shell】: Go、Python、Java、Node.jsのデバッグに対応

共同作業(コラボレーション機能)

【AWS Cloud9】: リアルタイム共同編集・チャット機能が充実

【Google Cloud Shell】: コラボレーション機能は限定的

価格

【AWS Cloud9】: 基盤となるEC2インスタンスの使用料が発生
【Google Cloud Shell】: 週50時間の使用量クォータ内であれば無料

Google Cloud Shellの制約と課題

1. 使用量制限 : 週50時間という使用量クォータがあり、フルタイム開発には制限となる場合も

2. ストレージ制限 : 永続ストレージは5GBまでで、大規模プロジェクトには不足する可能性がある

3. 非対話型使用の制限 : 40分後に自動終了するため、長時間実行タスクには不向き

4. ネットワーク遅延 : インターネット接続品質に依存する

GCPで利用可能な他の選択肢

Google Cloud Workstations

より構成可能性が高く、複数のIDE(JetBrains、VS Code)をサポート
5GB以上の永続ストレージオプションを提供
セキュリティ機能が強化されているが、有料サービス

Google Cloud Code

VS CodeやJetBrains IDE用のプラグイン

ローカルIDEでGCP機能を利用可能

複数のプログラミング言語をサポート

結論と推奨事項

Google Cloud Shellは以下のユーザーにとって適切な代替となります。

  • GCPリソース管理が主な作業の開発者
  • 基本的なコード編集とターミナル操作が中心のユーザー
  • 無料のクラウド開発環境を求めている方

一方、以下の場合は他の選択肢も検討すべきかと思いました。

  • 高度なIDE機能に依存している開発者
  • リアルタイムコラボレーション機能が必須のチーム
  • PHP、C/C++のデバッグサポートが必要な場合
  • 週50時間以上の使用が必要なフルタイム開発者
  • 5GB以上のストレージが必要な大規模プロジェクト

やっぱり、簡単に移行はできないかもしれませんが、まずはお試しで頑張ってみたいと思います。

もしこれで要件を満たさない場合は、別の選択肢を考えていきますので、お付き合いください。。。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA