はじめに
IBM CloudのCode Engineを使っていろいろ試してみた内容をまとめました。Code Engineについての自分の勉強のために操作してみたため、同じくこれからCode Engineを活用される方向けとなる基礎内容の記事です。
今回の内容にはIBM Cloudのアカウント(無料利用可能)が前提となっています。
Code Engineとは?
概要
IBM Cloud® Code Engine (略称「Code Engine」) は、ソース中心の最新のコンテナー化サーバーレス・アプリおよびジョブを作成できるようにすることを目的として、IBMによって開発されたプラットフォームです。コードを実行したい開発者のニーズに対応するように設計されており、アプリケーションのコードを分析し、コンテナイメージの作成とデプロイを自動的に行います。
現在、日本国内では東京リージョンと大阪リージョンともに対応しています。
主な特徴
Code Engineの主な特徴としては、以下のようになります。
-
インフラ管理・クラスタ管理が不要
- アプリのソースコードを瞬時にデプロイ
- ソースコードをもとに自動ビルド・デプロイ
-
複数のワークロードに対応
- アプリケーション(HTTPベースのアプリ)
- バッチジョブ
- ファンクション(イベント駆動)
- コンテナ
-
柔軟なスケール(ゼロ・スケール)
- インフラ管理なしにアプリを柔軟にスケール可能
- アプリが利用されていない場合はゼロ台にスケールダウンすることが可能
-
真の意味での従量課金
- アプリ、ビルドで利用したリソース量に対する支払い
- ゼロ・スケールに対応しているため、真の意味でアプリが利用されているときだけのお支払い
Code Engineのデプロイ方法について
Code Engineを使ってデプロイする方法は3つがあります。
① アプリコードを用いてビルド+デプロイする
② Docker Fileを用いてビルド+デプロイする
③ コンテナイメージを用いてデプロイする
今回は、③のコンテナイメージを使ってデプロイしてみました。
Code Engine操作の流れ
1. IBM Cloudにログインし、Code Engineプロジェクトを作成
IBM CloudのPortal Siteにログインしてください。無料のLiteアカウントを作成することもできます。
ダッシュボードが表示されましたら、左上のナビゲーション・メニュー
をクリックし、Code Engine
カテゴリーに入ります。
プロジェクトを作成するため、プロジェクト
ボタンをクリックし、作成
をクリックします。
プロジェクト作成画面でロケーションを選択し、プロジェクト名を設定します。また、リソース・グループも選択します。
今回は東京リージョン(jp-tok)を選択しており、リソース・グループはすでに作成していた個人のものに設定しています。
設定が終了したら、右下の作成
ボタンをクリックします。
無事作成できたら、リストから作成したプロジェクトが見え、ステータスもアクティブになっています。プロジェクトをクリックしてアクセスします。
2. アプリケーションの作成
次はアプリケーションを作成する流れについてです。作成したプロジェクトにアクセスしますと、左上にアプリケーション
ボタンがあるのでクリックします。
アプリケーションの作成画面で、アプリケーション名や実行するコードの選択、イメージ参照の入力、その他ポートやユーザーIDの選択、エンドポイントの定義などができます。今回は全てデフォルトに選択しており、イメージ参照も下に記載されているサンプルイメージicr.io/codeengine/helloworld
で構成しています。
イメージ参照の部分にicr.io/codeengine/helloworld
を入力し、イメージの構成
をクリックすると設定画面が表示されます。今回はデフォルトに設定し下の完了
ボタンをクリックします。
設定が完了したら右下の作成
ボタンをクリックします。
アプリケーションが作成されたことを確認し、スタータすも対応可能
になりましたら、アプリケーション・リンクのURLを開く
をクリックします。
アプリケーションが作成されたことが確認できます。
3. アプリケーションの操作
もう一度アプリケーション画面に戻り、今回はアプリケーション名をクリックして詳細にアクセスします。
アプリケーションの詳細画面が表示されましたら、概要
タブの真ん中にあるグラフを確認してみます。現在は特にアクション内容がなかったため、アクティブなインスタンスはありません
とのメッセージがありますが、アプリケーションの操作を行うとこちらにグラフが表示されるようになります。その確認のため、右上のアプリケーションのテスト
をクリックし、要求の送信
をクリックします。
そうすると、先ほどアプリケーションのURLで確認したコードが表示されながら、グラフにインスタンスがリアルタイムで表示されることが確認できます。
その他、構成
タブではコード、ランタイム、環境変数、コマンドのオーバーライドに関する情報の確認と編集ができ、Endpoints
タブではエンドポイントの設定を行うことも可能です。
最後に料金の見積もりを確認してみます。右上のコストの見積もり
をクリックします。
アプリケーションを作成する際のスペックや設定などが表示されますが、ここで設定を変更することも可能です。その後、コストの計算
をクリックすると1ヶ月当たりのコストを確認することができます。
より詳しい料金設定については、こちらをご参考ください。
まとめ
今回はIBM Cloud上でCode Engineを実行し、プロジェクトの作成やコンテナイメージを使ってアプリケーションを作成する基本的な流れについて整理しました。サンプルイメージとしては非常に簡単なものだったため目立つ操作はできませんでしたが、別途イメージリソースを入手し構成したらより高度なアプリケーションをデプロイすることができるかと思います。
次回はCode Engineの他デプロイ方法についてや、監視ツールなどのIBM Cloud製品と連携などを操作し、その流れについて整理いたします。
注意点
-
イメージ参照の際、タグに何かを入力するとエラーが発生してしまいます。
アプリケーションを初めて作成する際、イメージ参照のタグにtest
と入力しましたが、アプリケーションのデプロイができませんでした。作成される際には何も指定せずにデプロイした方が良いかと思います。
(エラーの原因や仕組みなどが明確に分かり次第、更新いたします。)
-
Code Engineの操作と記事の作成はリアルタイムで行われていないため、時間のずれがございます。
-
このアカウントではディスカウントが適用されているため、表示価格が通常の定価と異なる場合があります。また、サービス料金はドル-円為替レートに基づいて課金されるため、同じサービスでも料金の変動がございます。