超絶いそがしくて更新できてません。
書くことはいっぱいあるんだけど。
- キャンプ行った話
- 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
アプリケーションの更新
- コンテナが更新されるのではなくビルドし、コンテナを入れ替える