1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

図解で、IBM Code Engine(ソースコードから起動)

Posted at

図解で、IBMCloud, Code Engine(ソースコード編)

IBM Cloud の Code Engineは、サーバーレスのアプリ実行環境。アプリは、(1)コンテナイメージ、(2)ソースコード、(3)バッチジョブのいずれかから起動できる。AWSならBeanstalk、AzureならWebAppと同じかと思いきや、AWS Fargate, Lambda, Beanstalk そして Azure WebApp, Functions, Batch と同じことを IBM Cloud なら Code Engine ひとつだけで実行できるというので検証してみる。
image.png

Code Engine の中身

複数の仮想サーバーや物理サーバー上で稼働している複雑なコンテナ実行環境(Kubernetes + Knative + Istio + Tekton + 他)は、クラウドベンダーが管理・運用するマネージドサービスとして提供されるため、利用者はアプリをデプロイしたらすぐにインターネットからアプリにアクセスできる。アプリをインターネット公開するためのドメイン(URL)、SSLサーバー証明書、通信を暗号化するhttpsも全て備わっており、利用者が準備しなくてよい。
image.png

##(1)ソースコードを準備

  • Code Engine で実行するアプリは、Docker チュートリアルの ToDoアプリ を使う
  • CI/CDにはDockerfileを指定し、ビルドしたコンテナは IBM Container Registry に出力する
  • 作成したソースコードは、下記 GitHub リポジトリに保存した
  • https://github.com/IchiroKano/todoapp
    image.png

(2)IBM Code Engine を準備

IBMCloud 管理ポータルにログインしたら、新しいリソース Code Engine を作成する。
(2)-1. リージョンやプロジェクト名などを決めて Code Engine のプロジェクトを作成する
(2)-2. アプリを作成する(作成したプロジェクトの中に、複数のアプリを作成できる)
image.png

(2)-3. アプリの作成は、Github リポジトリのソースコードを選んだ
image.png

(2)-4. ビルド詳細の編集を確認する
image.png

(2)-5. アプリの設定を保存してデプロイする
image.png

(3)アプリにアクセスする

はじめてアプリにアクセスするとき、最小インスタンス数がゼロの場合は、アプリ起動に時間がかかります。ブラウザでURLをクリックしたら数秒待ちます。起動後はアプリがサクサク動きますが、しばらく使わないとすぐにインスタンス数がゼロに戻ります。いつでも素早く使うなら料金かかるけど最小インスタンス数を1以上にしないとダメですね。
image.png

まとめ

プログラミングするパソコンにはGithubのCLIだけ使えれば、ビルド環境も不要で、ソースコードを変更するだけで、サーバーやOSなどのインフラ知識がなくても IBM Code Engine サービスを使って簡単に素早くWEBアプリを起動できました。近い将来、仮想サーバー(IaaS)やKubernetesコンテナ基盤を構築して運用するインフラ担当の仕事は無くなってしまいそうです。
image.png

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?