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
11
3.6k
無料で楽しむ Go サーバー開発のススメ
The Go gopher was designed by Renée French.
https://golangtokyo.connpass.com/event/324882/
Kotaro Otaka
August 08, 2024
Tweet
Share
More Decks by Kotaro Otaka
See All by Kotaro Otaka
統一感のある Go コードを生成 AI の力で手にいれる
otakakot
1
3.4k
SQLBoiler がメンテナンスモードになりまして
otakakot
0
150
Wasm わからないけど Go で実装したいから入門する
otakakot
1
9.8k
cmp.Or に感動した
otakakot
3
810
net/http/httptest が推しです♡
otakakot
3
270
Go のテストで失敗をマークする
otakakot
1
220
Other Decks in Programming
See All in Programming
iOS 17で追加されたSubscriptionStoreView を利用して5分でサブスク実装チャレンジ
natmark
0
480
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
740
CSC305 Lecture 03
javiergs
PRO
0
230
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
150
いま中途半端なSwift 6対応をするより、Default ActorやApproachable Concurrencyを有効にしてからでいいんじゃない?
yimajo
2
310
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.8k
Swift Concurrency - 状態監視の罠
objectiveaudio
2
430
Back to the Future: Let me tell you about the ACP protocol
terhechte
0
120
なぜあの開発者はDevRelに伴走し続けるのか / Why Does That Developer Keep Running Alongside DevRel?
nrslib
2
350
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
1.6k
LLMとPlaywright/reg-suitを活用した jQueryリファクタリングの実際
kinocoboy2
4
660
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
2
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
The Cult of Friendly URLs
andyhume
79
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The Invisible Side of Design
smashingmag
301
51k
Raft: Consensus for Rubyists
vanstee
139
7.1k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Making Projects Easy
brettharned
118
6.4k
Code Review Best Practice
trishagee
72
19k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
54
3k
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 クラウド破産 いいなって思ったら 課金しましょう!