Runというマネージドサーバ上でDockerコンテナを起動できるサービスが新たにリリースされました。Runの特徴が理解しやすいです。Runはコンテナとサーバレスのいいところを合わせたものと説明されています。コンテナのメリットは簡単にいうとなんでも自由に使うことができるという点ですね。任意のプログラミング言語を使える任意のフレームワークを使える任意のライブラリを使えるサーバレスのメリットはインフラの管理工数の削減と、利用分のみの請求という柔軟さですね。Runと説明されています。Runは下記手順で実行します。DefinePublishDeployまずはアプリケーションコードを含んだDockerfileの定義を行います。Repositoryにイメージを登録します。RunにデプロイすることでURLが発行されアプリケーションにアクセすることができます。Runには簡単に試せるチュートリアルが用意されているので試してみます。Runで起動するようにします。Runはbeta機能なのでいインストール、us-central1でしかまだ使えないのでリージョンを変更しておきます。us-central1Golangソースコードの準備ディレクトリを作成します。helloworld-gohelloworld.goに描きソースコードを書きます。BuildでビルドDockerfileを同じディレクトリに準備します。Buildでビルドします。Runにデプロイが完了するとURLが発行されます。gcr.io/[PROJECT-ID]/helloworldそのURLにアクセスすると初回アクセスはコールドスタートなので遅いですが、2回目以降はすぐにレスポンスが返ってくるようになります。LambdaのようなFaaSはサーバの管理が必要ないのでアプリケーション開発に集中することができます。RunはRuntimeやミドルウェアを自由に選択できるしかし、Runtimeを自由に選択したり、自由にミドルウェアを変更することができません。したがって、クラウドサービスが提供しているFaaSを使うということはそのサービス独自のシステムにロックインされること前提でした。Runはこのような問題を解決します。Run上で起動できるので、Runtimeとミドルウェアに制限がありません。Runではそれ以外のどんな言語でも使用できます。Runは自由にコンテナを作ってそれをマネージド環境で扱えるのは非常にメリットが大きいです。FirestoreやDynamoDBからのイベントをトリガーに起動できることなので、それぞれお使いどころは明確に分かれるなという印象です。Runではサーバの管理が必要になりません。Runが起動するネットワークをいじることはできません。VPCにもアクセスできません。Runは100ミリ秒単位で使用したCPU、メモリ、ネットワークに対しての課金となります。Runを使うことでお金以外のコストも下げることが可能になりそうです。LambdaをKubernetes上で起動できるknative-lambda-runtimeというものが登場していました。今後はクラウドプラットフォームに依存しないサーバレスかつコンテナを起動できるサービスが一つにトレンドになりそうです。Runはこれまでありそうでなかった、マネージド環境で自由にDockerコンテナを起動できる柔軟性が非常に高いサービスです。Runを積極的に使っていきたいなと思いました。Runは今後のトレンドとなるクラウドプラットフォームに依存しないバックエンド構築という点で要チェックな技術です。スマホゲームを作る子会社に所属し、サーバーサイドのエンジニアを担当。2年目の終わりから新規子会社の立ち上げに参加し、サーバーサイドのエンジニアリーダーとしてサービースのリリースから運用までを担当。Incにブロックチェーンエンジニアとして入社。09:30それが正しいですね。ご指摘ありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。GKEの違い技術ブログを英語に翻訳してMediumに投稿しておくべき理由RECOMMENDこちらの記事も人気です。