IBM Cloud News
IBM Cloud Code Engineにソースコードをデプロイする
2021年04月30日
カテゴリー IBM Cloud Blog | IBM Cloud News | IBM Cloud アップデート情報 | IBM Cloud チュートリアル
記事をシェアする:
この投稿は、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を試してみてください。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”(英語)の抄訳です。
セキュリティー・ロードマップ
IBM Cloud Blog
統合脅威管理、耐量子暗号化、半導体イノベーションにより、分散されているマルチクラウド環境が保護されます。 2023 安全な基盤モデルを活用した統合脅威管理により、価値の高い資産を保護 2023年には、統合された脅威管理と ...続きを読む
量子ロードマップ
IBM Cloud Blog
コンピューティングの未来はクォンタム・セントリックです。 2023 量子コンピューティングの並列化を導入 2023年は、Qiskit Runtimeに並列化を導入し、量子ワークフローの速度が向上する年になります。 お客様 ...続きを読む
ハイブリッドクラウド・ロードマップ
IBM Cloud Blog
コンポーザブルなアプリケーション、サービス、インフラストラクチャーにより、企業は複数のクラウドにまたがるダイナミックで信頼性の高い仮想コンピューティング環境の作成が可能になり、開発と運用をシンプルに行えるようになります。 ...続きを読む