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
一休での開発における改善の取組み /devops-at-ikyu
Search
kentana20
April 28, 2017
Technology
13
10k
一休での開発における改善の取組み /devops-at-ikyu
4/28(金) にDevOps推進協議会 で講演したときの資料です。
kentana20
April 28, 2017
Tweet
Share
More Decks by kentana20
See All by kentana20
一休.comでの開発組織改善の取り組みとこれから /improve-ikyu-devlove-x
kensuketanaka
24
37k
株式会社一休 会社紹介資料 / introduce-ikyu
kensuketanaka
15
110k
一休.com における改善事例のご紹介 /ikyu-storage-improvement
kensuketanaka
6
11k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
3.8k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
8.9k
ikyu-frontend
kensuketanaka
21
7.3k
sushi_route_2015
kensuketanaka
0
210
qiita meetup#12
kensuketanaka
4
71k
cross_2015_trave_ec
kensuketanaka
1
3.4k
Other Decks in Technology
See All in Technology
MUITにおける開発プロセスモダナイズの取り組みと開発生産性可視化の取り組みについて / Modernize the Development Process and Visualize Development Productivity at MUIT
muit
1
6.7k
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
530
ビギナーであり続ける/beginning
ikuodanaka
3
550
ビズリーチが挑む メトリクスを活用した技術的負債の解消 / dev-productivity-con2025
visional_engineering_and_design
1
3.1k
生成AI開発案件におけるClineの業務活用事例とTips
shinya337
0
190
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
390
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
250
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
3
940
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
110
なぜ私はいま、ここにいるのか? #もがく中堅デザイナー #プロダクトデザイナー
bengo4com
0
1.3k
OPENLOGI Company Profile for engineer
hr01
1
33k
Featured
See All Featured
Statistics for Hackers
jakevdp
799
220k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Bash Introduction
62gerente
614
210k
It's Worth the Effort
3n
185
28k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Being A Developer After 40
akosma
90
590k
Code Reviewing Like a Champion
maltzj
524
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Transcript
ҰٳͰͷ։ൃʹ͓͚Δ վળͷऔΈ 2017.4.28 גࣜձࣾҰٳ ాத ݈հ( @kentana20 )
About me • ాத ݈հ • @kentana20 • 20065݄͔ΒҰٳ •
॓ധαʔϏε։ൃ(9) →γεςϜຊ෦(2)
Agenda • Ұٳͷ͝հͱαʔϏεɺ։ൃ৫ʹ͍ͭͯ • αʔϏε։ൃʹޮ͘վળͷऔΈ • ·ͱΊ
Ұٳͷ͝հͱ αʔϏεɺ։ൃ৫ʹ͍ͭͯ
About Ұٳ.com
None
Ұٳ.com • ओྗαʔϏε • ্࣭ͳϗςϧɾཱྀؗͷ༧αʔϏε • 20005݄Φʔϓϯͷ16ࡀ
Ұٳ.com KPI (2015.03) • ձһ: 400ສ+ • ϗςϧ/ཱྀؗ: 2,600ࢪઃ+ •
ؒൢചࣨ: 189ສࣨ+
Ұٳ.comϨετϥϯ • ओྗαʔϏεͦͷ2 • ্࣭ͳϨετϥϯͷ༧αʔϏε • 20066݄Φʔϓϯ(11) • ݱࡏ࠷ྗ͍ͯ͠Δࣄۀ
͓ͱͳΓ͞·
։ൃ৫ʹ͍ͭͯ
ձࣾͷ৫ମ੍ ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦
֤ࣄۀ෦ͷΤϯδχΞਓ ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ 17໊ 15໊ 3໊ 14໊
αʔϏε։ൃͷମ੍ ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ &OHJOFFS Designer Sales Marketing
αʔϏε։ൃΛ୲͢Δ ΤϯδχΞ֤ࣄۀ෦ʹॴଐ
αʔϏε։ൃͷମ੍ ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ &OHJOFFS Designer Sales Marketing
αʔϏεڞ௨ͷ։ൃج൫ʢೝূͳͲʣɺ Πϯϑϥɺσʔλੳج൫ɺγε γεςϜຊ෦͕୲ &OHJOFFS
αʔϏε։ൃͷମ੍ ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ &OHJOFFS Designer Sales Marketing
&OHJOFFS
Ϣχοτ1 UI/UX Ϣχοτ2 Partner Alliance Ϣχοτ3 Application Platform αʔϏε։ൃΤϯδχΞ ϛογϣϯΛ࣋ͬͨϢχοτʹॴଐ
DevͱOps ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ %FW %FW %FW 0QT
%FW
DevͱOps ॓ധࣄۀຊ෦ Ϩετϥϯ ࣄۀຊ෦ ৽نࣄۀຊ෦ γεςϜຊ෦ %FW %FW %FW 0QT
%FW • ݖݶঠ͋Δͷͷɺ͔ͳΓͷݖݶΛ ։ൃΤϯδχΞʹ༩ • ຊ൪αʔόɺDBͷΞΫηε • ʑͷϦϦʔεӡ༻ etc.. • ຊʹॏཁͳ෦ͷΈΛอޢ • ݸਓใɺܾࡁɾਫ਼ࢉʹؔΘΔػೳͳͲ
ʑͷϦϦʔεӡ༻ • ݪଇͱͯ͠Pull RequestʹΑΔίʔυϨϏϡʔΛ௨ͬ ͨมߋͷΈΛϦϦʔε • σϓϩΠ։ൃऀ(Dev)͕ߦ͏ • σϓϩΠස •
॓ധ: 1ճ/ • Ϩετϥϯ: 10+ճ/
ࠓͷ͓ • ͲͷΑ͏ͳมભ/มԽΛܦͯ͜ͷΑ͏ͳ։ൃମ੍ʹ ͳ͔ͬͨ • Ұٳʹ͓͚ΔαʔϏε։ൃʹޮ͘վળͷࣄྫ • ࠓޙ༧ఆ͍ͯ͠ΔऔΈ
։ൃ৫ͷมભͱ αʔϏε։ൃʹޮ͘վળͷࣄྫ
2014 (2014/4~2015/3)
࣌ͷঢ়گ • ձࣾن • ձࣾن120໊ɺ͏ͪ։ൃϝϯόʔ40໊ऑ • ։ൃ৫ • ॓ധ: 20໊ऑ
/ Ϩετϥϯ: 12~3໊ / Πϯϑϥ: 5໊ • ֤෦Ͱύʔτφʔ(֎)Λ࠾༻͠ɺϓϩύʔ1໊ʹରͯ͠ৗறͷ ύʔτφʔ2~3໊ͱ͍͏ମ੍͕ओͩͬͨ
๊͍࣌͑ͯͨ՝ • ϢʔβՁΛఏڙ͢Δεϐʔυ͕Լ͍ͯͨ͠ • ࣭Լ / ։ൃޮԼ / ӡ༻ෛՙ /
ݖݶঠ • αʔϏε։ൃ/ӡ༻ʹΘΕΔʑͰɺࣗಈԽΛ͡Ίͱͨ͠ӡ༻վળ ৽͍ٕ͠ज़ɾαʔϏεͷಋೖ͕͍͔ͭͳ͍ • ӡ༻ෛՙ͕ঃʑʹ্͕Γɺஈʑͱ։ൃ͕Լ • ϓϩύʔΑΓύʔτφʔʹ։ൃφϨοδ͕ཷ·Γɺٕज़͕ۭಎԽ • DevͱOpsͷݖݶঠ͕ਐΈʮDev͕Ͱ͖ͳ͍͜ͱʯ͕૿Ճ
https://speakerdeck.com/kensuketanaka/modannaxian-chang-nisurutamenishi-jian-sitakoto
վળϓϩδΣΫτΛελʔτ • @naoya_ito ʹٕज़ސͱͯ͠֎෦͔ΒͷΞυόΠεΛґཔ • త: ʮϢʔβʹՁΛಧ͚ΔεϐʔυΛ࠷େԽ͢Δʯ • ՝ཧΛߦ͍ɺࣗͷݱঢ়ͱࢦ͢ܗɺվળʹ͚ͨΞΫγϣϯΛ ఆٛͯ͠શΤϯδχΞΛר͖ࠐΜͰϓϩδΣΫτΛ։࢝
None
վળͷऔΈ(2014) • ใڞ༗ج൫ͷඋ • Subversion → GitHub EnterpriseͷҠߦ • JenkinsΛͬͨCI/CDಋೖ
• Selenium WebDriverΛͬͨE2Eςετ • σβΠφʔΛר͖ࠐΜͩGit Flowͷߏங
վળͷऔΈ(2014) • ใڞ༗ج൫ͷඋ • Subversion → GitHub EnterpriseͷҠߦ • JenkinsΛͬͨCI/CDಋೖ
• Selenium WebDriverΛͬͨE2Eςετ • σβΠφʔΛר͖ࠐΜͩGit Flowͷߏங
ใڞ༗ج൫(Before) • πʔϧ • ϝʔϧɺઢɺRedmine • Έ • γεςϜि࣍ϛʔςΟϯά
• πʔϧ • ϝʔϧɺઢɺRedmine • Έ • γεςϜि࣍ϛʔςΟϯά • ݸʑͷҙࣝʹґଘͨ͠ใڞ༗
• ॓ധɺϨετϥϯɺΠϯϑϥͱίϯςΩετ͕ ҟͳΔϝϯόʔͰͷதͷബ͍ϛʔςΟϯά • ਐߦதͷҊ݅ϓϩδΣΫτͷ;Γ͔͑ΓͳͲ ΛΧδϡΞϧʹڞ༗͢Δ͕ͳ͍ Bad
ใڞ༗ج൫(After) • πʔϧ • Hipchat (ݱࡏSlack) / Qiita Team •
Έ • ேձ / Χϯόϯ / ;Γ͔͑Γ(KPT) • ΨΠυϥΠϯ • ֤πʔϧΈʹରͯ͠ΨΠυϥΠϯΛඋ
ใڞ༗ج൫(After) • πʔϧ • Hipchat (ݱࡏSlack) / Qiita Team •
Έ • ேձ / Χϯόϯ / ;Γ͔͑Γ(KPT) • ΨΠυϥΠϯ • ֤πʔϧΈʹରͯ͠ΨΠυϥΠϯΛඋ • ✔ ΨΠυϥΠϯʹԊ༷ͬͨͷڞ༗ • ✔ ίϯςΩετ͕ἧͬͨνʔϜຖʹேձΛ࣮ࢪ ͠ɺ༰ਂٞ͘Ͱ͖ΔΑ͏ʹ • ✔ Qiita TeamʹΑͬͯҊ༷݅ͷڞ༗͕Χδϡ ΞϧʹՄೳʹ Clear!
վળͷऔΈ(2014) • ใڞ༗ج൫ͷඋ • Subversion → GitHub EnterpriseͷҠߦ • JenkinsΛͬͨCI/CDಋೖ
• Selenium WebDriverΛͬͨE2Eςετ • σβΠφʔΛר͖ࠐΜͩGit Flowͷߏங
σϓϩΠϑϩʔ(Before) ϩʔΧϧ ڥ 3FQPTJUPSZ 4VCWFSTJPO $IFDLPVU $PNNJU 5BH 4UBHJOHڥ %FQMPZ
ຊ൪ڥ %FQMPZ ϩʔΧϧ ڥ 5FTU
σϓϩΠϑϩʔ(Before) ϩʔΧϧ ڥ 3FQPTJUPSZ 4VCWFSTJPO $IFDLPVU $PNNJU 5BH 4UBHJOHڥ %FQMPZ
ຊ൪ڥ %FQMPZ ϩʔΧϧ ڥ 5FTU ΄΅खಈ ΤϯδχΞ͕൪(िସΓ)Ͱ࣮ࢪ खಈ ΤϯδχΞ͕୲Ͱ࣮ࢪ
σϓϩΠϑϩʔ(Before) ϩʔΧϧ ڥ 3FQPTJUPSZ 4VCWFSTJPO $IFDLPVU $PNNJU 5BH 4UBHJOHڥ %FQMPZ
ຊ൪ڥ %FQMPZ ϩʔΧϧ ڥ 5FTU ΄΅खಈ ΤϯδχΞ͕൪(िସΓ)Ͱ࣮ࢪ खಈ ΤϯδχΞ͕୲Ͱ࣮ࢪ • దͳλΠϛϯάͰͷϨϏϡʔ͕ࠔ • σϓϩΠ࡞ۀɺखಈςετͷෛՙେ • ӡ༻ෛՙ͕ߴ͍͜ͱΛཧ༝ʹϦϦʔεස ि2ճ͔Β1ճ Bad
σϓϩΠϑϩʔͷඋ • GitHubɺJenkinsɺSeleniumΛͬͯσϓϩΠϑϩʔΛߏங • GitHubΛಋೖͯ͠ϓϧϦΫΤετϕʔεͷ։ൃ • masterϒϥϯνʹmergeͨ͠ΒࣗಈతʹJenkinsδϣϒ͕Staging ڥσϓϩΠ • StagingͷσϓϩΠSeleniumʹΑΔE2EςετΛ࣮ࢪ
σϓϩΠϑϩʔ(After) ϓϧϦΫmerge (खಈ) 4UBHJOH ϦϦʔε༻ ϓϧϦΫ࡞ ίʔϧ ϦϦʔε༻ ϓϧϦΫ࡞ ϓϧϦΫ63-
8FC)PPL %FQMPZ σϓϩΠ୲ Production %FQMPZ खಈ
ϒϥϯνઓུ NBTUFS GYYY GYYY GYYY DIFDLPVU NFSHF 1VMM3FRVFTU 4UBHJOH SFMFBTF
NFSHF 1VMM3FRVFTU Production
σϓϩΠϑϩʔ(Before) ϩʔΧϧ ڥ 3FQPTJUPSZ 4VCWFSTJPO $IFDLPVU $PNNJU 5BH 4UBHJOHڥ %FQMPZ
ຊ൪ڥ %FQMPZ ϩʔΧϧ ڥ 5FTU ΄΅खಈ ΤϯδχΞ͕൪(िସΓ)Ͱ࣮ࢪ खಈ ΤϯδχΞ͕୲Ͱ࣮ࢪ • ✔ Pull Requestϕʔεͷ։ൃͰॊೈʹϨϏϡʔ Մೳͳ։ൃϑϩʔ • ✔ ఆܕͷσϓϩΠɺςετࣗಈԽ • ✔ ϦϦʔεසि1ճ → ि2ճʹUp Clear!
2015 (2015/4~2016/3)
࣌ͷঢ়گ(2015) • ։ൃ৫ͷมԽ • ͯ͢ͷϢχοτͰαʔϏε։ൃΛ͢Δܗ͔Βɺ։ൃج൫උΛϝΠϯʹ࣮ ࢪ͢ΔνʔϜͱαʔϏε։ൃΛϝΠϯʹ͢ΔνʔϜͷׂ୲͕ঃʑʹਐߦ • ٕज़໘Ͱͷվળ • 2014ͷվળͰGitHubΛͬͨ։ൃϑϩʔɺܧଓతσϦόϦʔͳͲ։ൃ
ͷճΓͱͳΔΈ͍͍͍ͩͨͬͯͨ • ϓϩδΣΫτ։࢝ॳʹཱͯͨΞΫγϣϯΛ୨Է͠ɺ౮ͨ͠վળͷՐΛઈ ͞ͳ͍Α͏ʹܧଓ࣮ࢪ
վળͷऔΈ(2015) • ։ൃڥߏஙͷࣗಈԽ • ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ຊ൪૬DBΛͬͨ։ൃ • γεςϜͷݟ͑ΔԽ/ϦιʔεϞχλϦϯάڧԽ •
JenkinsʹΑΔCI/CDΛຊ൪ڥ·Ͱద༻ • ϨΨγʔίʔυͷվળ(ೝূج൫ͷMicroservices)
վળͷऔΈ(2015) • ։ൃڥߏஙͷࣗಈԽ • ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ຊ൪૬DBΛͬͨ։ൃ • γεςϜͷݟ͑ΔԽ/ϦιʔεϞχλϦϯάڧԽ •
JenkinsʹΑΔCI/CDΛຊ൪ڥ·Ͱద༻ • ϨΨγʔίʔυͷվળ(ೝূج൫ͷMicroservices)
ϦϦʔεલͷσϞɾϨϏϡʔ ϩʔΧϧ ڥ ։ൃ ςετ σβΠϯ ϨϏϡʔ σϞ ϦϦʔε ϩʔΧϧ
ڥ Engineer Marketing / CustomerService ର໘ͰϩʔΧϧڥΛͬͯ σϞɺϨϏϡʔ
ϦϦʔεલͷσϞɾϨϏϡʔ ϩʔΧϧ ڥ ։ൃ ςετ σβΠϯ ϨϏϡʔ σϞ ϦϦʔε ϩʔΧϧ
ڥ Engineer Marketing / CustomerService ର໘ͰϩʔΧϧڥΛͬͯ σϞɺϨϏϡʔ • ର໘ͰͷϨϏϡʔɾσϞ • ඇಉظʹΓͱΓͰ͖ͳ͍ • ϩʔΧϧڥͷ৴པੑ • ςετ༻ͷࢿࡐ͕͍ͬͯͨΓɺίϛοτ࿙ΕΛ ݕͰ͖ͳ͍ • ΤϯδχΞಉ࢜ͷίʔυϨϏϡʔ • ϨϏϡΞʔ͕ϩʔΧϧͰରͷϒϥϯνΛ Checkout(ϨϏϡʔෛՙߴ͍) Bad
ϒϥϯνσϓϩΠ(σϞ༻ڥ)
ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ։ൃதͷϒϥϯνΛࢦఆͯ͠ผڥʹσϓϩΠͰ͖Δπʔϧ • ༻్ • ίʔυϨϏϡʔ࣌ͷಈ࡞֬ೝڥͱͯ͠ • Marketing, CustomerService͚ͷσϞ༻ڥͱͯ͠
• RemotepushࡁͷࢿࡐΛͬͯڥΛߏங͢ΔͷͰίϛοτ࿙Εͷ ϦεΫͳ͘ͳΔ
ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ։ൃதͷϒϥϯνΛࢦఆͯ͠ผڥʹσϓϩΠͰ͖Δπʔϧ • ༻్ • ίʔυϨϏϡʔ࣌ͷಈ࡞֬ೝڥͱͯ͠ • Marketing, CustomerService͚ͷσϞ༻ڥͱͯ͠
• RemotepushࡁͷࢿࡐΛͬͯڥΛߏங͢ΔͷͰίϛοτ࿙Εͷ ϦεΫͳ͘ͳΔ • ✔ ඇಉظͰσϞɺಈ࡞֬ೝ͕Մೳʹ • ✔ ϩʔΧϧڥΛΘͣʹσϞ͕Ͱ͖Δ • ✔ ϨϏϡΞʔͷෛՙܰݮ Clear!
վળͷऔΈ(2015) • ։ൃڥߏஙͷࣗಈԽ • ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ຊ൪૬DBΛͬͨ։ൃ • γεςϜͷݟ͑ΔԽ/ϦιʔεϞχλϦϯάڧԽ •
JenkinsʹΑΔCI/CDΛຊ൪ڥ·Ͱద༻ • ϨΨγʔίʔυͷվળ(ೝূج൫ͷMicroservices)
ຊ൪૬DB • લͷຊ൪σʔλϕʔεΛϦετΞ&ݸਓใΛϚεΫͨ͠ͷ • ઃஔͷҙਤɾత • ຊ൪ʹΑΓ͍ۙσʔλͰ։ൃ͢Δ • ϢʔβͱಉͷମݧΛಘΔ
ݕࡧ݁Ռ(ຊ൪) ݕࡧ݁Ռ(ຊ൪)
ݕࡧ݁Ռ(ຊ൪) ݕࡧ݁Ռ(ຊ൪૬DB)
ݕࡧ݁Ռ(ςετ༻DB)
https://signalvnoise.com/posts/3251-running-beta-in-production
http://techlife.cookpad.com/entry/2014/10/03/110806
։ൃʹ͔ܽͤͳ͍ଘࡏ • ϒϥϯνσϓϩΠͱຊ൪૬DBΛΈ߹ΘͤΔ͜ͱͰຊ൪ʹݶΓͳ͘ ͍ۙڥͰσϞɺϨϏϡʔ͕Մೳʹ • ͍··Ͱؾ͚ͮͳ͔ͬͨ͜ͱ͕ؾ͚ͮΔΑ͏ʹͳͬͨ • ex. จࣈྻͷ͞ʹΑΔંΓฦ͠ɺύϑΥʔϚϯε •
ϦϦʔεޙͷखΓɺ༷มߋ͕ݮগ
վળͷऔΈ(2015) • ։ൃڥߏஙͷࣗಈԽ • ϒϥϯνσϓϩΠ(σϞ༻ڥ) • ຊ൪૬DBΛͬͨ։ൃ • γεςϜͷݟ͑ΔԽ/ϦιʔεϞχλϦϯάڧԽ •
JenkinsʹΑΔCI/CDΛຊ൪ڥ·Ͱద༻ • ϨΨγʔίʔυͷվળ(ೝূج൫ͷMicroservices)
࣌Α͋ͬͨ͘ޫܠ Engineer CustomerService ͳΜ͔͜ͷϖʔδʹΞΫηε ͢ΔͱΤϥʔʹͳΔΜ͚ͩͲ... ͪΐɺௐࠪ͠·͢!
࣌Α͋ͬͨ͘ޫܠ Engineer CustomerService ͳΜ͔͜ͷϖʔδʹΞΫηε ͢ΔͱΤϥʔʹͳΔΜ͚ͩͲ... ͪΐɺௐࠪ͠·͢! • Dev • ΞϓϦέʔγϣϯͷҟৗΛݕ͢ΔΈ͕ෆे
• αʔϏε͕݈߁Λҡ͍࣋ͯ͠Δͷ͔ɺͲ͔͜ҟৗ͕͋Δ ͷ͔ΛѲͰ͖͍ͯͳ͍ • Ops • ΞΫηεɺෛՙঢ়گͷϞχλϦϯά͕ेʹͰ͖͍ͯͳ ͍ Bad
ϩάϞχλϦϯάڧԽ • nxLog , Fluentdܦ༝ͰΞΫηεϩάɺΞϓϦέʔγϣϯϩάΛ elasticsearchʹೖΕͯkibanaͰՄࢹԽ • fluentdͰΤϥʔ༰ΛϦΞϧλΠϜʹSlackʹ௨
kibana
kibana
https://speakerdeck.com/shoichiron/roguhuan-jing-todevops-xiu-dot-comdefalseshi-li
࣌Α͋ͬͨ͘ޫܠ Engineer CustomerService ͳΜ͔͜ͷϖʔδʹΞΫηε ͢ΔͱΤϥʔʹͳΔΜ͚ͩͲ... ͪΐɺௐࠪ͠·͢! • Dev • ✔
ΞϓϦέʔγϣϯͷҟৗΛϦΞϧλΠϜʹݕՄೳʹ • Ops • ✔ αʔϏεʹඞཁͳϝτϦΫεΛμογϡϘʔυʹ·ͱΊ ͯϞχλʹӨ Clear!
2016 (2016/4~2017/3)
࣌ͷঢ়گ(2016) • ։ൃ৫ͷมԽ • νʔϜຖͷׂ(ϛογϣϯ)͕ΑΓ໌֬Խ • ॓ധ: UI/UXɺύʔτφʔΞϥΠΞϯεɺٕज़ϓϥοτϑΥʔϜ • Ϩετϥϯ:
UI/UXɺΞϓϦɺϏδωεϑΝϯσʔγϣϯ • ٕज़໘Ͱͷվળ • ΫϥυҠߦʹ͚ͯେ͖͘ΛͬͯXaaSΛϑϧ׆༻
վળͷऔΈ(2016) • ΦϯϓϨϛε͔ΒΫϥυ(AWS)ͷҠߦ • Infrastructure as Code • σʔλੳج൫ͷඋʹΑΔσʔλͷຽओԽ •
ϫʔΫϑϩʔΤϯδϯͷಋೖ(Rundeck) • CTOϨϏϡʔ / Ռൃදձ
վળͷऔΈ(2016) • ΦϯϓϨϛε͔ΒΫϥυ(AWS)ͷҠߦ • Infrastructure as Code • σʔλੳج൫ͷඋʹΑΔσʔλͷຽओԽ •
ϫʔΫϑϩʔΤϯδϯͷಋೖ(Rundeck) • CTOϨϏϡʔ / Ռൃදձ
Infrastructure as Code • DNSઃఆͷίʔυཧɺσϓϩΠࣗಈԽ
Infrastructure as Code • γεςϜߏΛTerraformͰίʔυཧ
Infrastructure as Code • ͲͪΒCircle CIͰσϓϩΠ·Ͱ࣮ࢪ • ❌ ϚωδϝϯτίϯιʔϧͰखಈૢ࡞ •
⭕ ߏΛίʔυͰཧͯ͠มߋCIͰ࣮ࢪ
վળͷऔΈ(2016) • ΦϯϓϨϛε͔ΒΫϥυ(AWS)ͷҠߦ • Infrastructure as Code • σʔλੳج൫ͷඋʹΑΔσʔλͷຽओԽ •
ϫʔΫϑϩʔΤϯδϯͷಋೖ(Rundeck) • CTOϨϏϡʔ / Ռൃදձ
σʔλੳج൫(Before) • ETLॲཧ(جװσʔλϕʔεGoogleAnalytics͔ΒੳʹඞཁͳσʔλΛந ग़ →ੳ༻σʔλϕʔεߏங) • ߋ৽ස: 1ճ/ • σʔλ:
2Ε • खಈ࡞ۀଟ͘ɺߋ৽࡞ۀʹޕલத͍ͬͺ͍͔͔Δ • ੳϨϙʔτ • Excelϕʔε͕ओ
σʔλੳج൫(Before) • ETLॲཧ(جװσʔλϕʔεGoogleAnalytics͔ΒੳʹඞཁͳσʔλΛந ग़ →ੳ༻σʔλϕʔεߏங) • ߋ৽ස: 1ճ/ • σʔλ:
2Ε • खಈ࡞ۀଟ͘ɺߋ৽࡞ۀʹޕલத͍ͬͺ͍͔͔Δ • ੳϨϙʔτ • Excelϕʔε͕ओ • खಈ࡞ۀ͕ଟ͘ɺࣗಈԽ͍ͯ͠Δ෦ͨ·ʹ ࣦഊ͢Δ • ࢪࡦ࣮ࢪޕޙҎ߱ • ExcelͰՄࢹԽ Bad
ߋ৽ॲཧΛࣗಈԽ
ՄࢹԽ • Re:dash • ΦʔϓϯιʔεͷσʔλՄࢹԽϓϥοτϑΥʔϜ • MySQL, BigQuery, Redshift, ElasticsearchͳͲΛσʔλιʔεʹ
ͯ͠ΫΤϦͷ࣮ߦ݁ՌΛՄࢹԽͰ͖Δ
Re:dash
ܒ
ܒ • σʔλͷஔ͖ɺՄࢹԽͷํ๏ΛΦʔϓϯʹ͠ ͯ୭Ͱσʔλநग़͕ߦ͑ΔΑ͏ʹ • ❌ XX ͞Μʹґཔͯ͠σʔλΛग़͢ • ⭕
σʔλΛݟ͍ͨਓ͕ࣗͰͭ͘Δ • ⭕ ࡞ͬͨσʔλURL(Re:dash)Ͱڞ༗ σʔλΛຽओԽ
վળͷऔΈ(2016) • ΦϯϓϨϛε͔ΒΫϥυ(AWS)ͷҠߦ • Infrastructure as Code • σʔλੳج൫ͷඋʹΑΔσʔλͷຽओԽ •
ϫʔΫϑϩʔΤϯδϯͷಋೖ(Rundeck) • CTOϨϏϡʔ / Ռൃදձ
CTOϨϏϡʔ • ֤νʔϜ͕࣮ࢪ͍ͯ͠Δٕज़՝ͷऔΈΛCTOʹนଧͪ͢Δձ • ٕज़՝ͷੳɺղফ͚ͨΞϓϩʔνɺਐḿঢ়گΛڞ༗͠ͳ ͕ΒϨϏϡʔΛ࣮ࢪ
Ռൃදձ • ֤νʔϜ͕औΓΜͩϓϩδΣΫτͷՌΛൃද͢Δձ • ࠒऔΓΜͰ͍Δۀ͕ͲΜͳՌʹͭͳ͕ͬͨͷ͔ɺಋೖͨ͠ ৽͍ٕ͠ज़/ػೳ͕ͲΜͳΈͰಈ͍͍ͯΔ͔ • ϓϨθϯࢿྉʹ·ͱΊͯετοΫ͓ͯ͘͜͠ͱͰɺ৽͍͠ϝϯόʔ ͕ೖͬͨͱ͖ʹܦҢؚΊͯݱঢ়ͷཧղΛਂΊΔ͜ͱظ
Ռൃදձ
http://techlife.cookpad.com/entry/2016/09/16/192927
ݱࡏͷঢ়گͱ ࠓޙ༧ఆ͍ͯ͠ΔऔΈ
ݱࡏͷঢ়گ • ։ൃ৫ͷมԽ • ֤αʔϏεɺKPIͷऀʹΤϯδχΞɺσβΠφʔΛूΊͯ ʮతܕͷ৫ʯʹҠߦ • νʔϜ͝ͱͷΛΑΓ໌֬ʹ • ٕज़໘Ͱͷվળ
• ΫϥυԽɺXaaSಋೖʹΑͬͯվળ͕ਐΈɺϨΨγʔίʔυγεςϜΞʔΩ ςΫνϟͳͲγεςϜຊջ෦ͷ՝ʹ͔͑Δঢ়گʹ • αʔϏε/ϓϩμΫτͷ՝ʹԊͬͨՕॴͰͷվળϑΥʔΧε
վળͷऔΈ(ݱࡏ) • ֤αʔϏεઐଐͷΠϯϑϥϝϯόʔ(SRE) • γεςϜΞʔΩςΫνϟͷ৽ • CRMࢪࡦڧԽʹ͚ͨߦಈϩάج൫ͷඋ • ϑϩϯτΤϯυ։ൃج൫ͷ࠶ઃܭ
·ͱΊ
·ͱΊ • ׂܖܗଶͷִͨΓ͕ബ͘ͳͬͨ • ։ൃ৫ͷมԽͱٕज़໘ͰͷվળΛܧଓͨ݁͠Ռɺʮ։ൃ(Dev)ͱӡ༻(Ops)ʯ ʮϓϩύʔͱύʔτφʔʯͱ͍͚͕ͬͨ۠ബ͘ͳͬͨ • վળܧଓతʹ • ҰඈͼͰΖ͏ͱͯ͠Ռʹͭͳ͕Βͳ͍ͷͰಓʹίπίπ
• 1ਓͰΔͷͰͳ͘ɺ֤ϝϯόʔ͕ಘҙͳ͜ͱΛΔ • αʔϏε/ϓϩμΫτͷՌʹͭͳ͕Δ͔͕࠷ॏཁ • ٕज़తʹਖ਼ͯ͘͠ఏڙ͢ΔαʔϏεʹޮ͔ͳ͚ΕՌͱͯ͠ෆे
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠