はてなシステム構想 / The concept of Hatena System
by
Yuuki Tsubouchi (yuuk1)
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ͯͳγεςϜߏ ͯͳ id:y_uuki ϖύϘɾͯͳٕज़େձ@Ԭ
Slide 2
Slide 2 text
id:y_uuki / @y_uuk1 TSUBOUCHI Yuuki https://yuuk.io/ גࣜձࣾͯͳ WebΦϖϨʔγϣϯΤϯδχΞ / γχΞΤϯδχΞ / ςοΫϦʔυ / ج൫։ൃνʔϜϦʔμʔ
Slide 3
Slide 3 text
ͯͳγεςϜ
Slide 4
Slide 4 text
https://twitter.com/y_uuk1/status/722085103166296065
Slide 5
Slide 5 text
https://twitter.com/matsumotory/status/722085980375621632
Slide 6
Slide 6 text
https://twitter.com/matsumotory/status/722232813668274177
Slide 7
Slide 7 text
https://twitter.com/kentaro/status/722233495632764928
Slide 8
Slide 8 text
ͦͯ͠ɺ1ܦա
Slide 9
Slide 9 text
ͯͳγεςϜߏ ɾ1. Γ͍ͨ͜ͱ ɾ2. ͯͳγεςϜͱɹ ɾ3. Repairable Infrastructureɹ ɾ4. Experimentable Infrastructureɹ ɾ5. ·ͱΊɹ
Slide 10
Slide 10 text
1.Γ͍ͨ͜ͱ
Slide 11
Slide 11 text
ΤϯδχΞ͕ӡ༻ʹർฐͤͣʹ ੑΛൃشͯ͠ ָ͘͠։ൃͰ͖ΔΑ͏ʹ͍ͨ͠ ※ ※ಛʹɺSREɺWebΦϖϨʔγϣϯΤϯδχΞɺΠϯϑϥΤϯδχΞΛࢦ͢
Slide 12
Slide 12 text
Γ͍ͨ͜ͱ • ઓज़తͳγεςϜվળͷݶք͕Έ͖͑ͯͨ • ΤϯδχΞͷٕज़ʹΑΔղܾೳྗ͋͘͢͝Δͷ ͰɺγεςϜӡ༻ͷτΠϧ(࿑ۤ)ΛͬͱݮΒ͍ͨ͠ • γεςϜӡ༻͔Βղ์͞Εɺతͳ։ൃΛ͍ͬͯ ͖͍ͨ
Slide 13
Slide 13 text
ͳͥϏδϣϯ͔ • γεςϜʹର͢ΔϏδϣϯ͕·ͣඞཁͩͱײͨ͡ • ϏδϣϯͱͦΕʹجͮ͘ઓུΛܾఆ͢Δ͜ͱͰޮՌత ʹγεςϜΛվળ͍ͯ͘͠ • ͋͑ͯநతࢥߟΛਪ͠ਐΊΔ͜ͱͰݶքΛಥഁ͢Δ • ͳΊΒ͔ͳγεςϜ͕͖
Slide 14
Slide 14 text
2. ͯͳγεςϜͱ
Slide 15
Slide 15 text
ͯͳͷϏδϣϯ͔Βಋग़
Slide 16
Slide 16 text
http://hatenacorp.jp/information/mission ʮΔʯʮͭͳ͕Δʯʮදݱ͢Δʯ Ͱ৽͍͠ମݧΛఏڙ͠ɺ ਓͷੜ׆Λ๛͔ʹ͢Δ
Slide 17
Slide 17 text
http://hatenacorp.jp/information/mission
Slide 18
Slide 18 text
ޠ۟ͷΈൈਮ ΑΓଟ͘ͷΫϦΤΠλʔ ଟ༷ͳٕज़ ਓͷੜ׆ දݱ͢Δ
Slide 19
Slide 19 text
ਓͷੜ׆े => αʔϏεͷ࣌ؒతӬଓੑ දݱखஈଟ༷ => αʔϏεͷଟ༷ੑ
Slide 20
Slide 20 text
αʔϏε 100+ ϩʔϧ 1000+ ఏڙ 10years+ ※ ※͜͜Ͱ෦γεςϜεςʔδϯάڥΛؚΜͩγεςϜ୯Ґ
Slide 21
Slide 21 text
૿͑ଓ͚ΔαʔϏεΛޮΑ͘Քಇͤ͞Δ αʔϏεΛ10୯ҐͰՔಇͤ͞ଓ͚Δ
Slide 22
Slide 22 text
αʔϏεͷ ʮݸʯͱʮ࣌ؒʯʹରͯ͠ εέʔϧ͢Δ͜ͱΛࢦ͢
Slide 23
Slide 23 text
ͯͳʹ ͢Ͱʹଘࡏ͢Δཁૉٕज़͔Β ۩ମతͳϏδϣϯΛߟ͑Δ
Slide 24
Slide 24 text
3. Repairable Infrastructure
Slide 25
Slide 25 text
Droot https://github.com/yuuki/droot
Slide 26
Slide 26 text
Droot • DockerΞʔΧΠϒΛchrootͰ࣮ߦ͢Δ͚ͩͷܰྔΞϓ ϦέʔγϣϯίϯςφΤϯδϯ • Docker͕ఏএ͢ΔBuild -> Ship -> Runͷ֓೦Λղ͠ɺ ίϯςφΤϯδϯ෦ͷΈΛͯͳΒ࣮ͨ͘͠͠ͷ
Slide 27
Slide 27 text
ڊେͳج൫ιϑτΣΞʹ ର͢ΔΞϯνςʔθ
Slide 28
Slide 28 text
ڊେͳج൫ιϑτΣΞ • طଘͷج൫ιϑτΣΞ܈ͱͷ࿈ܞ͕͍͠ • ෆ҆ఆʹͳͬͨͱ͖ʹରॲͮ͠Β͍ • όʔδϣϯΞοϓ࣌ͷӨڹൣғ͕େ͖͍ • ͕ܦա͢Δͱɺ৽͍͠ͷೖΕସ͑ͨΓɺఫୀ͢ ΔՄೳੑ͋Δ • ӡ༻͢ΔΠϯϑϥετϥΫνϟʹ͔ͳ͍
Slide 29
Slide 29 text
ղͱ࠶ߏங
Slide 30
Slide 30 text
Γ͍ͨ͜ͱΛখ͞ͳཁૉʹ ղ͠ɺ࠶ߏங͢Δ UNIXֶͷΑ͏ͳߟ͑ํ
Slide 31
Slide 31 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Build Run Ship
Slide 32
Slide 32 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive Fetcher Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό Service Discovery
Slide 33
Slide 33 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive Fetcher Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό Service Discovery
Slide 34
Slide 34 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
Slide 35
Slide 35 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
Slide 36
Slide 36 text
ΞϓϦέʔγϣϯσϓϩΠϝϯτͷྫ Archive Registry Archive Builder Archive Uploader Deploy Server Archive Fetcher Service Discovery Archive Extracter Container Engine σϓϩΠλʔήοτ CIαʔό
Slide 37
Slide 37 text
۩ମతͳ࣮Λஔ Amazon S3 droot build awscli furoshiki stretcher Mackerel capze droot run σϓϩΠλʔήοτ CIαʔό
Slide 38
Slide 38 text
ղͱ࠶ߏங • ଟͷαʔϏεΛޮΑ͘ӡ༻͢Δʹڞ௨ج൫͕ඞཁ • ظӡ༻͢ΔαʔϏεมԽ͠ଓ͚Δ • ιϑτΣΞΛখ͘͞γϯϓϧʹղ͠ɺকདྷͷมߋʹ దԠͰ͖ΔΑ͏ʹ͓ͯ͘͠
Slide 39
Slide 39 text
Repairable मਖ਼ͷ༰қͳ ܽؕ෦Λमਖ਼͢ΔͨΊͷมߋΛہॴతʹԡ͑͞Δ͜ ͱ͕Ͱ͖,݁Ռͱͯ͠,ଞͷϓϩάϥϜϞδϡʔϧ,ଐจ ॻʹ࠷খݶͷӨڹ͔͠༩͑ͳ͍Α͏ͳιϑτΣΞ ʹؔͯ͠༻͍Δ༻ޠ. http://ejje.weblio.jp/content/repairable
Slide 40
Slide 40 text
Repairable Infrastructure
Slide 41
Slide 41 text
4. Experimentable Infrastructure
Slide 42
Slide 42 text
Q. ࠷࣌ؒΛͱΒΕ͍ͯΔ͜ͱʁ A. γεςϜͷߏঢ়گ͕Θ͔Βͳ͍ͱ ͖ͷௐࠪ
Slide 43
Slide 43 text
αʔϏε͕ଟ͍ αʔϏεͷྺ࢙͕͍ ☓ ෳࡶ =
Slide 44
Slide 44 text
γεςϜͷঢ়ଶͱৼΔ͍Λ ଊ͑ଓ͚Δ͜ͱͷॏཁੑ ʹؾͮ͘
Slide 45
Slide 45 text
Mackerel https://mackerel.io
Slide 46
Slide 46 text
Mackerel • αʔόཧɾࢹαʔϏε • ͱͱͯͳͷࣾπʔϧͩͬͨ • 2007લޙʹଟͷαʔϏεΛޮΑ͘ߏங͢ΔͨΊ ʹXen HypervisorΛಋೖ • Ծϗετ͕૿େ͠ɺExcelͰཧͰ͖ͳ͘ͳͬͨ • ϗετใΛϓϩάϥϚϒϧʹѻ͏MackerelΛ։ൃ
Slide 47
Slide 47 text
Mackerel αʔϏεͷଟ༷ੑΛ ղܾ͢ΔͨΊʹൃୡ͖ͯͨ͠
Slide 48
Slide 48 text
୯ͳΔࢹͰͳ͍
Slide 49
Slide 49 text
؍ଌ Observation
Slide 50
Slide 50 text
؍ଌ ࢮ׆ঢ়ଶ ϝτϦοΫ ϩά Πϕϯτ αʔό ߏཁૉ ཁૉಉ࢜ ͷؔ
Slide 51
Slide 51 text
ܧଓతͳ؍ଌʹΑΓ աڈΛΓɺݱࡏΛଊ͑Δ
Slide 52
Slide 52 text
͜͜·Ͱݟ͍͑ͯΔ ͦͷ࣍ʹΓͨ͘ͳΔ͜ͱ
Slide 53
Slide 53 text
ະདྷΛ༧ଌ͠ɺରԠ͢Δ
Slide 54
Slide 54 text
࣮ݧ Experiment
Slide 55
Slide 55 text
ϑΟʔυόοΫ੍ޚ
Slide 56
Slide 56 text
ϑΟʔυόοΫ੍ޚɺେنͰෳࡶ ͳγεςϜΛɺͨͱ͑γεςϜ͕֎ཚ ʹӨڹΛड͚Α͏ͱɺ͋Δ͍ɺݶ ΒΕͨࢿݯΛ༗ޮར༻ͭͭ͠ɺͦͷੑ ೳΛอͬͯಈ࡞ͤ͞ΔͨΊͷख๏Ͱ͢ɻ Philipp K. Janert ஶ, ʮΤϯδχΞͷͨΊͷϑΟʔυόοΫ੍ޚೖʯ,ΦϥΠϦʔɾδϟύϯ, 2014/07
Slide 57
Slide 57 text
ϑΟʔυόοΫ੍ޚͷ • ੍ޚରϒϥοΫϘοΫεͰ͋Γɺதෆ໌ͰΑ͍ • OpsΤϯδχΞ͕ΞϓϦέʔγϣϯͷதΛΒͣʹϞχ λϦϯά݁Ռ͚ͩΛΈͯোରԠ͢Δ༷ࢠʹࣅ͍ͯΔ • ॻ੶ʹαʔόͷͷௐΩϟογϡώοτͷԠ༻ྫ ͕͋Δ • WebγεςϜෳࡶ͗ͯ͢ཧϞσϧΛಋग़͢Δͷ͠ ͍ͨΊɺύϥϝʔλͷܾఆʹʮ࣮ݧʯʹΑΔܭଌ͕ඞཁ
Slide 58
Slide 58 text
ϑΟʔυόοΫ੍ޚͷಋೖΠϝʔδ • ੍ޚೖྗ: αʔόͷɺαʔόͷϝϞϦྔͳͲ • ੍ޚग़ྗ: ϨεϙϯελΠϜɺΤϥʔͳͲ • ੍ޚग़ྗΛࢹ͠ଓ͚ɺඪ͔Β֎ΕͨΒ੍ޚೖྗΛมߋ ͠ɺݩʹ͢Α͏ͳૢ࡞Λ͢Δ • ੍ޚೖྗʹରͯ͠ୡؔΛద༻͠ɺ੍ޚग़ྗΛಘΔ • ୡؔͷಉఆͱνϡʔχϯάɺ࣮γεςϜͰԠΛΈΔ ඞཁ͕͋Δ
Slide 59
Slide 59 text
ຊ൪ڥΛյ͢ͷෆ҆
Slide 60
Slide 60 text
ຊ൪ʹ͍ۙڥΛ࡞Δٕज़Λൃୡͤ͞ ύϥϝʔλΛ͔࣮͑ͯݧΛ܁Γฦ͠ɺ ϞσϧΛߏங͢Δ Container, Serverless Architecture, Shadow Proxyɺ
Slide 61
Slide 61 text
ຊ൪ڥ ࣮ݧڥ ؍ଌγεςϜ ࣮ݧ ಈ࡞ԠϞσϧ ϑΟʔυόοΫ ੍ޚ
Slide 62
Slide 62 text
࣮ݧΛݩʹະདྷͷ؍ଌΛ͢Δ
Slide 63
Slide 63 text
Experimentable Infrastructure
Slide 64
Slide 64 text
5. ·ͱΊ
Slide 65
Slide 65 text
ͯͳγεςϜ
Slide 66
Slide 66 text
αʔϏεͷ ʮݸʯͱʮ࣌ؒʯʹରͯ͠ εέʔϧͤ͞ΔͨΊʹ
Slide 67
Slide 67 text
ղͱ࠶ߏஙʹΑΓRepairableʹߏங͞Ε ؍ଌͱ࣮ݧͷϧʔϓΛߴʹճ͠ͳ͕Β ࣗతʹಈ࡞͢ΔExprimentableͳγεςϜ
Slide 68
Slide 68 text
http://hatenacorp.jp/recruit/career/operation-engineer WebΦϖϨʔγϣϯΤϯδχΞੵۃืूத