はじめに
*** Code Engine操作に関する前回記事の続きとなりますので、先にご確認いただけるとよりスムーズかと思います。
・【IBM Cloud】Code Engineをいろいろいじってみた① - プロジェクト、アプリケーションの作成
IBM CloudのCode Engineを使っていろいろ試してみた内容をまとめました。Code Engineについての自分の勉強のために操作してみたため、同じくこれからCode Engineを活用される方向けとなる基礎内容の記事です。
今回の内容にはIBM Cloudのアカウント(無料利用可能)が前提となっています。
Code Engineの概要
IBM Cloud® Code Engine (略称「Code Engine」) は、ソース中心の最新のコンテナー化サーバーレス・アプリおよびジョブを作成できるようにすることを目的として、IBMによって開発されたプラットフォームです。コードを実行したい開発者のニーズに対応するように設計されており、アプリケーションのコードを分析し、コンテナイメージの作成とデプロイを自動的に行います。
現在、日本国内では東京リージョンと大阪リージョンともに対応しています。
Code Engineの主な特徴
Code Engineの主な特徴としては、以下のようになります。
-
インフラ管理・クラスタ管理が不要
- アプリのソースコードを瞬時にデプロイ
- ソースコードをもとに自動ビルド・デプロイ
-
複数のワークロードに対応
- アプリケーション(HTTPベースのアプリ)
- バッチジョブ
- ファンクション(イベント駆動)
- コンテナ
-
柔軟なスケール(ゼロ・スケール)
- インフラ管理なしにアプリを柔軟にスケール可能
- アプリが利用されていない場合はゼロ台にスケールダウンすることが可能
-
真の意味での従量課金
- アプリ、ビルドで利用したリソース量に対する支払い
- ゼロ・スケールに対応しているため、真の意味でアプリが利用されているときだけのお支払い
Code Engineのデプロイ方法について
Code Engineを使ってデプロイする方法は3つがあります。
① アプリコードを用いてビルド+デプロイする
② Docker Fileを用いてビルド+デプロイする
③ コンテナイメージを用いてデプロイする
今回は、②のコンテナイメージを使ってデプロイしてみました。
デプロイの流れ
前回はCode Engineでコンテナ・イメージを使ってデプロイし、デプロイ結果や詳細機能などを確認しました。
今回はDockerfileを用いてビルド+デプロイする流れを整理します。
前回作成したプロジェクトを開き、新しいアプリケーションを立ち上げます。右上の作成
ボタンをクリックします。
(ちなみに前回コンテナ・イメージを使って作成したアプリケーション「application-e1」
もありますね。)
アプリケーションの作成画面で必要情報を入力します。今後の見分けのために、今回のデプロイからは私も名前をしっかりつけるようにしました。
Dockerfileを用いたデプロイであるため、test-using-dockerfile
と設定しています。
実行するコードの選択は今回はDockerfileを使うため、ソース・コード
を選択します。(前回はコンテナー・イメージを選択しています。)
サンプルで用意されているGithubからのソースコードURLを入力します。
その後ビルドの詳細を設定するため、ビルド詳細の指定
をクリックします。
ビルドの詳細画面ではソース/戦略/出力についての設定画面が表示されます。
ソース欄ではデフォルトで設定。
戦略欄ではビルド用のリソースのみ小
に変更。
出力画面では名前空間
とリポジトリー(イメージ名)
のみ変更。(名前空間にそのまま入力すると、自動に登録され、リポジトリーも設定されます。)
これでビルド詳細の指定
は完了です。
下段にスクロールするとエンドポイントの設定やランタイム設定がありますが、今回はインスタンスリソースのみ最も小さいスペックに変更しています。(0.125個のvCPU/0.25GB)
また、選択オプションで環境変数とコマンドのオーバーライド設定欄がありますが、今回は何も設定していません。
これで全ての設定が完了しました。右下の作成
ボタンをクリックします。
画面が切り替わってデプロイ中の画面が自動に表示されます。まもなくデプロイが完了し準備ができたとの表示が見えます。
(例) デプロイ中→対応可能
、待機中→対応可能
、実行中→成功
デプロイが完了しましたらアプリケーションの画面を確認します。無事新しいアプリケーションがされていますね。
URLを開いて実際の画面を確認すると、Sampleが表示されることがわかります。
最後に
今回はDockerfileを用いてコンテナ・イメージをビルドし、アプリケーションをデプロイする流れを整理しました。
最初からコンテナイメージを用いてデプロイする方法に比べると多少操作が発生しますが、それでも非常に簡単にデプロイできます。
次回は残りのデプロイ方法である「① アプリコードを用いてビルド+デプロイする」方法についてまとめていきたいと思います。
参考
・IBM Cloud Docs - Code Engine でのアプリの操作