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
actions/setup-go 完全に理解した
otakakot
1
21
Vendoring をやめたけどやめたのは正解だったのか
otakakot
0
56
t *testing.T は どこからやってくるの?
otakakot
1
1.1k
PostgreSQL を使った快適な go test 環境を求めて
otakakot
0
1.3k
Go で作った CLI ツールにバージョンを埋め込みたい
otakakot
0
240
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
2
620
組込みだけじゃない! TinyGo で始める無料クラウド開発入門
otakakot
1
160
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3.9k
SQLBoiler がメンテナンスモードになりまして
otakakot
0
370
Other Decks in Programming
See All in Programming
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
その節約、円になってますか?
isamumumu
1
640
自動化したのに回らないテスト運用の壁ーAI時代の品質責任と生産性
mfunaki
0
120
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
230
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
180
【やさしく解説 設計編・中級 #4】ルールの寿命と、システムの年輪
panda728
PRO
2
180
継続モナドとリアクティブプログラミング
yukikurage
3
670
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
250
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
Built Our Own Background Agent at LayerX #aidevex_findy
layerx
PRO
9
4.3k
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
190
AIが無かった頃の素敵な出会いの話
codmoninc
1
340
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
620
A Soul's Torment
seathinner
6
3.1k
How to make the Groovebox
asonas
2
2.3k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
Between Models and Reality
mayunak
4
380
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Prompt Engineering for Job Search
mfonobong
0
390
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
Believing is Seeing
oripsolob
1
180
Balancing Empowerment & Direction
lara
6
1.2k
Practical Orchestrator
shlominoach
191
11k
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 クラウド破産 いいなって思ったら 課金しましょう!