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
100k
一休.com における改善事例のご紹介 /ikyu-storage-improvement
kensuketanaka
6
11k
開発合宿@京都 /hack-camp-kyoto
kensuketanaka
0
3.8k
一休.comにおけるデプロイフローと自動化 /ikyu-deploy-flow
kensuketanaka
9
8.8k
ikyu-frontend
kensuketanaka
21
7.2k
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
Platform Engineering for Private Cloud
cote
PRO
1
130
Cursorをチョッパヤインタビューライターにチューニングする方法 / how to tuning cursor for interview write
shuzon
2
280
使えるデータ基盤を作る技術選定の秘訣 / selecting-the-right-data-technology
pei0804
10
1.7k
Developer 以外にこそ使って欲しい Amazon Q Developer
mita
0
190
SONiCにて使用されているSAIの実際
sonic
0
310
Software Delivery Observability CI・CD , DORA metrics も Datadog で可視化しよう / datadog-ci-cd-observability
parupappa2929
0
170
LLMベースAIの基本 / basics of LLM based AI
kishida
7
1.5k
ITベンダーから見る内製化支援の本質/in-house-dev
slsops
1
180
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
190
Опыт использования Nessie в Азбуке Вкуса
emeremyanina1234
0
440
4月15日の AZ 障害をテクサポの中の人目線で振り返ってみる
kazzpapa3
3
190
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
3
250
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
430
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.3k
Docker and Python
trallard
44
3.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Why Our Code Smells
bkeepers
PRO
336
57k
Bash Introduction
62gerente
613
210k
Agile that works and the tools we love
rasmusluckow
329
21k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
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ਓͰΔͷͰͳ͘ɺ֤ϝϯόʔ͕ಘҙͳ͜ͱΛΔ • αʔϏε/ϓϩμΫτͷՌʹͭͳ͕Δ͔͕࠷ॏཁ • ٕज़తʹਖ਼ͯ͘͠ఏڙ͢ΔαʔϏεʹޮ͔ͳ͚ΕՌͱͯ͠ෆे
͝੩ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠