$30 off During Our Annual Pro Sale. View Details »

超個体型データセンターOSを目指した選択性を持つコンテナ実行基盤

 超個体型データセンターOSを目指した選択性を持つコンテナ実行基盤

超個体型データセンターOSを目指した選択性を持つコンテナ実行基盤

第5回Web System Architecture研究会(#wsa研)@福岡

2019/09/28

さくらインターネット株式会社
さくらインターネット研究所
上級研究員
まつもとりー / @matsumotory / 松本亮介

MATSUMOTO Ryosuke
PRO

September 28, 2019
Tweet

More Decks by MATSUMOTO Ryosuke

Other Decks in Research

Transcript

  1. ͘͞ΒΠϯλʔωοτגࣜձࣾ
    (C) Copyright 1996-2019 SAKURA Internet Inc
    ͘͞ΒΠϯλʔωοτݚڀॴ
    ௒ݸମܕσʔληϯλʔOSΛ໨ࢦͨ͠
    બ୒ੑΛ࣋ͭίϯςφ࣮ߦج൫
    2019/09/27 ্ڃݚڀһ দຊ ྄հ
    ୈ5ճWeb System Architectureݚڀձ(#wsaݚ)ˏ෱Ԭ

    View Slide

  2. 1. എܠͱ໨త
    2. ௒ݸମܕσʔληϯλʔ
    3. ෼ࢄγεςϜʹ͓͚Δબ୒ੑΛ࣋ͭίϯςφج൫ߏ૝
    4. ·ͱΊ
    2
    ໨࣍

    View Slide

  3. 3
    େن໛σʔληϯλʔͷूதͱٕज़എܠͷมԽ
    • σʔληϯλʔͷେن໛Խͱूத
    • ίϯϐϡʔλϦιʔεͱίετͷޮ཰Խ
    • Ϋϥ΢υར༻͕͜͜਺೥Ͱਵ෼ͱଅਐ͞Ε͖ͯͨ
    • ٕज़എܠͷมԽʹ൐ͬͯOSS΍αʔϏε΋ٸ଎ʹมԽ
    • ιϑτ΢ΣΞ΍ϕϯμʔʹڧ͘ґଘ͠ͳ͍มԽʹڧ͍ઃܭ͕ٸ຿
    • Ϋϥ΢υωΠςΟϒɾϚϧνΫϥ΢υɾϚΠΫϩαʔϏεԽ
    • εϚʔτγςΟɾεϚʔτϞϏϦςΟ
    • Edge/FogίϯϐϡʔςΟϯάɾྔࢠίϯϐϡʔςΟϯά

    View Slide

  4. 4
    σʔληϯλʔͷूத͔Β෼ࢄ
    • Ϋϥ΢υΛલఏʹϞϊϦγοΫͳαʔϏεઃܭ͔ΒϚΠΫϩαʔϏεԽ΁
    • αʔϏεͷ֤ػೳΛখ͞ͳαʔϏεͱ࣮ͯ͠૷͠gRPC౳Ͱ࿈ܞ
    • ೝূ΍ਪનɺͦͷଞ֤छػೳΛϚΠΫϩαʔϏεԽͯ͠૊Έ߹ΘͤΔ
    • ϚΠΫϩαʔϏεؒͰͷϨΠςϯγʔͷ௿ݮ͕ٻΊΒΕΔ
    • େن໛σʔληϯλʔͷڑ཭ʢ౦ژͱੴङؒʣͰ΋ٞ࿦͕ੜ࢝͡ΊΔ
    • αʔό͚ͩͰͳ͘ηϯαʔ΍σόΠεͷߴ౓Խɾଟ਺Խ
    • Edge/FogίϯϐϡʔςΟϯάɾεϚʔτγςΟɾεϚʔτϞϏϦςΟ
    • ϦΞϧλΠϜੑ΍ۙ๣ͰͷίϯϐϡʔλϦιʔεఏڙྔ૿Ճͷཁٻ

    View Slide

  5. 5
    σʔληϯλʔػೳ͕ࣾձʹ༹͚ࠐΉະདྷ
    • ֤ίϯϐϡʔςΟϯάػೳ͕ݸମͱͯ͠ػೳͭͭ͠૯ମͱͯ͠͸౷཰
    • ϥοΫϨϕϧͷίϯϐϡʔλ܈ɼEdge/FogίϯϐϡʔςΟϯάͳͲ
    • খɾதن໛σʔληϯλʔ͕ϋϒͱͳͬͯ݁Ռతʹશମ͕઀ଓɾߏ੒
    • ੜ׆ͷதͰਓʑ͕ίϯϐϡʔλͷΞγετΛৗʹड͚Δ࣌୅Λ໨ࢦ͢
    • ͍·͔ͩͭͯͳ͍ϚγϯύϫʔͱΠϯςϦδΣϯεͳػೳΛఏڙ
    • ࣾձʹ༹͚ࠐΉσʔληϯλʔػೳ͓ΑͼΫϥ΢υͷϚγϯύϫʔ
    • ௒ݸମܕσʔληϯλʔ͓ΑͼOSͱίϯηϓτΛఆΊΔ

    View Slide

  6. 6
    બ୒ੑΛ࣋ͭίϯςφ࣮ߦج൫
    • ௒ݸମܕσʔληϯλʔOSʹඞཁͳཁ݅ͱ͸
    • ݱ࣮తͳWebΞϓϦέʔγϣϯΛѻ͏ίϯςΩετͰ·ͣ͸ݕ౼
    • ίϯϐϡʔςΟϯάϦιʔε͕෼ࢄԽͨ͠ࡍͷίϯςφͷ͋Γํ
    • σʔληϯλʔOSΛʹ͓͚Δϓϩηε΍εϨουͱͯ͠ͷίϯςφ
    • ίϯςφͷϦΞΫςΟϒੑͷॏཁੑΛٞ࿦
    • ֤छίϯςφϥϯλΠϜΛબ୒తʹࣗ཯෼ࢄͨ͠DC΁ల։͢Δج൫΁

    View Slide

  7. ௒ݸମܕσʔληϯλʔ

    View Slide

  8. 8
    ͘͞ΒΠϯλʔωοτݚڀॴͷϑΥʔΧε


    T
    TF T
    AS
    T
    A
    A P
    A
    P
    R T
    T
    T
    RI
    V

    View Slide

  9. 9
    ݱࡏͷΫϥ΢υ͚ͩͰ໰୊͕ղܾͰ͖ΔΘ͚Ͱ͸ͳ͍
    • ΑΓҰ૚ந৅ԽͷਐΜͩΠϯλʔωοτͷ༷૬ͷมԽ
    • Ϋϥ΢υωΠςΟϒʹΑͬͯ͞ΒͳΔσʔληϯλʔͷڊେԽ
    • தԝूݖతͳίϯϐϡʔςΟϯάͰ͸೉͍͠έʔε
    • ϨΠςϯγ͕େ͖ͯ͘൑அ͕ؒʹ߹Θͳ͍ϦΞϧλΠϜ͕ཁٻ͞ΕΔέʔε
    • Edge/FogίϯϐϡʔςΟϯάɾεϚʔτγςΟɾεϚʔτϞϏϦςΟ
    • ࠓޙΫϥ΢υͷϚγϯύϫʔΛͲͷΑ͏ʹ׆༻Ͱ͖ΔੈքΛ໨ࢦ͢΂͖͔ʁ
    • ͘͞ΒΠϯλʔωοτݚڀॴͷίϯηϓτͱϏδϣϯΛ࠶ఆٛ

    View Slide

  10. 10
    ͘͞ΒΠϯλʔωοτݚڀॴͷϏδϣϯ

    View Slide

  11. ίϯηϓτɿ௒ݸମܕσʔληϯλʔ
    (໊෇͚਌͸࣮͸ @_tokibi ͞Μʣ

    View Slide

  12. 12
    ͦ΋ͦ΋௒ݸମͱ͸
    • ӳޠͰ͸superorganism
    • ࣾձੑࠛ஬ͷࣾձूஂΛҙຯ͢Δ͜ͱ͕ଟ͍
    • ࣾձֶ΍ੜ෺ֶɺܦࡁֶɺαΠόωςΟοΫεͷ෼໺ͳͲͰٞ࿦
    • ୯ػೳ͔ͭݸผͷػೳΛ࣋ͭݸମ͕૯ମͱͯ͠ݸମҎ্ͷৼΔ෣͍Λ͢Δ
    • ଟ਺ͷҟछͷݸମ͕ಠࣗʹಈ͕͘૯ମͱͯ͠͸ҰͭͷݸମͷΑ͏ʹৼΔ෣͏
    • ಉछͰߏ੒͞ΕΔ৔߹͸ݸମ܈΍ίϩχʔͳͲͱݺͿ৔߹΋
    • ͍͔ͭ͘εϚʔτγςΟͷจ຺Ͱ࿦จ΍دߘ͕͋Δ [1][2]
    [1] Franco Zambonelli, Toward Sociotechnical Urban Superorganisms, IEEE Computer Magazine, pp. 76-78, vol. 45, 2012.
    [2] Nicola Bicocchi, Alket Cecaj, Damiano Fontana, Marco Mamei, Andrea Sassi, Franco Zambonelli, Collective Awareness for Human-ICT
    Collaboration in Smart Cities, IEEE WETICE 2013, Volume: 1, Pages: 3-8, 2013.

    View Slide

  13. 13
    ίϯηϓτɿ௒ݸମܕσʔληϯλʔ
    1. ݱࡏ͸σʔληϯλʔʹڊେͳίϯϐϡʔςΟϯάϦιʔε͕ଘࡏ͍ͯ͠·͕͢ɺࠓޙ͸Ϩ
    ΠςϯγʗηΩϡϦςΟʗίετ౳ͷཁ͔݅Βɺ͋ΒΏΔ৔ॴ΍ࣾձɺ૊৫ʹίϯϐϡʔ
    ςΟϯάϦιʔε༹͕͚ࠐΜͰ͍͘͜ͱʹͳΓ·͢ɻ
    2. ͦΕΒ෼ࢄͨ͠ίϯϐϡʔςΟϯάϦιʔε͸ɺ୯ಠͰίϯϐϡʔςΟϯάύϫʔΛఏڙ͢
    Δʹཹ·Βͣɺͦͷ৔ॴ΍ࣾձͷཁٻʹԠͯ͡ɺࣗ཯తʹɺ෼ࢄ͋Δ͍͸༗ػతʹ݁߹͠ɺ
    ݱ৔ɾΫϥ΢υͦΕͧΕ͕ॎԣʹ݁ͼ͍ͭͨϋΠϒϦουߏ଄Λ࠾ΔΑ͏ʹػೳ͠·͢ɻ
    3. ͜ͷΑ͏ͳγεςϜʹΑΓ࣮ݱ͞ΕΔ΋ͷ͸ɺਓʑͷ਎ۙʹଘࡏ͠ɺϦΞϧλΠϜ͔ͭΠϯ
    ςϦδΣϯεʹϢʔβΛࢧ͑ͳ͕Βɺ͔͠͠ಉ࣌ʹόοΫΤϯυଆ͕༗ػతʹ݁߹͢Δ͜ͱ
    ʹΑΓɺ͔ͭͯͳ͍ϚγϯύϫʔͱϦιʔεྔΛಈһ͢Δ͜ͱͰݱ৔࠷ద͔ͭશମ࠷దΛ΋
    ࣮ݱ͢ΔSuperorganizm WorldͰ͢ɻ
    ฐॴ௕ͷ࿯๺ʹΑΔղઆIUUQTSFTFBSDITBLVSBBEKQDPODFQUWJTJPO

    View Slide

  14. 14
    ίϯηϓτͷ΋͏Ұͭͷ໾ׂɿٞ࿦Λ͓͜͢
    1. ݱࡏ͸σʔληϯλʔʹڊେͳίϯϐϡʔςΟϯάϦιʔε͕ଘࡏ͍ͯ͠·͕͢ɺࠓޙ͸Ϩ
    ΠςϯγʗηΩϡϦςΟʗίετ౳ͷཁ͔݅Βɺ͋ΒΏΔ৔ॴ΍ࣾձɺ૊৫ʹίϯϐϡʔ
    ςΟϯάϦιʔε༹͕͚ࠐΜͰ͍͘͜ͱʹͳΓ·͢ɻ
    2. ͦΕΒ෼ࢄͨ͠ίϯϐϡʔςΟϯάϦιʔε͸ɺ୯ಠͰίϯϐϡʔςΟϯάύϫʔΛఏڙ͢
    Δʹཹ·Βͣɺͦͷ৔ॴ΍ࣾձͷཁٻʹԠͯ͡ɺࣗ཯తʹɺ෼ࢄ͋Δ͍͸༗ػతʹ݁߹͠ɺ
    ݱ৔ɾΫϥ΢υͦΕͧΕ͕ॎԣʹ݁ͼ͍ͭͨϋΠϒϦουߏ଄Λ࠾ΔΑ͏ʹػೳ͠·͢ɻ
    3. ͜ͷΑ͏ͳγεςϜʹΑΓ࣮ݱ͞ΕΔ΋ͷ͸ɺਓʑͷ਎ۙʹଘࡏ͠ɺϦΞϧλΠϜ͔ͭΠϯ
    ςϦδΣϯεʹϢʔβΛࢧ͑ͳ͕Βɺ͔͠͠ಉ࣌ʹόοΫΤϯυଆ͕༗ػతʹ݁߹͢Δ͜ͱ
    ʹΑΓɺ͔ͭͯͳ͍ϚγϯύϫʔͱϦιʔεྔΛಈһ͢Δ͜ͱͰݱ৔࠷ద͔ͭશମ࠷దΛ΋
    ࣮ݱ͢ΔSuperorganizm WorldͰ͢ɻ
    ༗ػతͱ͸ʁॎԣͱ͸ʁ࠷దͱ͸ʁ
    → ੝Μʹٞ࿦Λ͓͜͢΂͋͑ͯ͘ᐆດͳϫʔυΛબ୒
    ฐॴ௕ͷ࿯๺ʹΑΔղઆIUUQTSFTFBSDITBLVSBBEKQDPODFQUWJTJPO

    View Slide

  15. ௒ݸମܕσʔληϯλʔOSͱίϯςφ

    View Slide

  16. 16
    ࠓίϯςφͷ໘ന͍ͱ͜Ζ
    • Ϋϥ΢υɾϗεςΟϯάۀքʹ͍ͨࣗ෼ͱͯ͠ཁૉٕज़͸͜Ε·Ͱͱಉ͕ͩ͡
    • ίϯςφΛऔΓר͘ΤίγεςϜ΍ඪ४Խ͕ੈքͰڠௐͯ͠ਐΈ࢝Ί͍ͯΔ
    • kubernetesɺistioͳͲͷαʔϏεϝογϡɺϚΠΫϩαʔϏε΁ͷ׆༻
    • Open Container Initiative(OCI)ɺContainer Runtime Interface(CRI)
    • CNCFΛத৺ʹ͜ΕΒͷݚڀɾઃܭɾ։ൃɾඪ४Խ͕੝ΜʹߦΘΕ͍ͯΔ
    • ಛʹΦʔέετϨʔγϣϯ΍࣮ݱࠔ೉ͩͬͨͱ͜ΖΛօͰڠྗͯٞ͠࿦ɾ։ൃ
    • ΞΧσϛΞͱاۀ͕ڠྗͯ͠ݚڀΛ࢝͠Ί͍ͯΔ

    View Slide

  17. 17
    ίϯςφͱ௒ݸମσʔληϯλʔ
    • ௒ݸମܕσʔληϯλʔʹ޲͚ͨσʔληϯλʔOSͱίϯςφ
    • ࣮༻తͳWebAppɼWordPressͱ͔ɼΛ͏·͘ಈ͔͍ͨ͠ͱ͍͏είʔϓ
    • ComputeͱDataͷ͏ͪCompute-Intensiveʹ·ͣ͸ண໨
    • ෼ࢄͨ͠σʔληϯλʔ্ʹಁաతʹ෼ࢄىಈ͢Δίϯςφ܈͕ඞཁ
    • ߴ౓ʹ෼ࢄͨ͠σʔληϯλʔ্ʹOSͷΑ͏ͳബ͍ϨΠϠʔ͕ඞཁ
    • ௒ݸମܕσʔληϯλʔOS্ʹϓϩηεͱεϨου͕ଘࡏ͢Δੈք؍

    View Slide

  18. 18
    ಁաੑͱίϯςφͷϦΞΫςΟϒੑͷॏཁ͞
    • σʔληϯλʔΛಁաత͔ͭ༗ػతʹίϯςφ͕ॲཧΛߦ͏ඞཁ͕͋Δ
    • ߴ౓ʹ෼ࢄͨ͠஍ཧతಛੑ౳Λҙࣝ͠ͳ͍Α͏ʹ͢΂͖
    • ࣄલ༧ଌతͰ͸ͳ͘൓ԠతʹΞΫηεมԽͱϦιʔεׂ౰ΛҰகͤ͞Δ
    • ίϯςφ͕ϦΞΫςΟϒʹঢ়ଶΛม͑ΒΕΔΑ͏ʹ͢Δඞཁ͕͋Δ※1
    ˞3ZPTVLF.BUTVNPUP 6DIJP,POEP ,FOUBSP,VSJCBZBTIJ 'BTU$POUBJOFS")PNFPTUBUJD4ZTUFN
    "SDIJUFDUVSF)JHITQFFE"EBQUJOH&YFDVUJPO&OWJSPONFOU$IBOHFT 5IFSE
    "OOVBM*&&&*OUFSOBUJPOBM$PNQVUFST 4PGUXBSF BOE"QQMJDBUJPOT$POGFSFODF $0.14"$
    +VMZ

    View Slide

  19. 19
    ಁաੑͱίϯςφͷϦΞΫςΟϒੑͷॏཁ͞
    • ௒ݸମతʹߴ౓ʹ෼ࢄͨ͠σʔληϯλʔΛލ͍ͩ༗ػతͳ࿈ܞ
    • ֤छίϯςφϥϯλΠϜΛϓϩηε΍εϨουͱݟཱͯΔ
    • ίϯςφؒͷ࿈ܞ΍αʔό΍σʔληϯλʔؒΛߴ଎ʹҠಈ
    • ঢ়ଶͷมԽʢఀࢭɾىಈΛؚΉʣΛՄೳͳݶΓ଎͘ಈ࡞ͤ͞Δඞཁੑ
    • ͋Δ͍͸ɺར༻ऀ͕ঢ়گʹԠͯ͡ඞཁͳϓϩηε΍εϨουΛબ୒Ͱ͖Δ
    • ैདྷͷOS্ͰΞϓϦέʔγϣϯΛ࣮૷͢Δࡍͷ࢖͍ํΛ౿ऻ

    View Slide

  20. 20
    dockerdΛܦ༝֤ͨ͠छίϯςφϥϯλΠϜ※1
    time sudo docker run --rm mizzy/hello:latest /hello
    time sudo docker run --rm --runtime=runsc mizzy/
    hello:latest /hello
    time sudo docker run --rm --runtime=kata-runtime mizzy/
    hello:latest /hello
    time sudo docker run --rm --runtime=runnc mizzy/
    hello:latest /hello.nabla
    time sudo docker run --rm --runtime=kata-fc mizzy/
    hello:latest /hello
    ˞দຊ྄հ ௶಺༎थ ٶԼ߶ี ෼ࢄܕσʔληϯλʔ04Λ໨ࢦͨ͠ϦΞΫςΟϒੑΛ࣋ͭίϯςφ࣮ߦج൫ٕज़
    ৘ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢ*05ʣ /P*05 7PM QQ ೥݄

    View Slide

  21. 21
    dockerdΛܦ༝࣮ͨ͠ߦ
    dockerd
    docker-containerd
    OCI
    runC
    Podͱίϯςφ܈
    docker

    View Slide

  22. ϝοηʔδ
    ηΩϡϦςΟ ࣮૷ྫ
    helloworldੑೳ
    (Pod+ίϯςφىಈ଎౓)
    ऩ༰ޮ཰
    (1ίϯςφ͋ͨΓͷϝϞϦͷ
    ϑοτϓϦϯτ)
    ϓϩηεܕ ωʔϜεϖʔεͷִ཭ runC 0.847 s
    docker: 50356 KB
    containerd-shim: 6124 KB
    ߹ܭ໿ 56 MB
    αϯυϘοΫεܕ
    ϢʔβϥϯυΧʔωϧ
    γεςϜίʔϧΞΫηε੍ޚ
    gVisor(runsc) 1.034 s
    docker: 50532 KB
    cintainerd-shim: 5812 KB
    runsc-gopher: 12296 KB
    runsc-sandbox: 18124 KB
    ߹ܭ໿ 85 MB
    ϢχΧʔωϧܕ
    ϢχΧʔωϧ෼཭
    (ઐ༻appΠϝʔδͱ࠷௿ݶͷ
    γεςϜίʔϧ੍ݶ)
    Nabla-Containers(runnc) 0.897 s
    docker: 50720 KB
    containerd-shim: 5512 KB
    nabla-run: 6684 KB
    ߹ܭ໿ 62 MB
    microVMܕ
    microVM
    (virtio-net,virtio-blockɼ
    serial console, a 1-button
    key-board controller)
    Firecracker
    (devmapper snapshotter)
    (Kata plugin)
    3.889 s
    docker: 1170808 KB
    docker-containerd-shim: 9960 KB
    kata-shim: 455664 KB
    firecracker: 145952 KB
    ߹ܭ໿ 1700 MB
    VMܕ VM Kata-Containers 2.415 s
    docker: 51056 KB
    containerd-shim: 6060 KB
    qemu-lite-system-x86_64: 227316 KB
    kata-proxy: 6132 KB
    kata-shim: 19536 KB
    ߹ܭ໿ 310 MB
    ೥݄࣌఺

    View Slide

  23. 23
    Pod͓Αͼίϯςφͷىಈ࣌ؒͱAppੑೳ
    • VM΍MicroVMΞϓϩʔν͸Podىಈʹ͕͔͔࣌ؒΔ
    • Pod͕ىಈͯ͠͠·͑͹AppͷΞΫηε੍ޚ͸ݫີͰͳ͍
    • ίϯςφ্ͷWebApp͸ൺֱతੑೳ͕ߴ͘ͳΔ
    • αϯυϘοΫ΍ϢχΧʔωϧͷΞϓϩʔν͸Podىಈ͸଎͍
    • AppͷγεςϜίʔϧ΍ϑΝΠϧΞΫηεΛ؂ࢹ͠ݫີʹΞΫηε੍ޚ
    • ίϯςφ্ͷWebApp͸ݪཧతʹੑೳ͕௿͘ͳΔ

    View Slide

  24. 24
    ௒ݸମܕDC/OSͷϓϩηε/εϨουʹؔ͢Δݚڀ
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ϓϩηε؅ཧػߏ
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ϓϩηε
    εϨου
    ϓϩηε ϓϩηε
    εϨου
    εϨου
    ɾར༻ऀͷ༻్ʹԠͯ͡ΞϓϦέʔγϣϯΛࣗ༝ʹϓϩηεܕ΍εϨουܕɺߋʹ͸ܰྔϓϩηεܕ౳Ͱ࣮ߦͰ͖Δ
    ɾϓϩηε΍εϨουΛϦΞΫςΟϒʹεέδϡʔϦϯά࣮ͯ͠ߦස౓ͷมԽͱϦιʔε࢖༻ྔͷมԽΛ͚ۙͮΔ
    ɾϓϩηε΍εϨου͸ίϯϐϡʔςΟϯά΍ར༻ऀͷঢ়گʹԠͯ͡ಁաతʹεέδϡʔϦϯάΛߦ͏
    ϓϩηε͸ɺྫ͑͹
    Pod͕VMͰִ཭͞Εͨ
    ίϯςφ܈ͱఆٛ
    εϨου͸ɺྫ͑͹
    Pod͸Ϣʔβʔϥϯυ
    ΧʔωϧͰִ཭͞Ε
    ͨίϯςφ܈ͱఆٛ
    ܰྔϓϩηε
    ܰྔϓϩηε͸ɺྫ͑͹Pod
    ͕࠷௿ݶͷVMͷԾ૝Խػೳͷ
    ΈͰִ཭͞Εͨίϯςφ܈ͱ
    ఆٛ
    εέδϡʔϥʔ
    ௒ݸମܕσʔληϯλʔOS

    View Slide

  25. 25
    ௒ݸମܕσʔληϯλʔʹ͓͚Δίϯςφ
    • ඞཁͳͱ͖΍ཁ݅ʹ߹Θͤͯద੾ͳίϯςφϥϯλΠϜΛબ୒తʹىಈ
    • OSʹ͓͚Δϓϩηε΍εϨουͷ࢖͍ํͱಉ༷
    • ίϯςφىಈ଎౓ͱىಈޙͷΞϓϦέʔγϣϯ଎౓ͷτϨʔυΦϑΛٞ࿦
    • ىಈ଎౓ͱىಈޙͷੑೳͷόϥϯεΛऔΔίϯςφϥϯλΠϜͷ༗Γํ
    • ֎తͳΞΫηε܏޲΍༧ଌͰ͖ͳ͍มԽʹϦΞΫςΟϒʹରԠͤ͞Δ
    • ϓϩηε΍εϨουؒͷ࿈ܞʹ͓͍ͯ΋ϗετಁաతʹॲཧ͢Δ
    • ߴ଎ʹίϯςφͷঢ়ଶΛมԽͤͨ͞ΓҠಈ͢Δݚڀ͕ඞཁ[1]
    [1] দຊ྄հɾ௶಺༎थɾٶԼ߶ี, CRIUΛར༻ͨ͠HTTPϦΫΤετ୯ҐͰίϯςφΛ࠶഑ஔͰ͖Δ௿ίετͰߴ଎ͳεέ
    δϡʔϦϯάख๏, IOT44, 2019೥3݄.

    View Slide

  26. ·ͱΊ

    View Slide

  27. 27
    ௒ݸମܕDC/OSʹ͓͚Δίϯςφج൫
    • ௒ݸମܕσʔληϯλʔͷίϯηϓτΛ঺հ
    • σʔληϯλʔػೳ͕ࣾձʹ༹͚ࠐΈͳ͕ΒΫϥ΢υͷϚγϯύϫʔΛ׆༻
    • ۩ମతͳϏδϣϯΛ঺հ
    • ར༻ऀͷ༻్ʹԠͨ͡બ୒తͳίϯςφϥϯλΠϜ࣮ߦج൫ͷߏ૝
    • ϦΞΫςΟϒੑ͕ཁٻ͞ΕΔέʔεͰ͸ϢʔβϥϯυΧʔωϧܕ
    • ىಈޙͷΞϓϦͷੑೳ͕ཁٻ͞ΕΔέʔεͰ͸VMִ཭ܕ
    • ίϯςφ΍VMΛεϨου΍ϓϩηεͷΑ͏ʹಁաతʹ࣮ߦ͢Δج൫

    View Slide

  28. 28
    ࠓޙͷ՝୊ͱݕ౼
    • OCIϥϯλΠϜͷ෼ྨʹ͓͍ͯߋʹݚڀ։ൃ
    • Podͱίϯςφ͕ΑΓ଎͘ىಈ͠ΞϓϦέʔγϣϯΛॲཧͰ͖Δݚڀ
    • ूੵ཰ɾੑೳɾηΩϡϦςΟɾ࢖͍΍͢͞ͷόϥϯεΛ͞Βʹݕ౼͢Δ
    • ߴ౓ʹ෼ࢄ͞Εͨίϯςφͷ৘ใΛ؅ཧ͢Δ࿮૊Έͷઃܭͱ࣮૷
    • ϦΞΫςΟϒͷจ຺Ͱߴ଎ʹϦιʔε৘ใΛऔಘɾ੍ޚͰ͖Δٕज़
    • Ϧιʔε৘ใʹج͍ͮͨྔࢠίϯϐϡʔςΟϯάʹΑΔ࠷దԽ໰୊ͷղܾ
    • ͋ͷͭΔ΂ʔ @tsurubee3 ͞Μ͕औΓ૊ΜͰ͍Δݚڀˢ

    View Slide

  29. 29
    ௒ݸମܕDC/OSͷ෼ࢄܕϦιʔε؅ཧʹؔ͢Δݚڀ
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ࣾձʹ༹͚ࠐΜͩϗετ
    ΍Τοδ౳ͷίϯϐϡʔ
    ςΟϯά܈
    ϓϩηε εϨου ϓϩηε
    ɾͲͷϗετ΍Τοδʹϓϩηε΍εϨου͕ىಈɾఀࢭɾҠಈ͞Εͯ΋Ϧιʔε؅ཧͰ͖Δ෼ࢄϦιʔε؅ཧγεςϜ
    ɾίϯηϯαεΞϧΰϦζϜͷҰ෦ػೳΛར༻ͨ͠ϝϯόʔγοϓ؅ཧͱ໋ྩͷฒྻԽʹΑͬͯϦιʔεΛ੍ޚ
    ɾ؅ཧऀ͕௒ݸମͷঢ়ଶʹ߹Θͤͯπʔϧ࣮ߦ͢ΔͷͰ͸ͳ͘πʔϧ࣮ߦʹ௒ݸମ͕ਖ਼͘͠൓Ԡͯ͠౴͑Λࣔ͢
    ܰྔϓϩηε
    Ϧιʔεঢ়گͷऔಘ
    Ϧιʔεͷ੍ޚ
    ϝϯόʔγοϓ؅ཧ
    ʴ
    ໋ྩฒྻԽ
    ؅ཧऀͷπʔϧ
    Ϧιʔεͷ੍ޚ
    Ϧιʔεঢ়گͷऔಘ
    ϓϩηε؅ཧػߏ
    ϝϯόʔγοϓ؅ཧ
    ʴ
    ໋ྩฒྻԽ

    View Slide