Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
インフラエンジニアとアプリ開発
Search
Yokoyama Tatsuo
September 12, 2017
Technology
0
180
インフラエンジニアとアプリ開発
Ruby on Rails を使ったサービス開発と組織(ブラケット × みんなのウェディング)
https://mwed.connpass.com/event/64633/
Yokoyama Tatsuo
September 12, 2017
Tweet
Share
More Decks by Yokoyama Tatsuo
See All by Yokoyama Tatsuo
SREとその組織類型
tatsuo48
13
3.5k
AWS Fargateでお手軽開発ブランチデプロイ/Easy development branch deployment with AWS Fargate
tatsuo48
0
110
HashiCorp Vaultを使った セキュアなDBアクセスの実現/Secure DB access with HashiCorp Vault
tatsuo48
0
1.9k
Terraformのレポジトリ、 ディレクトリ構成どうする?/Terraform repository, directory structure What should I do?
tatsuo48
6
3.1k
Other Decks in Technology
See All in Technology
HIG学習用スライド
yuukiw00w
0
110
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
300
Security Diaries of an Open Source IAM
ahus1
0
130
計算機科学をRubyと歩む 〜DFA型正規表現エンジンをつくる~
ydah
3
130
Databricksによるエージェント構築
taka_aki
1
140
セキュリティAIエージェントの現在と未来 / PSS #2 Takumi Session
flatt_security
3
1.5k
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
1.4k
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.1k
最近のLinux普段づかいWaylandデスクトップ元年
penguin2716
1
560
AIにおける自由の追求
shujisado
3
480
直接メモリアクセス
koba789
0
250
Bakuraku Engineering Team Deck
layerx
PRO
12
6.6k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
30
5.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Into the Great Unknown - MozCon
thekraken
40
2.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
It's Worth the Effort
3n
187
29k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Why Our Code Smells
bkeepers
PRO
340
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Transcript
ΠϯϑϥΤϯδχΞͱ ΞϓϦ։ൃ גࣜձࣾΈΜͳͷΣσΟϯά Πϯϑϥάϧʔϓ ԣࢁ ୡஉ
ࣗݾհ • ԣࢁୡஉ(@Yokoyama_tto) • ΈΜͳͷΣσΟϯάʹೖࣾͯͪ͠ΐ͏Ͳ1 • લ৬SIerͷαϙʔτσεΫ(2014/04~2016/08) • झຯɿόϯυɺεϊʔϘʔυ
1લͷࢲ
1લͷࢲ • ࣗࣾαʔϏεॳΊͯ • RailsॳΊͯ • ԿΛ࣭͢Δ͖͔Θ͔Βͳ͍ • AWSʹ͍ͭͯͪΐͬͱͬͯΔ
ΠϯϑϥΤϯδχΞͷࣄ
ΠϯϑϥΤϯδχΞͷࣄ(ੲ) • ωοτϫʔΫߏங • αʔόߏங • ߏஙͨ͠γεςϜͷӡ༻ɾࢹ
• ຊ൪ɺ։ൃڥͷߏཧ • ϩάऩूɺੳ ΠϯϑϥΤϯδχΞͷࣄ(ࠓ)
ฐࣾͷ߹
͍Ζ͍ΖΔ • جຊΠϯϑϥج൫ͷվળ׆ಈ • mobasif(چ)͔ΒRails(৽)ͷҠߦظؒ • چΞʔΩςΫνϟ͔Βͷ٫ࣄͷ͏ͪ • σʔλੳج൫ӡ༻(fluentdɺRedShift) •
CI࣮ݱͷͨΊͷج൫ߏஙӡ༻(ChatBot,CircleCI,CodeDeploy)
mobasif • DeNAͰΘΕ͍ͯͨΨϥέʔରԠͷϑϨʔϜϫʔΫ • 3ΩϟϦΞͦΕͧΕͷҟͳΔϒϥβ༷ʹ߹ΘͤΒΕΔ • PerlͰॻ͔Ε͍ͯΔ • ݟ௨͠ͷྑ͍ബ͍ϑϨʔϜϫʔΫ •
ฐࣾͱͱDeNAͷࣾϓϩδΣΫτͩͬͨͷͰར༻
৺͕͚͍ͯΔ͜ͱ • ಥൃతͳґཔɾτϥϒϧ͕ଟ͍ɻ • ৗʹ͋ΔఔͷόοϑΝʔΛ࣋ͬͯࣄ͢Δɻ • ΞϓϦέʔγϣϯΤϯδχΞʹ૬ஊ͞ΕͨΒɺΠϯϑ ϥΤϯδχΞͱͯ͠ΓํͷےಓΛ͑Δɻ(AWSͷ ͜ΜͳαʔϏε͏ͱΑͦ͞͏ͱ͔) •
ͦͷͨΊʹৗʹใऩू
ΠϯϑϥΤϯδχΞͷΈ
ΠϯϑϥΤϯδχΞͷΈ • ʹݟ͑ΔܗͰαʔϏεʹӨڹ͢Δ͜ͱ͕ͳ͍ • ͳʹ͍ͬͯΔ͔ཧղ͞Ε͍ͯͳͦ͞͏ • Πϯϑϥίετηϯλʔ • ಈ͍ͯͨΓલɻࢭΊͨΒΊͬͪΌౖΒΕΔɻ
ͦΜͳঢ়گΛଧഁ͢ΔͨΊʹ
ΞϓϦଆʹखΛग़͍ͯ͜͠͏
ΞϓϦଆʹखΛग़͍ͯ͜͠͏ • ΞϓϦͷੑೳվળ(εϩʔΫΤϦղফ) • ΞʔΩςΫνϟͷվળ(σʔϞϯͷsupervisorཧ) • RailsΛֶͿ(RailsνϡʔτϦΞϧͬͯΈΔ)
ΞϓϦͷੑೳվળ • εϩʔΫΤϦͷղফ • EXPLAIN͑͞Βͳ͍ঢ়گ͔Βελʔτ • ͱʹ͔͘ௐͯ৭ʑͬͯΈͨɻ • ݁Ռɺɺɺ
Before After ࣮ߦ͕࣌ؒ1/60
ΞʔΩςΫνϟͷվળ • mobasifͰࣗ࡞ͷϓϩάϥϜΛσʔϞϯԽͯ͠ ར༻ • αʔό࠶ىಈ࣌ʹࣗಈىಈ͠ͳ͍&མͪͨΒख ಈͰىಈ͠ͳ͖Ό͍͚ͳ͍ɻ • supervisorΛར༻Ͱ͖ΔΑ͏ʹվमɻsupervisor ͰσʔϞϯԽ͢ΔΑ͏ʹͨ͠ɻ
Supervisorͱ • http://supervisord.org/ • PythonͰॻ͔Ε͍ͯΔσʔϞϯԽπʔϧ • foregroundͰಈ͍͍ͯΔඞཁ͕͋Δ • ͱͱσʔϞϯԽ͞Ε͍ͯΔϓϩάϥϜͳ ͷͰforegroundͰಈ͔ͤΔΑ͏վम
RailsΛֶͿ • RailsνϡʔτϦΞϧͬͯΈΔ • ΞϓϦͷΈ͕Θ͔Δ͜ͱͰCIपΓʹख Λग़ͤΔΑ͏ʹͳͬͨ
ΠϯϑϥΞϓϦΛֶͼ࢝Ίͨ
ΞϓϦ͕ΠϯϑϥΛֶͿ൪
ͰͲ͏ͬͯʁ
ΠϯϑϥΛֶͿ • ݕূ༻ʹAWSͷΞΧϯτΛ࡞ • ݄ͷར༻ֹۚΛઃఆ͓ͯ͘͠($500͘Β͍) • AssumeRoleΛར༻͢Δ͜ͱͰ௨ৗͷΞΧϯ τ͔ΒγʔϜϨεʹར༻Մೳ
·ͱΊ
·ͱΊ • DevͱOpsͷ૬ޓཧղ͕େɻ • ΠϯϑϥΤϯδχΞΞϓϦͷ͜ͱΛֶͿɻ • ΞϓϦέʔγϣϯΤϯδχΞΠϯϑϥͷ͜ͱΛֶͿɻ • ͦͷઌʹ͋ΔͷSREͱ͔ϑϧελοΫΤϯδχΞͱ͔ ͳͷͰʁ
• ΈΜͳӽڥ͍ͯ͜͠͏ɻ৭ʑग़དྷͨํָ͕͍͠ɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠