Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
無料で楽しむ Go サーバー開発のススメ
Search
Kotaro Otaka
August 08, 2024
Programming
4.3k
11
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
無料で楽しむ Go サーバー開発のススメ
The Go gopher was designed by Renée French.
https://golangtokyo.connpass.com/event/324882/
Kotaro Otaka
August 08, 2024
More Decks by Kotaro Otaka
See All by Kotaro Otaka
Vendoring をやめたけどやめたのは正解だったのか
otakakot
0
45
t *testing.T は どこからやってくるの?
otakakot
1
1k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
1.2k
Go で作った CLI ツールにバージョンを埋め込みたい
otakakot
0
230
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
600
組込みだけじゃない! TinyGo で始める無料クラウド開発入門
otakakot
1
160
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3.8k
SQLBoiler がメンテナンスモードになりまして
otakakot
0
360
Wasm わからないけど Go で実装したいから入門する
otakakot
1
11k
Other Decks in Programming
See All in Programming
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
340
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
160
はてなアカウント基盤 State of the Union
cockscomb
1
1.3k
Signal Forms: Details & Live Coding @enterJS 2026 in Mannheim
manfredsteyer
PRO
0
220
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
120
技術記事、 専門家としてのプログラマ、 言語化
mizchi
14
7.3k
エンジニア向け会社紹介/Findy Company Profile
findyinc
6
360k
symfony/aiとlaravel/boost
77web
0
120
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.8k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
360
スマートグラスで並列バイブコーディング
hyshu
0
280
Creating Composable Callables in Contemporary C++
rollbear
0
190
Featured
See All Featured
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
The agentic SEO stack - context over prompts
schlessera
0
840
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
210
Ruling the World: When Life Gets Gamed
codingconduct
0
270
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
We Have a Design System, Now What?
morganepeng
55
8.2k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
A Modern Web Designer's Workflow
chriscoyier
698
190k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
My Coaching Mixtape
mlcsv
0
170
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Transcript
#golangtokyo 無料で楽しむ Go サーバー開発のススメ おーたかこーたろー @otakakot The Go gopher
was designed by Renée French. The icon was designed by @avocadoneko. golang.tokyo #36 〜真夏のLTナイト2024〜 2024.08.08
#golangtokyo ※ 今日の内容は趣味レベルの話です
#golangtokyo サーバーどこにデプロイしていますか ... ???
#golangtokyo コスト気になりませんか ... ???
#golangtokyo クラウド破産 もし失敗して 大量の請求があったら ...
#golangtokyo クラウド破産 今日はコストを気にせず楽しめるサービスを紹介
#golangtokyo bio Web Engineer 新卒入社 2020 年 4 月 ~
Hello Golang ! 2021 年 4 月~ @otakakot @otakakot Web Engineer 株式会社ビットキー 2022 年 11 月 ~ Kotaro Otaka / 大高 浩太郎 The Go gopher was designed by Renée French. The icon was designed by @avocadoneko.
#golangtokyo アジェンダ 01. 3つのおすすめサービス 1. Koyeb 2. Cloudflare 3. Vercel
02. 事例紹介
#golangtokyo アジェンダ 01. 3つのおすすめサービス 1. Koyeb 2. Cloudflare 3. Vercel
02. 事例紹介
#golangtokyo 1. Koyeb https://www.koyeb.com/ • コンテナを無料でデプロイできちゃうサービス • (おすすめという割に私自身そこまで遊んでない) • 普段の
Go 開発と同じ体験でコンテナは用意 • 用意したコンテナを指定するだけでデプロイが可能 • ( 手軽にコンテナビルドできる ko というツールもおすすめ )
#golangtokyo 2. Cloudflare https://www.cloudflare.com/ • CDN ( Content Delivery Network
) やセキュリティ対策などを提供する サービス • エッジコンピューティングを活用した開発者向けのプラットフォームも提供 • Cloudflare Workers という FaaS ( Function as a Service ) にて無料でサー バー構築が可能
#golangtokyo • Cloudflare Workers は JavaScript (TypeScript) もしくは Wasm (Rust)
• syumai/workers を活用することで Go の開発が可能に • 参考: Goで始めるCloudflare Workers ( SpeakerDeck ) Cloudflare Workersで簡単にGoのHTTPサーバーを動かすためのライブラリを作った ( Zenn ) 2. Cloudflare
#golangtokyo • ほかにも無料で利用できるリソースが存在 ◦ Cloudflare Workers KV ( Key Value
Store ) ◦ Cloudflare D1 ( Edge SQLite ) ◦ Cloudflare R2 ( <-> AWS S3 ) • Cloudflare Workers の無料版の制限 ◦ デプロイサイズ上限が 1 MB ◦ 実行時間制限が 10 [ms] etc ... 2. Cloudflare
#golangtokyo 3. Vercel https://vercel.com/ • PaaS ( Platform as a
Service ) • Next.js ( React Framework ) からホスティングのイメージが強いが サーバーサイドの構築も可能 ◦ Vercel Functions • Go のデプロイも可能
#golangtokyo 3. Vercel • ほかにも無料で利用できるリソースが存在 ◦ Vercel Postgres ( RDB
) ◦ Vercel KV ( Key Value Store ) ◦ Vercel Blob ( ファイルストレージ ) ◦ Vercel Edge Config ( Read Only Datastore )
#golangtokyo 3. Vercel いくつか記事を書いたので気になる方がいましたらチェックしてみてください • Vercel に Go サーバーを無料でデプロイできるんです! ◦
紹介記事 • Vercel × Go で開発するときの Tips ◦ パスルーティングの話 • Vercel Storage を Go で扱う ◦ 各種 Storage を実際に Go で扱うサンプルコード
#golangtokyo アジェンダ 01. 3つのおすすめサービス 1. Koyeb 2. Cloudflare 3. Vercel
02. 事例紹介
#golangtokyo 事例紹介:Slack に送信した記事URLを収集するサービス • Slack の無料版で 90 日でメッセージが非表示になることがきっかけ • いろんな無料サービスを組み合わせる
• あえて複雑(?)にしたりして遊ぶ • Okteto という Kubernetes が無料で使えるサービスがメイン • Okteto の無料版が廃止になったため開発停止 ( + 飽きた ... ) ◦ 参考:【deprecated】oktetoで無料Kubernetesを遊び尽くす
#golangtokyo 事例紹介:Slack に送信した記事URLを収集するサービス
#golangtokyo おまけ • CockroachDB (PostgreSQL) • yugabyteDB (PostgreSQL) • Xata
(PostgreSQL) • Neon (PostgreSQL) • Upstash (Redis, Kafka, etc ... ) • Resend (メール送信)
#golangtokyo 事例紹介:OpenID Connect • Cloudflare で遊びたいなというモチベーション • 絶賛遊んでいる最中 • OpenID
Provider 側をデプロイ • Relying Party 側は手抜きでローカルのみ • Web 画面も手抜き • 実装コードを閲覧できますが OIDC として不完全なのであまり参考にはせず
#golangtokyo 事例紹介:OpenID Connect
#golangtokyo おまけ • Supabase • Deno Deploy JavaScript 実行環境 +
Wasm 対応 Deno Deploy は syumai/deno-deploy-scale-image で Go を利用
#golangtokyo まとめ 3つのおすすめサービス 1. Koyeb 最も手軽にデプロイ 2. Cloudflare 制限の中どう工夫するか 3.
Vercel 制限はゆるく連携するリソースもある
#golangtokyo さいごに ...
#golangtokyo クラウド破産 個人開発・趣味レベルの使い方
#golangtokyo クラウド破産 いいなって思ったら 課金しましょう!