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
170
インフラエンジニアとアプリ開発
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
3k
AWS Fargateでお手軽開発ブランチデプロイ/Easy development branch deployment with AWS Fargate
tatsuo48
0
99
HashiCorp Vaultを使った セキュアなDBアクセスの実現/Secure DB access with HashiCorp Vault
tatsuo48
0
1.7k
Terraformのレポジトリ、 ディレクトリ構成どうする?/Terraform repository, directory structure What should I do?
tatsuo48
6
3k
Other Decks in Technology
See All in Technology
2025年春に見直したい、リソース最適化の基本
sogaoh
PRO
0
460
ElixirがHW化され、最新CPU/GPU/NWを過去のものとする数万倍、高速+超省電力化されたWeb/動画配信/AIが動く日
piacerex
0
100
OSSコントリビュートをphp-srcメンテナの立場から語る / OSS Contribute
sakitakamachi
0
1.3k
【2025年度新卒技術研修】100分で学ぶ サイバーエージェントのデータベース 活用事例とMySQLパフォーマンス調査
cyberagentdevelopers
PRO
4
6.3k
SRE NEXT CfP チームが語る 聞きたくなるプロポーザルとは / Proposals by the SRE NEXT CfP Team that are sure to be accepted
chaspy
1
560
IVRyにおけるNLP活用と NLP2025の関連論文紹介
keisukeosone
0
180
Amazon S3 Tables + Amazon Athena / Apache Iceberg
okaru
0
230
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #DevOpsDaysTokyo
takabow
0
190
LangChainとLangGiraphによるRAG・AIエージェント実践入門「10章 要件定義書生成Alエージェントの開発」輪読会スライド
takaakiinada
0
120
Amazon CloudWatch Application Signals ではじめるバーンレートアラーム / Burn rate alarm with Amazon CloudWatch Application Signals
ymotongpoo
5
300
近年の PyCon 情勢から見た PyCon APAC のまとめ
terapyon
0
280
食べログが挑む!飲食店ネット予約システムで自動テスト無双して手動テストゼロを実現する戦略
hagevvashi
1
160
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
104
19k
Docker and Python
trallard
44
3.3k
Git: the NoSQL Database
bkeepers
PRO
430
65k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
The Cult of Friendly URLs
andyhume
78
6.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
640
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The World Runs on Bad Software
bkeepers
PRO
67
11k
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ͱ͔ϑϧελοΫΤϯδχΞͱ͔ ͳͷͰʁ
• ΈΜͳӽڥ͍ͯ͜͠͏ɻ৭ʑग़དྷͨํָ͕͍͠ɻ
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠