IBM Cloud Docs
Code Engine についての説明

Code Engine についての説明

IBM Cloud® Code Engine (略称「Code Engine」) は、ソース中心の最新のコンテナー化サーバーレス・アプリおよびジョブを作成できるようにすることを目的として、IBM によって開発されました。 このプラットフォームは、コードを実行したい開発者のニーズに対応するように設計されています。Code Engine は、Kubernetes でのワークロードのビルド、デプロイ、および管理の運用上の負担を取り除き、開発者が最も重要なもの (ソース・コード) に集中できるようにします。

Code Engine の利点

ワークロードを実行するために Code Engine に用意されている機能について説明します。

Code Engineの利点。
機能 説明
ワークロードの実行 Code Engine は、HTTP 駆動のアプリケーションおよび run-to-completion のバッチ・ジョブを実行します。
フルマネージド型のサービス サーバーのプロビジョニング、構成、スケーリング、管理などのクラスター管理はすべて Code Engine によって行われるので、ユーザーは基盤となるインフラストラクチャーについて心配する必要がありません。
コードのビルド Code Engineによってソース・コードがプルされ、コンテナー・イメージが自動的に作成されます。Code Engineは、Dockerfile と Cloud Native Buildpack の両方をサポートします。
プライベート・ワークロード ソース・コードをプライベート・リポジトリーに保管し、イメージをプライベート・レジストリーにプッシュして、Code Engine がそれらにアクセスできるようにします。
完全に統合 ユーザーが IBM Cloud サービスの全カタログを利用できるように、Code Engine は IBM Cloud に完全に統合されています。
イベント・ドリブンのワークロード イベント・プロデューサーから発行されるメッセージ (イベント) によってアプリケーションの機能を拡張します。 これにより、アプリケーションは、それらのイベントに対応し、それらに応じたアクションを実行できるようになります。
自動スケーリング - ゼロになるまで偶数 Code Engine は、ワークロードを自動的にスケール・アップおよびスケール・ダウンし、アクティブな要求がない場合にはゼロにスケール・ダウンすることもできます。 課金は、消費したリソースに対してのみ行われます。
アクセスの制御 IBM Cloud アカウントのリソースをプロビジョンおよび管理できるユーザーを制御するには、IBM Cloud Identity and Access Management でプロジェクトにプラットフォームおよびサービスのアクセス権限を割り当てます。
オープンソースに基づく Code Engine は、Kubernetes、Knative、Istio、Tekton などの一連のオープンソース・テクノロジーに基づいて構築されているので、アプリやジョブの移植性を維持できます。
DDoS防御 Code Engine provides immediate DDoS protection for your application. Code Engine's DDoS protection is provided by Cloud Internet Services (CIS) at no additional cost to you. DDoS 保護は、システム相互接続 (OSI) レイヤー 3 およびレイヤー 4 (TCP/IP) プロトコル攻撃をカバーしますが、レイヤー 7 (HTTP) 攻撃はカバーしません。 DDoS 保護 を参照してください。

Code Engine の用語

Code Engine の基本情報について学習するには、以下の主要な用語を復習してください。 その後、自分の知識を試して クイズに答えることができる!

Code Engine用語
用語 説明
アプリケーション アプリケーション (アプリ) は、HTTP 要求を処理するコードを実行します。 IBM Cloud® Code Engine は、従来型の HTTP 要求に加えて、通信プロトコルとして WebSocket を使用するアプリケーションもサポートします。 アプリの実行中のインスタンス数は、入ってくるリクエストとコンフィギュレーション設定に基づいて自動的にスケールアップまたはスケールダウン(ゼロに)されます。 アプリには、1 つ以上のリビジョンが含まれています。 リビジョンとは、アプリの構成プロパティーの変更不可能なバージョンの 1 つを表します。 アプリの構成プロパティーが更新されるたびに、アプリの新規リビジョンが作成されます。
ビルド ビルド (イメージ・ビルド) は、ソース・コードからコンテナー・イメージを作成するために使用できるメカニズムです。 Code Engineは、Dockerfile および Cloud Native Buildpacks からのビルドをサポートしています。
コード・バンドル コード・バンドルは、機能コードを表すファイルの集合です。 このコード・バンドルは、ランタイム・コンテナーに注入されます。 コード・バンドルは Code Engine によって作成され、コンテナー・レジストリーに保管されるか、関数とともにインラインで保管されます。 コード・バンドルは、Open Container Initiative (OCI) 標準コンテナー・イメージではありません。
コード・リポジトリー ソース・コードは、GitHub や GitLab などのコード・リポジトリーに保管します。 Code Engine では、プライベート・コード・リポジトリーへのアクセスを追加し、そのリポジトリーをビルドから参照することができます。
Configmap 構成マップにより、非機密データ情報をデプロイメントに含めることができます。 configmapの値を環境変数として参照することで、特定の情報をデプロイメントから切り離し、アプリ、ジョブ、または関数をポータブルに保つことができます。 構成マップには、キーと値のペアで情報が格納されます。
コンテナー・イメージ・レジストリー コンテナー・レジストリー (レジストリー) は、コンテナー・イメージを保管するサービスです。 例えば、IBM Cloud Container Registryと Docker Hub はコンテナー・レジストリーです。 コンテナー・レジストリーは、パブリックにすることもプライベートにすることもできます。 パブリックであるコンテナー・レジストリーには、アクセスするための資格情報は必要ありません。 これに対して、プライベート・レジストリーへのアクセスには資格情報が必要です。
関数 関数は、HTTP 要求によって呼び出されるときにタスクを実行するステートレス・コード・スニペットです。 IBM Code Engine 機能を使用すると、スケーラブルでサーバーレスの方法でビジネス・ロジックを実行できます。 IBM Code Engine 機能は、低遅延および迅速なスケールアウト・シナリオをサポートするために最適化されたランタイム環境を提供します。 関数コードは、特定の Node.js または Python バージョンを含む管理対象ランタイムで作成できます。
ジョブ ジョブは、あなたの実行コードの1つ以上のインスタンスを並列に実行します。 HTTP 要求を処理するアプリケーションとは異なり、ジョブは一度実行したら終了するように設計されています。 ジョブを作成するときには、ジョブの実行時に毎回使用するワークロードの構成情報を指定できます。
プロジェクト

プロジェクトとは、アプリケーション、ジョブ、ビルドなどの Code Engine エンティティーをグループにまとめるものです。 プロジェクトの基盤は Kubernetes 名前空間です。 プロジェクトの名前は、IBM Cloud® リソース・グループ、ユーザー・アカウント、およびリージョン内で固有でなければなりません。 プロジェクトを使用することで、リソースを管理してエンティティーへのアクセスを提供できます。 プロジェクトは以下の項目を提供します。

  • エンティティー名の固有の名前空間を提供します。
  • プロジェクト・リソースへのアクセス (インバウンド・アクセス) を管理します。
  • バッキング・サービス、レジストリー、およびリポジトリーへのアクセス (アウトバウンド・アクセス) を管理します。
  • Transport Layer Service (TLS) 用に自動生成された証明書があります。
シークレット シークレットを使用して、機密性の高い構成情報 (パスワードや SSH 鍵など) をデプロイメントに含めることができます。 シークレットから値を参照することで、デプロイメントから機密情報を切り離し、アプリ、関数、ジョブの移植性を保つことができます。 プロジェクトに対する権限が与えられていれば、どのユーザーもシークレットを表示することができます。したがって、それらのユーザーとシークレット情報が共有される可能性があることを知っておいてください。 シークレットには、キーと値のペアで情報が格納されます。
サービス・バインディング サービス・バインディングは、 IBM Cloud サービスへのアプリケーション、ジョブ、および機能のアクセスを提供します。
サブスクリプション サブスクリプションにより、サイン・アップして特定のイベント・プロデューサーからイベントを受け取ることができます。 さまざまなタイプのイベント・プロデューサーと、それらのイベント・プロデューサーにサブスクライブする方法について詳しくは、イベント・プロデューサーのサブスクライブを参照してください。