コンテナ実行環境をサーバーレスで！IBMのCode Engineがやってきた (コンテナイメージ実行編)

皆さん、こんにちは。戸倉彩です。

IBMが正式に提供を始めた**IBM Cloud Code Engine**(以下、Code Engine)について、いち早く皆さんに知っていただき、触れて欲しいと思い、今回はまずはもっともクイックに体験できる方法についてご紹介させていただきます。Code EngineのHello World的な感じで、初めてCode Engineを使われる方が、最初に簡単に動かしてみるためにステップバイステップで試していただける内容となっています。ネットワーク環境によっては、1分もかからずデプロイできてしまうので、あっけなく感じる方もいらっしゃるかもしれませんが、そのあっけなさからまずは体験してみてください。

**★注意事項★**
・2021年3月31日(米国時間)、**Code Engineの提供開始**を発表し、無料で試せるベータ版の提供を終了いたしました。発表内容につきましては、IBMソリューションブログ[「IBM Cloud Code Engineを提供開始」]((https://www.ibm.com/blogs/solutions/jp-ja/ibm-cloud-code-engine-is-now-generally-available/))をご覧ください。
・こちらの内容は、IBM Cloudの**従量課金アカウント**(クレジットカード登録)が必要となります。
・また、**Code Engineは有料で提供されているサービスとなりますので、無料枠の制限を超えた場合、使用量に応じて課金が発生します**
・価格に関する最新情報は、公式サイト[「IBM Cloud Code Engineの料金体系」](https://www.ibm.com/jp-ja/cloud/code-engine/pricing)をご確認ください。

# IBM Cloud Code Engineとは
IBMが、IBM Cloud上で提供しているフルマネージドのサーバーレスプラットフォームで、アプリケーションをKubernetesベースのインフラストラクチャー上にデプロイし、管理することができるサービスです。Code Engineが、インフラストラクチャーの処理を行ってくれるので、Kubernetesについて知識がなくても問題ありません。ユーザーが、アプリケーションをホスティングするための環境構築ではなく、アプリケーションのコードを書くことにとことん集中できるように設計されています。
もし、Code Engineのアーキテクチャについて詳しく学びたい場合には、[「Code Engine のアーキテクチャーとワークロードの分離について」](https://cloud.ibm.com/docs/codeengine?topic=codeengine-architecture&locale=ja)サイトをご覧ください。

# 利用するために必要なもの
1. Webブラウザ
IBM Cloudの管理用のダッシュボードにアクセスするために必要となります。公式サイト[「IBM Cloudの前提条件」](https://cloud.ibm.com/docs/overview?topic=overview-prereqs-platform&locale=ja)では、Chrome、Firefox、Edge、Safariの最新バージョンもしくは1つ前のバージョンの使用が前提条件として掲載されています。

2. IBM Cloud 従量課金アカウント (またはサブスクリプション契約)
IBM Cloudアカウントをお持ちでない方は、[IBM Cloudカウント作成サイト](https://cloud.ibm.com/registration)からアカウント作成を行った後、クレジットカード登録を行って従量課金アカウントにアップグレードを行ってください。
[参考] 3分程度の解説動画によるアカウント取得方法は下記リンクからご参照ください。
・[IBM Cloud のライトアカウントを作成しよう](https://youtu.be/Krn1jQ4iy_s)
・[従量課金アカウントへのアップグレード](https://youtu.be/uFCSvAKapr0)

# Code Engineをすぐに開始する2つの方法
Code EngineをHello Worldする方法として、選択したコンテナイメージを使用して**「コンテナ・イメージの実行」**または**「ソース・コードから始める」**ことができます。
本記事では、前者のほうで解説を進めていきます。
<img src="https://bl6pap004files.storage.live.com/y4mPkUMMJAAXiBmvMCCRSCvxxvIk8GkfQ07TzEbtuVUmkreewr9678UZ1KuRmu_eQxIH2TV0zwst6ciA3yNunVBdnBK6do3TixCzBViw6WbF6vO_gjPbX1nzFZLjiZ55KEE_6UmE8dB-forkVXeNqKjogsteU5JY_CwIg6h-aE1r5SVB5DdUSS_lPdf0qScUAgy?width=1658&height=812&cropmode=none" width="600">

# Let's Code Engine! (コンテナイメージ実行編)
下記の手順に従って、操作を進めてみてください。  
1. IBM Cloud (https://cloud.ibm.com/login) にログインする。
2. IBM Cloudダッシュボードの上のほうにある**[カタログ]**メニューをクリックする。
<img src="https://bl6pap004files.storage.live.com/y4mvsQRAJY1c9rNrDhMQJA-QvvpwarmbeJJ8d4Brd0SCqfSUJO4IgrDo3C69c92_pnV1zj-z1BYl0HrKky7XhCjZ8BZiDDD09kqlkmfwHUOJR3tUDGyV3gWyUmQcngwUVMu5pKBhLFc8OQcrx2pbUsq-2nzZgqDTQNVyOd2BI1Sjtq9eavbQEEqXfGGqRECtC91?width=1658&height=927&cropmode=none" width="600">
3. 左側の**[サービス]**メニューをクリックし、カテゴリーの配下の**[Containers]**ボックスにチェックを入れる。  
<img src="https://bl6pap004files.storage.live.com/y4mky8MxSEar-QhV7SQrh1ioApTOC5DKzz2_0xGoagpvLjdpLJTOVTX5h1g91EY6mmhRCetvTeRxQwBaAPAocoz3Xxnx98j0MlmiwnOTAAUuNmzneHxY0glKuMYz6nF9PWQ8NBIAlYquTIxrVKG0Ew8Mnpj8KZ51XGFi-Sr25pZKzm4KpiBuupyQxbb7luM2ejV?width=1658&height=974&cropmode=none" width="600">
4. 右側のサービス画面から **[Code Engine]** を探してクリックする。
5. Code Engine画面に切り替わり、右側の**すぐに開始**から**[コンテナー・イメージの実行]**ボタンをクリックする。  
<img src="https://bl6pap004files.storage.live.com/y4mtmn01ExsCOyGLLpHzZNC3iLUbKv2iBwPPoA2FVFuLrRm5WjtYQ7vz2gjLbRkLAt5r7dS6-cjAyn8doFN6DszNb2wB5XqfuzsNOt7RPis0RoVIKMc3ICLGD9ygcK5W0tlS037MmnOUepLlgBTziLdu_Yvzqwby4n87znFTxd-w7DBSr2OoDaz9X89MXplgfI2?width=1658&height=812&cropmode=none" width="600">
6. Code Engineの**作成の開始** 画面が表示されるので、上から順番に各項目を設定していく。まず最初に、今回はサンプルアプリケーションの実行を行うため、**[アプリケーション]**が選択されている状態で進める。  
7. **名前**のボックスには、任意でアプリケーションの名前を入力する。※今後、複数のアプリケーションを作成する場合には、プロジェクト内で固有の名前を使用してください。  
8. 初回は、Code Engineのリソースを管理するためのプロジェクトを作成するために、**[プロジェクトの作成]**をクリックする。 　　
<img src="https://bl6pap004files.storage.live.com/y4moYYTKqnfaAtPntLNupXnY9sEEiES-MitJI2xJp5INlOXSFzFOgTH-H85OSpV0zgavm-68HGvj4QDfji3FsyxSyM_TWxU5iUpJrqcr6ljPnyk7rk5wTlo2WtUpnadyLfuksnmahzWw7AH5UjQzGh1T6vrWiv2vMa2TRC05RFhbUNWqrGEqu80LAShhY92MkL-?width=1050&height=999&cropmode=none" width="600">  
9. プロジェクトの作成画面が表示されたら、**ロケーション**を好みで変更し、**名前**に任意のプロジェクト名を入力して、右下の**[作成]**ボタンをクリックする。  
<img src="https://bl6pap004files.storage.live.com/y4mW2rvGJIxcvZ1AAjw6awuxq-4aICy00qpcKFKNK3KOLFZVJWhepyWEattLu6tdn9gOB5Xev25Aaq_8YzAW9i-kGaHaaNRQGmAIOD2YvIHBYHXXEH8ucUXs6A7JnV252qmjn3wtcekWlKGokzlFQHQ1FNrBoqVCuNDMipi293ADgwU9ZTTts6-NuN2dZdvpypu?width=552&height=1004&cropmode=none" width="400">
10. プロジェクト名が正常に作成されると、**プロジェクト**の下に作成したプロジェクト名が表示されることが確認できる。
11. 続いて、**実行するコードの選択**として、今回は、**[コンテナー・イメージ]**ラジオボタンが選択され、イメージ参照欄にサンプルとして試せる参照先(docker.io/ibmcom/codeengine)が表示されていることを確認する。  
※listenポートや、詳細なランタイム設定、環境変数などをオプション設定することもできますので、試したい方は試してみてください。  
<img src="https://bl6pap004files.storage.live.com/y4m154CbyufzQNeZrpe_qnZWXPIzQUC14dR4AkmNnUuLCoeS9MCsV8ZVsgAu0zU-rCflUcozfY4dWDPUMv0CDWHFJ1pDcwr_n0sgiVVqSkOfBnazeJ67wEpxXdfEFU0wlJUk4RnV1o9bclGhmBWA3THQQ8RPGJtQTwDlPw9s2COCHrSiG9Qx5SZz1L6NsQ4oiQd?width=962&height=1002&cropmode=none" width="600">  
12. Code Engineを開始するために必要な設定が終わったら、右側の**サマリー**セクションから**料金体系の説明**の内容を確認し、改めて価格について理解した上で画面右下の**[作成]**ボタンをクリックする。  
<img src="https://bl6pap004files.storage.live.com/y4mD5UB4ceFrozo-Khbz52U6Gp22bLahNZFGX78It_2UOjkfC-5jUeierv4BHBq5faj598j4Lk77Hv9fhB-wWIe9Tb5gPTr1sQ6uCUnyKdLdmkh40SoJuEAhYgCWPnMbp1BbPqxGwZEa3vNwjPfZJjlCIqxcMqSb2xq3IGyarNsaTssf5JHs_xcNI_7pPnFyW4c?width=427&height=999&cropmode=none" width="300">
13. 作成が開始されると、画面上に緑色のバーと**デプロイ中**とデプロイの状態が表示される。
<img src="https://bl6pap004files.storage.live.com/y4m5aHkI8eJ-NIqiL9PcursbE3VWJTkRAq_TE_c1DocYqZE7ecVq_bFCQiS7SG-lDaIfT9yXEE2xSfq3wqUXtXIJY6KmmdkKV1HiXnja6r74wUcEzWEVJQkzbSNUrCLnpR2QRyKafEOsrVXPuaZ1eBZiQj6oOZfqS8wgm_QwBABc-gc3POhawbaH3wsMKBEUQTr?width=1181&height=160&cropmode=none" width="500">  
14. アプリケーションのデプロイが完了すると、緑色の丸いチェックマークと**準備完了**と表示される。ここまできたら、次はアプリケーションの動作確認です。
15. 画面右の**テスト・ペイン**の**[要求の送信]**ボタンをクリックして、アプリケーションのテストを実行する。  
<img src="https://bl6pap004files.storage.live.com/y4mQDUXp07DBHsL1CNrGQCYDTby6EHE_ZoHlN4APJ5NlJQef7Egc1Czui7tin19ce5nZ3a7ZIVTiCWML0_p4QcShHCBQCdn970wiYLFjB4mFpdtYsk0y1bOE-t1kg-PuhkT8oh9McxGeqNVjDrMapzAfZnPv3Vm9br6895IPyfmUJFNSAOUXto_DtpSz4eHmrun?width=1706&height=983&cropmode=none" width="600">
16. 正常に応答が返ってくると、Code Engineの文字アートと出力結果が表示される。
<img src="https://bl6pap004files.storage.live.com/y4mYt498ucMu0X5qSbgIuCN25zjbv52fDiMv9Ue8FRnGVBH_l5XxAStn0X3xIMlkL0-DiYXlYltuNlJP-yoFuYc9i5ZCynS-kmMJjqavUPDSyNSSo26U8E685fiinA_kMVta2Zg1ok86PZYj-UY4xDs4u-mf0aug9k7Krqar6paQAVMNGcHSuh9GWKgGI3pnKMD?width=627&height=1010&cropmode=none" width="300">
17. 続いて、Webブラウザでアプリケーションを開いて確認するために、画面上の**[アプリケーションURLを開く]**の文字をクリックする。自動的にWebブラウザが公開されているサイトを表示する。  
<img src="https://bl6pap004files.storage.live.com/y4mOJQv9VT-cQh9g4FzWQNk-CVZI7UUCa0Pmk1UnYR3bMCm2ByhPWir4MguNZR1NIPpp0kbT1ksm5XE_rO4dCn54zmtIsaXw0Ur3GWUCcpmvBIZOYf6qLNymPcFY6Yn2ZpuyW2WaKPgurLTr0s9FvbSljMGLLfPkM2889Ht-nv3z16f5VIJ4pl3rjpBJZwJQ5l4?width=1262&height=897&cropmode=none" width="600">

操作はここで終わりです。いかがでしたでしょうか。無事にアプリケーションをCode Engineにデプロイして、テストすることを体験できましたでしょうか。

他にもソースコードから始める方法や、Code Engineにはジョブの実行などの機能も提供されていますので、公式サイトや他の方がQiitaで書かれた記事なども参考にしながら、コンテナ実行環境をサーバーレスで手軽に使うことができる世界を体感してみてください。

# 参考情報
* [IBM Cloud Code Engine 公式サイト](https://www.ibm.com/jp-ja/cloud/code-engine)
* [IBM Cloud Code Engineお役立ち情報 - IBM Cloud News](https://www.ibm.com/blogs/solutions/jp-ja/ibm-cloud-code-engine-useful-information/)
* [IBM Cloud Code Engine - IBM Cloud 資料](https://cloud.ibm.com/docs/codeengine?topic=codeengine-getting-started)

今回は以上となります。

Have a nice Code Engine day♪
※Twitterで最新情報配信中 [@ayatokura](https://twitter.com/ayatokura)