新規サービス開発でのクラウド利用が拡大しており、クラウド利用を前提としたアプリケーション開発の更なる工期短縮が可能になってきました。本記事では、クラウド技術を活用した統合開発環境であるクラウドIDEの、特徴や代表的な製品についてご紹介します。クラウドIDEはその名が示すとおり、開発者がコーディングに用いる統合開発環境(IDE)をクラウドサービスとして提供するもので、IDEとビルド・実行環境の組み合わせをオンデマンドで提供することにより、開発環境構築にかかる手間を削減し工期を短縮する効果が期待されています。
特徴1 クラウド技術を活用してスムーズに開発環境を構築できる
従来の開発環境の構築といえば、開発用のPC端末やビルド・実行に必要なサーバを用意し、必要なソフトウェアのインストールと設定を個別に実施するといった作業が一般的でしょう。開発者や開発環境の追加が必要になれば、同じ作業を必要なだけ繰り返すことになります。端末の調達に時間を要するのに加え、手作業での設定によるミスが発生するなど、開発環境構築の負担は開発チームの規模に比例して無視できなくなります。
一方、クラウドIDEを活用すれば、開発者はクリックしてから数分でウェブブラウザからアクセスできる開発環境を入手できます。開発環境の追加が必要になっても、まったく同じ環境をいつでも気軽に作成できます。ここでは、クラウドIDEの1つであるVisual Studio Codespacesを例に説明します。開発環境の作成を指示すると、ソースコードのチェックアウトを含むIDEの初期設定やビルド・実行環境となるコンテナの作成が自動的に行われます。
図:ウェブブラウザから開発環境を作成する
図:Visual Studio Codespacesでサンプルアプリケーションをビルドする
また、ビルド・実行環境に必要なソフトウェアとして、例えばJavaアプリケーション開発に必要なJDKやMavenなどのビルドツール、データベースとの接続に必要なJDBCドライバが指定したバージョンや設定でインストールされるため、開発者自身が実施する設定作業を省略できます。カスタマイズした開発環境の設定はファイルとしてソースコードと一緒に構成管理できるので、開発環境構築の手順が自動化され、手作業による設定ミスを防止できます。
特徴2 分散開発に対応できる
物理的な開発環境が存在すると、開発者はその開発環境がある場所でしか作業できません。テレワークなどの働き方を取り入れるには、開発者の手元から開発環境まで安全にアクセスするためのネットワークの仕組みを整え、管理しなければなりません。
一方クラウドIDEは、ウェブブラウザからクラウドにアクセスできる場所であればどこでも作業ができます。地理的な制約がないため、テレワークを含む開発者の多様な働き方に対応できます。1つのソースコードを複数人で同時に編集できる「ライブコーディング」といった、リモートで作業する開発者間のコラボレーションを支援する機能を備えているものもあります。また、プロジェクト管理機能を提供するクラウドサービスと併用することで、タイムゾーンが異なる海外のメンバーとの共同作業もできます。
これらの特徴から、クラウドIDEはウィズコロナ・ポストコロナ時代を見据えた新しい開発スタイルとして活用が期待できます。
Visual Studio Codespaceの他にもクラウドIDEが存在します。いくつかの例をご紹介します。
- Amazon Web Servicesは、Cloud 9というクラウドIDEをAWSのサービスの1つとして提供しています。開発環境をEC2インスタンスとして構築し、ブラウザベースのインターフェースから利用できます。
図:Cloud 9で開発環境を構築
- Eclipse Cheは、クラウドIDEをオープンソースソフトウェアとして開発しているプロジェクトであり、サービスとしてはRedHat社がホスティングしています。開発言語に応じた初期設定がテンプレートとして用意されており、開発者はテンプレートを選択するだけで、ほとんどの設定を完了できます。
図:Eclipse Cheで選択できるテンプレートの例
図:Eclipse Cheで開発環境を構築
このように、クラウドIDEを活用することで、開発者がコーディングする環境も場所やリソースの制約から開放され、すばやくシステム開発に着手できるようになります。NTTデータは、クラウドIDEを含む最新鋭の開発技術を積極的に活用し、従来の開発スタイルを変革します。それにより、開発者の生産性を最大化し、新規サービス創出をいっそう加速させていきます。