FastContainer: Webアプリケーションコンテナの状態をリアクティブに決定するコンテナ管理アーキテクチャ / FastContainer at IOT38

FastContainer: Webアプリケーションコンテナの状態をリアクティブに決定するコンテナ管理アーキテクチャ / FastContainer at IOT38

システムの要素を循環させることによって可用性を実現する基盤技術

松本亮介、近藤宇智朗*、三宅悠介、力武健次**、栗林健太郎 / ペパボ研究所 / *GMOペパボ / **力武健次技術士事務所
2017.06.24 第38回 情報処理学会 インターネットと運用技術研究会

2b692bd83f4418103142a053ecf5ff59?s=128

MATSUMOTO Ryosuke

June 24, 2017
Tweet

Transcript

  1. 1.

    γεςϜͷཁૉΛ॥؀ͤ͞Δ͜ͱʹΑͬͯՄ༻ੑΛ࣮ݱ͢Δج൫ٕज़ দຊ྄հɺۙ౻Ӊஐ࿕*ɺࡾ୐༔հɺྗ෢݈࣍**ɺ܀ྛ݈ଠ࿠ / ϖύϘݚڀॴ / *GMOϖύϘ / **ྗ෢݈ٕ࣍ज़࢜ࣄ຿ॴ 2017.06.24 ୈ38ճ

    ৘ใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ FastContainer: WebΞϓϦέʔγϣϯίϯςφͷঢ়ଶ ΛϦΞΫςΟϒʹܾఆ͢Δίϯςφ؅ཧΞʔΩςΫνϟ
  2. 16.

    มԽ͠ଓ͚Δ͜ͱ͔ΒಘΒΕΔ҆ఆੑ 16 ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ"

    ϗετ" ΍͕ͯఀࢭ ൓Ԡతʹىಈ ൓Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB HTTPϦΫΤετ ൓Ԡతʹ εέʔϧΞ΢τ • ϗετͷىಈͱఀࢭΛ॥؀ • ৗʹ॥؀͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ • ॥؀ͷ଎౓վળΛ௥ٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹ΋଱ੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ
  3. 18.

    HTTP FastContainerͷϑϩʔ 18 8FC1SPYZ ʢOHY@NSVCZ $.%# ʴ "1* -PDBM8FC1SPYZ OHY@NSVCZ

    $MJFOU ίϯςφ ίϯςφ ίϯςφ w )551ϦΫΤετͷ)PTUOBNF ΛΩʔʹɺ$.%# ߏ੒؅ཧ%# ͔Βίϯςφͷ৘ใΛऔಘ )551 4  ϦΫΤετ w ίϯςφͷ*1ͱϙʔτʹج͍ ͯίϯςφʹϓϩΩγ w ίϯςφ͕-JTUFO͍ͯ͠ͳ͍ ৔߹͸$.%#͔Βίϯςφ ৘ใΛಘͯىಈ $POUBJOFS&OHJOF IBDPOJXB
  4. 19.

    HTTPϦΫΤετܖػͰͷ௥Ճɾఀࢭॲཧ 19 -PDBM 8FC1SPYZ $.%# ʴ "1* ίϯςφ ίϯςφ w

    ϦΫΤετॲཧ࣌ʹίϯςφͷϦιʔε࢖༻ྔ͕ߴ ͘ͳͬͨ͜ͱΛݕ஌ͨ͠Β"1*ʹίϯςφͷ௥Ճࢦ ࣔʢ௿͘ͳͬͨΒ࡟আࢦࣔʣ w $.%#ʹίϯςφͷ৘ใ͕͋Ε͹ىಈͯ͠ϦΫΤετ Λసૹ w ىಈॲཧத͸ىಈࡁΈͷίϯςφʹҰ୴ϦΫΤετΛ సૹͯ͠ىಈޙʹৼΓ෼͚։࢝ 8FC1SPYZ w Ϋʔϧμ΢ϯλΠϜͱ͍͏֓೦Λઃ͚ɺසൟʹ௥Ճɾ ఀࢭॲཧ͕ൃੜ͠ͳ͍Α͏ʹࢦࣔڐՄ࣌ؒΛઃఆ ऩ༰αʔό ؂ࢹɾݕ஌
  5. 20.

    • ϦΫΤετ୯ҐͰߴ଎ʹεέʔϧΞοϓɾεέʔϧΞ΢τՄೳ • εέʔϧՄ൱ͷݕ஌΋ϦΫΤετ୯ҐͰ࣮ࢪ • Ұఆ࣌ؒܦա͔ͭϦΫΤετॲཧ͕ͳ͔ͬͨΒίϯςφఀࢭ • ίϯςφΛ࢖͍ࣺͯՄೳʹ → immutability

    • Ұఆ࣌ؒىಈ͢Δ͜ͱͰ౎౓ىಈΑΓߴ଎Խ → mortality • ίϯςφ͕ϦΫΤετΛॲཧ͍ͯ͠Δ࣌ؒͷΈ՝ۚ౳͕Մೳ 20 FastContainerΞʔΩςΫνϟͷ·ͱΊ
  6. 24.

    24 ࣮ݧ؀ڥ ߲໨ ࢓༷ $PNQVUF $16 .FNPSZ /*$ 04 *OUFM9FPO&()[DPSF

    (CZUF (CQT 6CVOUV,FSOFM 6TFS1SPYZ $16 .FNPSZ /*$ 04 *OUFM9FPO&()[DPSF (CZUF (CQT 6CVOUV,FSOFM $PSF"1* $16 .FNPSZ /*$ 04 *OUFM9FPO&()[DPSF (CZUF (CQT 6CVOUV,FSOFM $.%# $16 .FNPSZ /*$ 04 *OUFM9FPO&()[DPSF (CZUF (CQT 6CVOUV,FSOFM %BUB1PPM $16 .FNPSZ /*$ 04 *OUFM9FPO&()[DPSF (CZUF (CQT 6CVOUV,FSOFM OpenStackͰߏங͞ΕͨԾ૝ج൫্ Ͱ֤ίϯϙʔωϯτΛVM্Ͱ࣮૷ ͠ɺ࣮ݧΛ࣮ࢪɻ ίϯςφ͸phpinfo()͕ಈ࡞͢Δ mod_phpΛ૊ΈࠐΜͩApache࣮ߦ ؀ڥɻઃఆ͸σϑΥϧτɻCPU1ίΞ ͷ30%ɺϝϞϦ512MBΛׂΓ౰ͯɻ εέʔϧΞ΢τͱεέʔϧΞοϓͷਝ ଎ੑΛධՁ͢ΔͨΊʹɺ10ສϦΫΤ ετͷ5ສϦΫΤετ͔Βεέʔϧॲ ཧΛߦ͍ɺॲཧ͕٧·Δ͜ͱͳ͘ෛՙ ෼ࢄग़དྷ͍ͯΔ͔Λ֬ೝɻ
  7. 27.