※これはAnnouncing the availability of OCI Container Instancesの翻訳です

Oracle Cloud Infrastructure (OCI) Container Instances が利用可能になり、発表できることを嬉しく思います。これは、サーバを管理せずにコンテナを即座に実行できるサーバーレス・コンピューティングのサービスです。

今日、クラウドでアプリケーションをパッケージ化して実行するための事実上の方法として、コンテナが積極的に採用されています。 実際、Oracleのマネージド Kubernetes サービスである Oracle Container Engine for Kubernetes (OKE) は、コンテナを大規模に実行するために OCI のお客様に広く使用されています。 Kubernetes を使用せずにコンテナ化されたアプリケーションを実行する簡単な方法が必要な場合は、仮想マシン (VM) をプロビジョニングし、コンテナランタイムをインストールして、その上でアプリケーションを実行できます。 ただしこのやり方だと、VM とサーバの管理、オペレーティング システムへのパッチ適用、コンテナ ランタイムの定期的な更新が必要になるため、運用の複雑さが増します。

OCI Container Instances は、この運用の複雑さをすべて取り除き、インフラストラクチャを管理することなくコンテナ化されたアプリケーションを実行できるようにします。 アプリケーションを実行するためのコンテナイメージを提供する一方、OCI は基盤となるコンテナ ランタイムとコンピューティングリソースを管理します。コンテナワークロード用に最適化されたフルマネージドのコンピューティング上でコンテナが実行され、強力なワークロード分離を提供してセキュリティを向上させます。

Container Instances を使用すると、選択したシェイプの通常の OCI Compute インスタンスと同じ価格で、CPU およびメモリ・リソースに対してお支払いいただきます。 Container Instancesには追加料金は発生しません。そのため、コスト削減のために自分で管理する VM上でコンテナを実行するという選択肢が必要がなくなりました。 OCI Compute の優れたコストパフォーマンスと秒単位の課金により、Container Instances はクラウドでコンテナを実行するための最良のオプションを提供します。

Retraced の CTO である Peter Merkert 氏は、次のように述べています。「例えば、開発者向けのコンテナでテスト用のデータベースを実行しています。それだけです。仮想マシンを管理または監査する必要はありません」

シンプルで、高速で、フレキシブルなデプロイ

Container Instancesを使用すると、起動が大幅に高速化され数秒でコンテナをデプロイできます。 CLI、APIまたはOracle Cloud Consoleのいずれかを使用して、コンテナ・イメージと単純なパラメータをいくつかの指定することで、1つ以上のコンテナを持つ新しいContainer Instanceを簡単に作成できます。 Container Instanceを作成するときに、ベースとなるCompute、CPUおよびメモリ・リソースを割り当てるためのお好みのシェイプと、Container InstanceをデプロイするVCNサブネットを柔軟に指定できます。

リソースの制約なしで要求の厳しいワークロードを実行

Container Instancesを使用すると、軽量のアプリケーションだけでなく、リソースを集中的に使用するアプリケーションも実行できます。ベースとなるComputeのシェイプによって提供されるすべての CPU とメモリを単一のContainer Instanceに割り当てて、要求の厳しいワークロードを実行できます。 たとえば、E3 または E4 Flexの シェイプを選択することで、最大 64 個のコア (128 個の vCPU) と 1,024 GB のメモリを 1 つのContainer Instanceに割り当てることができます。

強力なワークロード分離

Container Instancesは、コンテナの効率性と VM の強力な分離を組み合わせてセキュリティを向上させます。 コンテナのワークロード用に最適化されたContainer Instancesは、ハイパーバイザーのレベルで分離され、ベースになる OS カーネル、CPU、またはメモリ・リソースを他のContainer Instanceと共有しません。 この 2 番目の防御層により、異なるアプリケーションのコンテナが同じ OS カーネルを共有しなくなり、攻撃対象領域が減少します。
この詳細を理解したい場合は、こちらのOCI First Principles ビデオ ブログ投稿で Container Instances アーキテクチャについて説明しています。

 

Container Instancesの一般的なユース ケース

Container Instancesは、Kubernetes などのコンテナオーケストレーション プラットフォームを必要としないコンテナ化されたワークロードに適しています。これらは、完全なインテグレーション・デプロイ (CI/CD) パイプラインの一部としてのビルドデプロイのジョブ、クラウド操作の自動化タスク、データやメディア処理などの一時的なワークロードの実行に最適です。Container Instances を使用すると、API 呼び出しや CLI コマンドと同じくらい簡単にコンテナを実行できるため、コンテナ化されたタスクを DevOps、運用、またはデータ処理ワークフローの一部として簡単に実行できます。

Container Instancesは分離された Web アプリケーション、または RESTful API の実行にも適しています。 任意のフレームワークを使用してアプリケーションを開発し、それらをコンテナイメージとしてパッケージ化し、Container Instancesで実行できます。アプリケーションは単一のコンテナ、またはコンテナのグループで構成できます。 同じContainer Instanceで実行されているコンテナは同じ場所に配置され、localhost 経由で、またはフルスタック・アプリケーションのデプロイやsidecarなどのパターンを可能にするループバック・インターフェイスを使用して通信します。

Container Instancesは、従来のモノリシックのアプリケーションをクラウドに移行するのにも役立ちます。通常、これらのアプリケーションは、Kubernetes などのCloud Nativeなプラットフォーム用に構築されていません。例えば水平方向にスケーリングできない場合や、レプリカの損失を許容できない場合があります。 こうしたスタンドアローンのアプリケーションをコンテナ化し、Container Instancesで実行できます。サーバや VM のプロビジョニング、パッチ適用、トラブルシューティングの運用上のオーバーヘッドはありません。要求の厳しいアプリケーションの要件を満たすために必要な CPU とメモリを割り当てることができます。

さらに、Container Instancesを使用して、開発環境やテスト環境をすばやく作成および破棄できます。開発者は、ローカル環境のサーバを使用したり、VM を管理したりする代わりに、Container Instancesを頼りにして生産性を向上させ、リソース制限や未知のワークロードを実行するリスクを回避できます。開発・テスト中にアプリケーションからアクセスする必要のあるテスト環境をすばやくセットアップすることもできます。

まとめ

OCI Container Instances は、サーバ管理不要でコンテナを実行するための、シンプルで迅速かつ安全な方法を提供します。他のクラウドプロバイダとは異なり、サーバーレスのOCI Container Instances に追加料金を支払う必要はなく、クラウドでコンテナを実行するための最良のオプションを提供します。

ユーザーが OCI Container Instances をどのように使用しているかを共有する Webinarイベントがあるので、興味のある方はサインアップしてください。インフラストラクチャを管理せずにコンテナ化されたアプリを Kubernetesで実行する方法については、Oracle Container Engine for Kubernetes (OKE)を参照してください。

OCI Container Instancesの詳細については、次のリソースを参照してください: