Googleは、「IntelliJ IDEA」や「Visual Studio Code」でのクラウドネイティブアプリケーション開発を支援するプラグイン「Cloud Code」を発表した。IDEの機能を生かした開発ができる。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Googleは2019年4月11日(米国時間)、統合開発環境(IDE)である「IntelliJ IDEA」と「Visual Studio Code(VS Code)」に向けた新しいプラグイン「Cloud Code for IntelliJ」(α版)と「Cloud Code for VS Code」(β版)を発表した。
これらのプラグインは、IDEを使ったソフトウェア開発ライフサイクルのあらゆる段階を支援し、自動化機能も提供する。
今回発表されたCloud Codeの最初のリリースでは、「Google Kubernetes Engine(GKE)」など「Kubernetes」上で動作するアプリケーションの開発を簡単にすることに重点が置かれている。Cloud Codeは、VS CodeとIntelliJを拡張し、IDEの機能と利便性をフルに活用してクラウドネイティブなKubernetesアプリケーションの開発を支援する。
Googleの「Skaffold」「Jib」「Kubectl」のようなコマンドラインコンテナツールを利用することで、Cloud Codeはプロジェクトの開発時の継続的なフィードバックを可能にした。編集やコンパイル、デバッグのループをローカルだけでなく、リモートのKubernetes環境にも拡張する。
また、デプロイプロファイルがサポートされるので、ローカル開発や共有開発、テスト、本番といったさまざまなデプロイターゲットを定義できる。そのため、ワークステーションやクラウドで簡単にテストやデバッグを実行できる。
次の画面のように、Cloud Code for IntelliJを使うと、実行構成によってアプリケーションを継続的にKubernetesにデプロイできる。デプロイはプロファイルをサポートしており、ローカルまたはCloud Buildで実行される。画面下部の出力ウィンドウにあるように、ログファイルのストリーミングもサポートされている。
Cloud Codeを利用することで、Google APIを容易に開発中のアプリケーションへ統合できるようになる。例えば、IntelliJ内で今回提供される統合型ライブラリマネージャを利用すれば、必要な依存関係をアプリケーションに追加して、プロジェクトでGoogle APIを自動的に有効化し、必要なKubernetesのシークレット情報も管理できる。
Kubernetesでアプリケーションを起動し、運用するには、従来、多くの概念を理解する必要があった。Cloud Codeは、デバッグやビルド、デプロイ用として事前に構成済みのKubernetesサンプルセットを備えており、これらはKubernetes初心者に特に役立つ。このセットを使うことで初期設定と構成ではなく、アプリケーション開発自体に集中できる。
また、Cloud Codeは、「Cloud Build」「Stackdriver」といった既存のDevOpsツールやサービスと簡単に連携できるように設計されている。例えば、コードをデプロイする準備ができたら、プルリクエストやコミットだけでCloud Buildが動作し、アプリケーションのビルドからテスト、デプロイへと自動的に進む。
Cloud Codeで「Ops」も容易になる。Googleによれば、DevOpsの核となる原則は、全て環境設定がリポジトリのソースコードとして管理される「コードとしてのインフラストラクチャ(Infrastructure as Code)」を使用することだ。これによって環境が再現可能になり、エラーをより早く発見することに役立つという。
Cloud CodeとCloud Buildにより、Kubernetesの構成の編集、レビュー、テスト、変更の適用を簡単かつ容易に実行できる。Cloud Codeはテンプレートを提供し、Kubernetesのyamlファイルをチェック(lint)して、エラーを強調表示する。Cloud Codeはロギングもサポートするので、IDE内の環境からアプリケーションログを直接表示できる。
例えばCloud Code for VS Codeでは、次の画面のように、カラー表示やエラーチェック、提案、スニペットなどのIDEの機能をフルに活用して構成ファイルを操作できる。この画面では、GKEで実行されているアプリからシークレットが参照されており、開発者はそのシークレットの定義を見て、ホバリングによって、Base64で符号化された文字列を復号している。
Copyright © ITmedia, Inc. All Rights Reserved.