さくらの大納涼会2018 at 北海道にて、「技術が実現するイノベーションと◯◯」というテーマでの発表資料です
ٕज़͕࣮ݱ͢ΔΠϊϕʔγϣϯͱ WebαʔϏεӡ༻ͷະདྷลɹى2018/08/02 ͘͞Βͷେೲྋձ2018 at ւಓ
View Slide
ࣗݾհ• ล ى id:wtatsuru, @tatsuru• ͯͳɹγεςϜϓϥοτϑΥʔϜ෦ ɹɹɹɹνʔϑΤϯδχΞ• େֶϩϘίϯɺHPC• 2011ͯͳೖࣾɻͯͳϒϩάͷߏங
ٕज़͕࣮ݱ͢ΔΠϊϕʔγϣϯ• WebαʔϏεͷΠϯϑϥ = ཪํɺͰͳ͘• Πϊϕʔγϣϯʹͭͳ͍͛ͯͬͨ
ຊͷ༰• ʮͯͳʯʹ͍ͭͯ• Πϊϕʔγϣϯʹͭͳ͕ΔΠϯϑϥٕज़• ͯͳͷΠϯϑϥ࢙• αʔόཧπʔϧ͔ΒMackerel
ʮͯͳʯʹ͍ͭͯ
ͯͳ• 2001ɹژͰۀ• ࣾһ 100+ਓɺ͕ΤϯδχΞ• ౦ژɾژ2ڌମ੍• WebαʔϏεΛ࡞͍ͬͯ·͢• ͯͳϒϩάɺͯͳϒοΫϚʔΫ• MackerelɺϚϯΨϏϡʔϫɺetc.
ͯͳͷϛογϣϯʮΔʯʮͭͳ͕Δʯʮදݱ͢ΔʯͰ ৽͍͠ମݧΛఏڙ͠ɺਓͷੜ׆Λ๛͔ʹ͢Δ
ਓྗݕࡧͯͳ
ͯͳϒοΫϚʔΫ
ͯͳϒϩά
ͯͳϒϩά.FEJB
গδϟϯϓϧʔΩʔ
গδϟϯϓʴ
ΧΫϤϜ
ΠΧϦϯά̎
.BDLFSFM
࠷ۙͷͯͳϒοΫϚʔΫ ϒϩά ϊϋΞυςΫ اۀϒϩά#UP$#UP#
Πϊϕʔγϣϯʹͭͳ͕Δ Πϯϑϥٕज़
Πϊϕʔγϣϯ• WebαʔϏεͷΠϯϑϥٕज़ = ཪํʁ
Mackerel• ΤϯδχΞΛϫΫϫΫͤ͞Δ ʮײతαʔόࢹαʔϏεʯ• Infrastructure as Code ΛਐԽͤ͞ɺ ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢Δ
Mackerel• ࣾͷΠϯϑϥཧϊϋΛαʔϏεͱͯ͠ల։• ͜Ε͔ΒͷαʔϏεӡ༻ͷϕετϓϥΫςΟεΛఏҊ͠ଓ͚Δ
Πϊϕʔγϣϯʹͭͳ͕ͬͨ• ࣾͰΠϯϑϥཧΛޮԽͯ͠• ߟ͑ํΛચ࿅͍ͯ͘͠ͱ• ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢ΔαʔϏε
ͯͳͷΠϯϑϥ࢙
• ݹ 2001ʙ2004• தੈ 2004ʙ2007• ۙੈ 2007ʙ2011• ۙ 2011ʙ2014• ݱ 2014ʙͯͳγεςϜͷߟݹֶ https://speakerdeck.com/motemen/history-of-development-at-hatena
ݹ 2001ʙ2004• 2001 ਓྗݕࡧͯͳ• 2002 ͯͳμΠΞϦʔ
ݹ 2001ʙ2014jkondoɺେֶͷ༑ਓ stanaka ʹதݹPCΛΒ͍ॳͯͳαʔόʔͱ͢Δɻʮhanaseʯͱ໊͚ΒΕͨαʔόʔͯ͘ͳͷͨΊʹߩݙ͠ɺ ϋʔυΣΞͷୀޙϗετ໊ผͷαʔόʔʹड͚ܧ͕Ε͍ͯΔɻڭՊॻʹࡌΒͳ͍ʂͯͳͷྺ࢙ http://www.hatena.ne.jp/company/hatena10th/history
ݹ 2001ʙ2004ڭՊॻʹࡌΒͳ͍ʂͯͳͷྺ࢙ http://www.hatena.ne.jp/company/hatena10th/history
தੈ 2004ʙ2007• 2004 ͯͳάϧʔϓ• 2005 ͯͳϒοΫϚʔΫ
தੈͷαʔόཧ• ࣗ࡞αʔόத৺• wiki ཧ + MRTG• αʔόೖ࡞ۀ = ͔͋ͨͨΈͷ͋Δख࡞ۀ• ாߋ৽ɺMRTGߋ৽ɺࢹઃఆɺσϓϩΠઃఆ
ۙੈ 2007ʙ2011• 2007 ͘͞ΒΠϯλʔωοτiDCར༻։࢝• 2008 ຊࣾژҠస• 2008 ͯͳϒοΫϚʔΫϦχϡʔΞϧ
ۙੈͷ͓͜Γ͘͞ΒΠϯλʔωοτҠߦه#1 http://d.hatena.ne.jp/naoya/20070116/1168935694
։ൃମ੍ͷมԽ• νʔϜͰͷΛ࡞ΔΑ͏ʹ• ࣾϑϨʔϜϫʔΫɺඪ४ԽͷྲྀΕ• ΠϯϑϥνʔϜͷੜ
ۙੈͷΠϯϑϥ• ࣗ࡞αʔόશظ• Xen ʹΑΔԾԽ• ૿ՃɺߏͷෳࡶԽ• Ծαʔό1000ఔ
αʔόཧπʔϧੜ• αʔόཧπʔϧ = ॳmackerel ੜ• mackerel = ʮαόʯ• ࠷ॳ wiki + MRTG ͷ౷߹͔Β
ͯͳͷΠϯϑϥ͍·Ή͔͠ https://www.slideshare.net/stanaka/hatena-infrastructer-from-the-beginning
αʔόཧπʔϧੜ• ֤छπʔϧͷϚελʹͳ͍ͬͯͬͨ• ࢹ• ϝτϦοΫऩू• σϓϩΠ• ෦DNSͯͳͷΠϯϑϥ͍·Ή͔͠ https://www.slideshare.net/stanaka/hatena-infrastructer-from-the-beginning
ۙੈͷΠϯϑϥ• ·ͬ͞ΒͳαʔόΛ30Ͱຊ൪ೖͰ͖ΔΑ͏ʹ͢Δhttp://blog.stanaka.org/entry/20070728/1185605498
ۙ 2011ʙ2014• 2011 ͯͳϒϩάβϦϦʔε
ۙͷΠϯϑϥ• ࣗ࡞αʔόऴᖼɺϕϯμʔαʔό• ͞Α͏ͳΒɺࣗ࡞αʔόʔ http://blog.stanaka.org/entry/2014/03/07/201142• αʔό2000
ۙͷΠϯϑϥ• ͯͳϒϩάΛAWSʹߏங• Ϋϥυ׆༻ɺϋΠϒϦουߏ• Chef Ͱߏங• αʔόཧπʔϧͰཧͯͳϒϩάͷԼଆ https://www.slideshare.net/wtatsuru/jawsugkyoto2nd
ۙͷαʔόཧπʔϧ• ࣾͷαʔόཧπʔϧͷӡ༻ࢥཱ֬• ֓೦ͷݟ͠ɺ2ϑϧεΫϥον• αʔϏεɾϩʔϧͱ͍͏ू߹ͷ֓೦• ϗετใͷҰݩཧ• पลπʔϧͱૄ݁߹ʹ࿈ܞͯͳͷαʔόཧπʔϧͷ http://yapcasia.org/2013/talk/show/62304644-e25d-11e2-8767-0fa16aeab6a4ɹ
ۙͷαʔόཧπʔϧ• ଟ͘• ࢄRRDTool (ΫϥυͷߴϨΠςϯγI/OʹରԠ)• “λά” ֓೦ͰΑΓॊೈͳཧ• PushܕϝτϦοΫऩू mackereldͯͳͷαʔόཧπʔϧͷ http://yapcasia.org/2013/talk/show/62304644-e25d-11e2-8767-0fa16aeab6a4ɹ
ݱ 2014-• 2014 Mackerel ੜ
ݱͷΠϯϑϥ• ΫϥυͷྖҬ֦େ• DockerɺImmutable Infrastracture
Mackerel ੜ• ࣾͷαʔόཧπʔϧͷࢥΛSaaSImmutable Infrastructure࣌ͷαʔόʔཧ https://speakerdeck.com/stanaka/immutable-infrastructureshi-dai-falsesabaguan-li-number-immutableinfra?slide=6
αʔόཧπʔϧ͔ΒMackerel
Mackerel ʹड͚ܧ͕ΕΔࢥ• ϩʔϧɾϗετͱ͍͏ू߹ͷ֓೦• ϗετใͷҰݩԽ• पลπʔϧͱૄ݁߹ʹ౷߹͢Δ
Mackerel ͰมΘͬͨͷ• TSDB• RRDTool ͔Β Graphite • ࢹ• Pullܕ -> Pushܕ• ͍͍͢UI
ࣾυοάϑʔσΟϯά• ࣾͷઍͷڥͰτϥΠΞϧ• ࣌ܥྻDBͷෛՙࢼݧ• ϓϥάΠϯҠ২• ͍৺ͷϑΟʔυόοΫ
ࣾυοάϑʔσΟϯά• ࣄۀʹߩݙ• ϕετϓϥΫςΟεͷ୳ٻ
SaaSԽ• Mackerel 200ि࿈ଓϦϦʔε• ࣾͰ͍Εͳ͍ػೳ• →ࣾ֎ͷϑΟʔυόοΫ͔Βվળ• ࣾͷӡ༻վળ͍ͯ͘͠
SaaSԽͰมΘͬͨ͜ͱ• UI/UX͕Α͘ͳͬͨɿઐͷσβΠφ• ։ൃऀ͕ࢹΛݟͯɺվળ͍͚ͯ͠ΔΑ͏ʹ• ղͳઃఆɾϛυϧΣΞˠݟ͍͢UIɺ؆୯ͳઃఆ• ߴͳࢹɾӡ༻• ࣜࢹɺΞϥʔτͷάϧʔϓԽ
Mackerel͔Βੜ·ΕΔٕज़తઓ• ॻ͖ࠐΈϔϰΟͳϫʔΫϩʔυ• Ϋϥυ্ʹ࣌ܥྻDBΛߏங• ٻΊΒΕΔߴ͍Մ༻ੑ࣌ܥྻσʔλϕʔεͱ͍͏֓೦ΛΫϥυͷٕͰ࠶ߏங͢Δ https://speakerdeck.com/yuukit/the-rebuild-of-time-series-database-on-aws
Mackerel͔Βੜ·ΕΔٕज़తઓ• ΠϯϑϥΤϯδχΞ͕։ൃʹߩݙ͢ΔΩϟϦΞύε• Mackerel νʔϜʹॴଐͯ͠ɺӡ༻ʴ։ൃΛߦ͏• ࣍ੈͷαʔϏεӡ༻ϕετϓϥΫςΟεΛ࡞͍ͬͯ͘
͓ΘΓʹ
Πϊϕʔγϣϯ• ࣾͰΠϯϑϥཧͷྺ࢙͔Β• ϊϋΛSaaSͱͯ͠ఏڙ• ΤϯδχΞͷ։ൃɾӡ༻ϓϩηεΛֵ৽͢ΔαʔϏε
ࢀߟࢿྉ• ͯͳγεςϜͷߟݹֶ https://speakerdeck.com/motemen/history-of-development-at-hatena• ͯͳͷΠϯϑϥͷྺ࢙ɺͦͯ͠MackerelࢸΔಓͱ͜Ε͔Β http://songmu.github.io/slides/rakuten-tech-conf-2017/
Ҏ্Ͱ͢