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
スタートアップは Rails を使うべきか / Should Startups Ride on...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yuya Takeyama
December 08, 2018
Programming
7
2.7k
スタートアップは Rails を使うべきか / Should Startups Ride on Rails?
Yuya Takeyama
December 08, 2018
Tweet
Share
More Decks by Yuya Takeyama
See All by Yuya Takeyama
それぞれのペースでやっていく Bet AI / Bet AI at Your Own Pace
yuyatakeyama
1
770
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.7k
プロダクト開発、インフラ、コーポレート、そしてAIとの共通言語としての Terraform / Terraform as a Common Language for Product Development, Infrastructure, Corporate Engineering, and AI
yuyatakeyama
7
2.4k
Terraformで実現するHR Driven Provisioningとアクセス制御の自動化 / HR Driven Provisioning and automation of access control using Terraform
yuyatakeyama
1
1.5k
GitHub Actions/Docker/Terraform/Renovate で最小限の Monorepo CD パイプラインを作る / Minimalistic Monorepo CD Pipeline with GitHub Actions, Docker, Terraform and Renovate
yuyatakeyama
5
690
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
5
6.8k
スタディサプリ小中高のオブザーバビリティ / Observability in StudySapuri
yuyatakeyama
1
3k
How Quipper Works with CircleCI
yuyatakeyama
4
3.2k
Quipper のマイクロサービス化への道のり / Quipper's Road to Microservices
yuyatakeyama
5
2.3k
Other Decks in Programming
See All in Programming
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
230
Claude Code Skill入門
mayahoney
0
380
Codex の「自走力」を高める
yorifuji
0
1.2k
SourceGeneratorのマーカー属性問題について
htkym
0
200
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
450
AI 開発合宿を通して得た学び
niftycorp
PRO
0
120
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
190
CDIの誤解しがちな仕様とその対処TIPS
futokiyo
0
210
エージェント開発初心者の僕がエージェントを作った話と今後やりたいこと
thasu0123
0
250
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
Claude Codeログ基盤の構築
giginet
PRO
7
3.3k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
520
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
200
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
150
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
830
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
How to Talk to Developers About Accessibility
jct
2
150
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
970
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
110
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Transcript
スタートアップは Rails を使うべきか @yuya-takeyama SRE at Quipper
今日話すこと • スタートアップ期をとっくに終えた今も Rails を 使い続ける会社にいて感じていること • 副業含めてスタートアップやベンチャーの人から の相談に対して話してきたこと •
そういった中から感じた「魅力的な会社」と「働 き方」について
自己紹介 • @yuya-takeyama • 2015 年 9 月 ~ Web
Developer at Quipper ◦ Rails, React, React Native など • 2018 年 4 月 ~ SRE at Quipper ◦ Kubernetes を使ったプラットフォームの構 築、移行
自己紹介 • 副業 at 株式会社オクタウェル ◦ ヘルスケア系スタートアップ ◦ PHP, Laravel,
AWS Lambda (TypeScript), CircleCI 等
スタートアップは Rails を使うべきか
結論
好きなフレームワークを 使えばいいと思う
2018 年における Web アプリケーション • フロントエンドも含めて作り込まれていて当たり 前 ◦ SPA, SSR,
PWA... • フレームワークにはフロントエンドの開発も含め た機能セットが求められる • 一方でサーバサイドでは API だけで十分、とい う領域も増えてきた
そんな時代における Rails • 時代に合わせて進化を重ねている ◦ Asset Pipeline (Rails 3.1~) ◦
Webpacker (Rails 5.1~) ◦ API モード (Rails 5~) • 基本的にはフロントエンド・サーバサイドともに いい感じのデフォルトが提供されている ◦ Rails is omakasae (2012)
Rails is omakase の逆の側面 • Rails のやり方が気に入らなければ Rails を使わ なければ良い
◦ フロントエンドは Babel, Webpack, TypeScript のビルド環境を自分で整えて ◦ サーバサイドは Go の net/http で手書きの Middleware と共に • 自分で選んで自分で作っていく (大変ですね...)
2018 年における Rails • 相対的には Rails を使い続ける理由は減ってきて いると言える ◦ 単純にその他の選択肢が増えて、意味を持っ
てきた、という意味で • でも絶対的に Rails の価値が下がったとは言えな い (たぶん)
Quipper と Rails • 2012 には Rails を使い始めている (今年で 7
年 目) • MongoDB (というか MongoMapper) が足かせと なって 4.2 で止まっている... • Heroku, Deis を経て Kubernetes に • マイクロサービス化がまさに始まろうとしている ところ
Web アプリケーションの構成要素と寿命 • アプリケーションコード • インフラ・クラウド • 言語・フレームワーク・ライブラリ • データ
Web アプリケーションの構成要素と寿命 • アプリケーションコード • インフラ・クラウド • 言語・フレームワーク・ライブラリ • データ
<- たぶんこれが一番長生き
データさえちゃんとしていればなんとかなる • 枯れたデータストアをちゃんと選んで使う • ちゃんとメンテされる ORM を選ぶ ◦ または ORM
を使わず抽象化を必要最小限にと どめる • データのモデリングはしっかり考える
データさえちゃんとしていればなんとかなる • という前提を踏まえれば、極論好きなフレーム ワークを使えばいいと思う • 特に好みや技術的に特殊な条件がなければ Rails 自体は決して悪い選択肢ではない ◦ 本当にダメそうならその時方向転換すれば良
い
スタートアップが 選ぶべきインフラとは
Heroku はいいぞ
複数のスタートアップの人と話して感じたこと • AWS 利用率の高さ ◦ EC2 を手動で立てて git pull でデプロイしてい
たり ◦ ECS でデプロイの仕組みをめっちゃ頑張って 構築しようとしていたり • イケてなかった選定理由「投資家に言われたか ら」「知り合いの起業家が使っていたから」
複数のスタートアップの人と話して感じたこと • Heroku 利用率の低さ ◦ AWS に比べると Heroku を偉い人に通しづら い?
◦ ここを通せる腕力、または会社側に柔軟性が あると色々と良くなる • レイテンシをネックとしてあげるケースもある • プロダクトの構築・改善を最優先にすべきでは?
Heroku の良いところ • とにかくアプリケーションを立ち上げるまでが早 い! • 金でスケールできる • インフラとかコンテナのことを意識しなくて良い ◦
コンテナの偏りを直したりとか... • Review Apps, Add-on
Heroku の良いところ • 12 Factor App! ◦ サーバサイドアプリケーションにおけるアー キテクチャの養成ギプス ◦
これだけ守れてれば将来的にコンテナ化した り Kubernetes に載せること自体は全然難しく ない
おまけ: Heroku のレイテンシに関して • CDN を利用すればある程度改善できる (キャッ シュしない動的コンテンツでも) ◦ Edge
TLS Termination, Route Optimization, Dynamic Site Acceleration… ◦ Sinatra で 800 msec 程度が 500 msec 程度に ◦ 速くはないがそんなに悪くもない? (B2B サー ビスなら特に)
まとめ
スタートアップ期の会社にオススメしたいこと • フレームワークに何を使うかは些細な問題 ◦ データやモデルにこそ目を向けるべき • プロダクトの開発に集中するためにコストを使う ◦ Heroku はいいぞ,
Kubernetes は多分まだいい ◦ 他の PaaS でも楽できるならなんでもよし • 何をやる・やらないにしても理由づけを明確に ◦ 枯れた技術でもプロダクトをしっかり作れている会 社はそれだけで十分魅力的
エンジニアとスタートアップの関係性 • 働くならプロダクトに向き合えている企業 ◦ その分技術的負債を抱えていたとしても、自 分の知見で一気にレバレッジがかけられるか も ◦ 短期間・高単価で働けるチャンスもあるかも •
そういったことがあちこちで起これば業界全体の レベルアップにも繋がりそう