AWS Cloud9
ブラウザだけでコードの記述・実行・デバッグができるクラウド IDE サービス
何ができるか
AWS Cloud9 は、ブラウザベースの統合開発環境 (IDE) をクラウド上で提供するサービスです。ローカルマシンにソフトウェアをインストールすることなく、ブラウザを開くだけでコードの記述、実行、デバッグが行えます。EC2 インスタンス上に開発環境が構築され、AWS CLI や SAM CLI、各種プログラミング言語のランタイムがプリインストールされています。ペアプログラミング機能により、複数の開発者がリアルタイムで同じコードを編集することも可能です。
どのような場面で使うか
Lambda 関数のローカルテストとデプロイ、チーム開発でのペアプログラミングやコードレビュー、プログラミング教育やハンズオンワークショップの環境構築、AWS リソースの操作スクリプトの開発・実行、新しいプログラミング言語やフレームワークの学習環境としての利用など、クラウドベースの開発作業全般で活用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
共有ワークスペースに例えるとわかりやすいでしょう。自宅に作業部屋 (ローカル開発環境) を用意するには、机や工具 (ソフトウェア) を揃える必要があります。共有ワークスペース (Cloud9) なら、手ぶらで行っても必要な設備がすべて揃っており、仲間と同じ机で一緒に作業することもできます。
Cloud9 とは
AWS Cloud9 は、クラウド上で動作するブラウザベースの IDE です。2017 年に AWS が Cloud9 IDE を買収し、AWS サービスとして統合しました。開発環境は EC2 インスタンス上に構築され、コードエディタ、ターミナル、デバッガーがブラウザ内で動作します。インターネット接続さえあれば、どのデバイスからでも同じ開発環境にアクセスでき、環境構築の手間を大幅に削減できます。
AWS サービスとの統合
Cloud9 は AWS サービスとの統合が充実しています。AWS CLI、SAM CLI、CDK がプリインストールされており、Lambda 関数のローカルテストやデプロイをIDE 内から直接実行できます。IAM の一時認証情報が自動的に設定されるため、AWS リソースへのアクセスに追加の認証設定が不要です。また、CodeCommit や GitHub との連携により、バージョン管理もシームレスに行えます。
コラボレーションとコスト管理
Cloud9 のペアプログラミング機能では、複数の開発者が同時に同じ環境にアクセスし、リアルタイムでコードを共同編集できます。カーソル位置やファイルの変更が即座に共有されるため、リモートでのコードレビューやメンタリングに最適です。コスト面では、一定時間操作がないと EC2 インスタンスが自動的に停止する機能があり、使っていない時間の課金を抑えられます。Cloud9 自体の追加料金はなく、EC2 インスタンスの利用料のみで運用できます。
Azure・オンプレミスとの比較
AWS の優位点
- AWS CLI、SAM CLI、CDK がプリインストールされており、Lambda 関数の開発・テスト・デプロイを IDE 内から直接実行でき、AWS 開発に最適化された環境が即座に利用できる
- IAM の一時認証情報が自動設定されるため、AWS リソースへのアクセスに追加の認証設定が不要で、セキュアな開発環境をゼロコンフィグで構築できる
- リアルタイムのペアプログラミング機能が標準搭載されており、追加ツールなしでリモートチームのコラボレーション開発やコードレビューを即座に開始できる
注意点
- Cloud9 の開発環境は EC2 インスタンス上で動作するため、インスタンスタイプの選択がパフォーマンスとコストに直結する
- AWS は新規アカウントでの Cloud9 環境作成を段階的に制限しており、今後は CodeCatalyst の Dev Environments への移行が推奨されている
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。