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”(英語)の抄訳です。
【NTTコミュニケーションズ様との共同実証報告】AI時代のネットワーク運用高度化に向けた取り組み
IBM Cloud Blog, オートメーション
システム障害と聞くだけで緊張してしまうのは私だけでしょうか?心理的にも体力的にも負荷が高いこの仕事をAIによって、なんとか楽にならないのか、と誰しもが思っています。そこで、IBMのAIによる運用支援ソリューションであるA ...続きを読む
IBMテクノロジーをフル活用しサービス競争力を大幅に向上させた、証券会社向けサービス「KICSクラウド」とは?
IBM Cloud Blog, IBM Partner Ecosystem
光世証券株式会社(以下、光世証券)は、証券業務を行う事業者向けに、証券基幹業務システムをクラウドで利用できる“KICS クラウド”の提供を開始することを発表しました。KICSクラウドはIBM Cloud環境で稼働している ...続きを読む
キー・パートナーに訊く | 西尾新司(エヌアイシー・ソフト株式会社)
IBM Cloud Blog, IBM Partner Ecosystem
「力になりたいとずっと思っていた」——そう話すのは、IBM Champion*の称号を2020年からお持ちの、エヌアイシー・ソフト株式会社所属の西尾 新司さん。今回の「キー・パートナーに訊く」は元IBM Champion ...続きを読む