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
インフラエンジニアとアプリ開発
Search
Yokoyama Tatsuo
September 12, 2017
Technology
0
150
インフラエンジニアとアプリ開発
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
12
2.4k
AWS Fargateでお手軽開発ブランチデプロイ/Easy development branch deployment with AWS Fargate
tatsuo48
0
85
HashiCorp Vaultを使った セキュアなDBアクセスの実現/Secure DB access with HashiCorp Vault
tatsuo48
0
1.6k
Terraformのレポジトリ、 ディレクトリ構成どうする?/Terraform repository, directory structure What should I do?
tatsuo48
6
2.8k
Other Decks in Technology
See All in Technology
【shownet.conf_】革新と伝統を融合したファシリティ
shownet
PRO
0
290
【shownet.conf_】持続可能な次世代Wi-Fi運用に向けて
shownet
PRO
0
300
SQLによるオブザーバビリティの進化とClickHouseの実力
mikimatsumoto
0
160
LeSSはスクラムではない!?LeSSにおけるスクラムマスターの振る舞い方とは / Scrum Master Behavior in LeSS
toma_sm
0
160
Strict Concurrencyにしたらdeinitでクラッシュする話
0si43
0
120
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
3
700
Low Latency Join Method for Distributed DBMS
yugabytejapan
0
120
業務ヒアリングと知識の呪い
tamai_63
0
200
LINEヤフー新卒採用 コーディングテスト解説 アルゴリズム問題編
lycorp_recruit_jp
0
13k
C# 13 / .NET 9 の新機能 (RC 1 時点)
nenonaninu
1
1.2k
All your memory are belong to… whom?
ennael
PRO
0
590
【shownet.conf_】3Dアプローチで守るセキュリティ
shownet
PRO
0
330
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
225
22k
A better future with KSS
kneath
236
17k
Designing for Performance
lara
604
68k
KATA
mclloyd
27
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
Speed Design
sergeychernyshev
22
470
Statistics for Hackers
jakevdp
796
220k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.5k
Scaling GitHub
holman
458
140k
Gamification - CAS2011
davidbonilla
80
5k
How to Ace a Technical Interview
jacobian
275
23k
Facilitating Awesome Meetings
lara
49
6k
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ͱ͔ϑϧελοΫΤϯδχΞͱ͔ ͳͷͰʁ
• ΈΜͳӽڥ͍ͯ͜͠͏ɻ৭ʑग़དྷͨํָ͕͍͠ɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠