GCP GoLang

Cloud Runメモ

超絶いそがしくて更新できてません。

書くことはいっぱいあるんだけど。

  • キャンプ行った話
  • Firebaseハンズオンやった話
  • Firebaseハッカソンした話
  • wwgtでGoをお勉強した話
  • Google採用説明会に行った話

などなど。

初・技術書典にいく&初・出版で、今週で追い込みしています。

https://techbookfest.org/event/tbf07/circle/5636978284429312

wwgtのみなさんも超絶忙しいのに、レビューとかしてくれてとてもありがたいです。感謝感謝の雨霰。パパも文句言わずに好き勝手やらせていただいて助かってます。(あ、パパは例年通りまたNYCへ行きました。ナダル勝ってよかったデス。ディエゴは負けちゃったけど、ナダルに...)

いつもGoland使ってるから gofmt goimport golint とかって不要?と思ってたんだけど、wwgtの @micchiebear さんに指摘されて、今日はvscodeからやってみて、どんなものかわかってとてもお勉強になりました。

wwgt(@mom0tomoさんとか)とかソサエティ(@isamuaさんとか)の方のおかげで、gitの使い方もちょっとずつレベルアップしてる気がする..職場では使わんので、大変ありがたいです。

前置きが長くなってしまいましたが、本題へ...

今日は、ちょっと Cloud Runについてお勉強したので、そのメモです。

Cloud Run

Cloud Runって何?

Knativeがベース

Knative

  • ケーネイティブって呼ぶ
  • OSS
  • サーバーレスサービス

GCPサーバーレスコンピュート兄弟

  • Functions(Cloud Functions)
  • Apps(App Engine)
  • Containers(Cloud Run) new!

Cloud FunctionsとGAEはソースコードを渡して使うんだけど、Cloud Runはコンテナのイメージを渡すことによって動作するサービスです。

Cloud Runは二種類

Cloud Run

  • 完全にサーバーレス

→Cloud Runが実際に動作するサーバーを意識する必要がない

  • 管理するクラスタがない
  • 使った分だけお金かかる

Cloud Run on GKE

  • GKEのクラスタ上でサーバーレス
  • お金はGEK(クーバネティスエンジン)のクラスタに含まれる

Cloud Run 特徴

  • 高速デプロイ
  • ステートレスなコンテナ

高速に 0 to N スケール

→リクエストがこなくなるとコンテナのインスタンスが 0 になる

・コンテナのインスタンスを立ち上げている必要がない

・0の間は課金が発生しない

  • 数秒でデプロしURLを付与
  •  サーバーレス、ネイティブ
  • 管理するサーバーがない
  • コードに集中できる
  • 言語やライブラリの制限が一切ない
  • 使った分だけお金がかかる
  • ポータビリティが高い

でも同じ Developer Experience

フルマネージでもGKEクラスタ上でも

Knative APIの一貫性(Knativeにも移植しやすい)

ロックインの排除

Cloud Runはいまのところ4リージョン

  • TokyoもOK

アプリケーションの更新

  • コンテナが更新されるのではなくビルドし、コンテナを入れ替える

-GCP, GoLang