IBM Cloud News

IBM Cloud Code Engineにソースコードをデプロイする

記事をシェアする:

この投稿は、2021/4/20に米国 IBM Cloud Blog に掲載されたブログ(英語)の抄訳です。

 

コンテナ・レスの世界に少しずつ近づいています

クラウドネイティブアプリケーションのホスティングというと、当然のことながら、実行時のワークロードのデプロイメントと管理に焦点が当てられています。しかし、見落とされがちなのが、ホスティング・プロセスへの入力、つまりソース・コードをデプロイして実行できるものに変換することです。IBM Cloud Code Engineはこれを代行します。

 

IBM Cloud Code Engineとは?

IBMは新しいフラッグシップ・ランタイム・ホスティング環境「IBM Cloud Code Engine」を発表しました(発表内容はこちら)。Code Engineは、フルマネージドのクラウドベースのランタイムで、デプロイ先のインフラを一切管理することなく、あらゆるクラウドネイティブワークロードを数秒でデプロイすることができます。つまり、Kubernetesをインストールして管理する必要はありません。ポッド、レプリカセット、デプロイメント、オートスケーラー、ロードバランサー、さらにはYAMLについても学ぶ必要はありません。

コンテナバッチジョブのCode Engineへのデプロイを紹介したブログやビデオでは、ワークロードをCode Engineにデプロイするのがいかに簡単かをご覧いただきました。しかし、コンテナイメージから始めるには、やはり開発者がソースコードをイメージに変換する必要があります。人によってはそれほど難しいことではないかもしれませんが、他の人にとってはちょっとした学習が必要かもしれません。どちらにしても、開発者がより多くの時間をコーディングに費やせるようにするためには、何かが必要です。

 

コンテナイメージの作成はお任せください

多くの開発者にとって、ソースコードはGitリポジトリに格納されています。Code Engineでは、アプリケーションやバッチジョブのデプロイを開始する際に、そのリポジトリの場所を指定することで、Code Engineがコンテナイメージを作成してくれるようになっています。たぶん多くの方は、疑問をお持になるでしょう。

  • Code Engineはどうやってイメージを構築するのか?
  • Code Engineはどのようにして、自分のコードをコンパイルする方法を知るのか? インタプリタ型言語(例:Python)の場合、ランタイムをバンドルするのではなく、コンパイルする必要があるのか?

もちろん、そこには「ヒント」が必要です。もしあなたのコードがかなり単純なものであれば、”buildpack”と呼ばれるものを利用できるかもしれません。  buildpackとは、コードを分析し、そのコードがどの言語で書かれているかを判断し、それに基づいて、コンテナイメージを作成してCode Engineで「実行可能」にするために必要な手順を踏む仕組みだと考えてください。Javaのようなコンパイル型言語の場合は、コードをコンパイルしてJREと組み合わせます。インタプリタ型言語の場合は、ソースコードを言語ランタイムと一緒にイメージにコピーするだけの簡単な作業です。

しかし、イメージを構築するためにもう少しカスタマイズする必要がある場合は、ソースコードにDockerfileを含めることで可能になります。Dockerfileは基本的に、あなたのコードを実行するコンテナイメージを構築するための指示のリストです。Dockerfileでは、通常、「コンパイル」や「インストール」といった手順で、イメージに含めるべきファイルを指定することができます。その後、プロセスがこれらのステップを実行し、コンテナのスナップショットをイメージとして保存します。

Code Engineがどのプロセスを使用するかは、簡単なフラグで制御することができます。また、コンテナイメージを共有することはよくあることなので、イメージをどこに保存するかを指定することもできます。非常にシンプルですね。

 

 これらのことは何を意味するのか?

これらのことが何を意味するのか、少し考えてみましょう。自分でコンテナイメージをビルドしなくても、「ソースコード」から「実行中のコード」へと移行できるのは素晴らしいことですが、ここにはもっと重要な意味があります。これまでのブログで学んだこと(数回のクリックでアプリをデプロイすることなど)と組み合わせると、開発者はソースコードをクラウドにデプロイしても、コンテナイメージやコンテナ、Kubernetesについて考える必要がないということになります。

開発者は、ソースコードと希望するランタイムセマンティクス以外のものをホスティングランタイムに提供する必要がない、というところまで来ているのです。「コンテナ」について学ぶ必要性は、まもなく過去のものになるかもしれません。現在の状況を考えると希望的観測かもしれませんが、その可能性はこれまでよりもずっと近くなったように感じられます。そしてこれは、Code Engineの設計目標の1つである「開発者をプラットフォームに合わせるのではなく、開発者が生きている場所に合わせる」ことにも合致しています。

Code Engineは、この「イメージ作成プロセス」をさらにシンプルにできるかどうかを追求しています。その様子をビデオでご覧いただけます。このビデオでは、ソースコードから直接、Code Engineのワークロード(アプリまたはバッチジョブ)をすばやくデプロイする方法を紹介しています。

Code Engine How to

 

この後は、ぜひご自身でCode Engineを試してみてください。Code Engineには無料枠(一定の条件に達するまで無料)があるので、購入する前に実際に使ってみることができます。サンプルやチュートリアルをご覧になれば、移行をスムーズに進めることができるでしょう。

 

始める準備はできましたか?

IBM Cloud Code Engineを始めましょう。ランディング・ページにアクセスして Code Engine を知ってください。その後、ドキュメントの「Getting Started with Code Engine」に進み、コンテナバッチ・ジョブをデプロイするか、ソース・コードを直接デプロイしてください。

 

参考情報:

IBM Cloud Code Engineにコンテナをデプロイする

IBM Cloud Code Engine でバッチ・ジョブを実行する


翻訳:IBM Cloud Blog Japan 編集部

*このブログは、2021/4/20に発行された“Deploying Source Code to IBM Cloud Code Engine”(英語)の抄訳です。

More IBM Cloud News stories

イグアス様がIBM i ユーザーのクラウド化をサポートするサービス提供を発表

IBM Cloud Blog, IBM Cloud News

このブログは、IBM Cloudのビジネスパートナー様が報道発表された内容を、多くの方にお届けする目的で、その内容を引用して投稿しています。   IBM i ユーザーのクラウド化をサポート 『イグアス 総合クラ ...続きを読む


IBM Cloud Code Engine でバッチジョブを実行する

IBM Cloud Blog, IBM Cloud News, IBM Cloud アップデート情報...

この投稿は、2021/4/14に米国 IBM Cloud Blog に掲載されたブログ(英語)の抄訳です。   できるか、できないかは、クラウドが決めること? ワークロードの種類によって必要なランタイム環境は異 ...続きを読む


IBM Cloud Code Engine にコンテナをデプロイする

IBM Cloud Blog, IBM Cloud News, IBM Cloud アップデート情報...

この投稿は、2021/4/13に米国 IBM Cloud Blog に掲載されたブログ(英語)の抄訳です。   IBM Cloud Code Engine であなたの悩みの種が消えます 開発者は、ホスティング・ ...続きを読む