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

はてなのサーバプロビジョニングについて / Hatena Engineer Seminar #6

はてなのサーバプロビジョニングについて / Hatena Engineer Seminar #6

Yusuke Hagihara

September 02, 2016
Tweet

Other Decks in Technology

Transcript

  1. ͸ͯͳͷαʔόϓϩϏ
    δϣχϯάʹ͍ͭͯ
    id:hagihala

    View Slide

  2. ࣗݾ঺հ
    • ഡݪ༔հ (͸͗͸ΒΏ͏͚͢)
    • id:hagihala
    • γεςϜϓϥοτϑΥʔϜ෦γχΞΤϯδχΞ
    • ొࢁɺثցମૢ(தֶɾେֶ)ɺόΠΫɺήʔϜɺଞ
    • ࠷ۙςϯτധొࢁ͸͡Ί·ͨ͠

    View Slide

  3. hagihala ͷ͜Ε·Ͱ
    • 2012/08 த్ೖࣾ
    • 2012/09ʙ2016/01 ͸ͯͳϒοΫϚʔΫ୲౰
    • αʔόαΠυվળ
    • Elasticsearch ಋೖࢧԉ
    • etc…
    • 2014/??ʙ2016/01 ूӳࣾίϥϘҊ݅ (δϟϯϓϧʔΩʔɺ͋ͨ͠
    ͷϠϯάδϟϯϓ)
    • αʔόγεςϜͷઃܭɾߏஙɾӡ༻
    • 2016/02ʙ Mackerel ୲౰
    • ଞɺωοτϫʔΫɺαʔόج൫ͳͲ

    View Slide

  4. ࠓ೔࿩͢͜ͱ
    • ϓϩϏδϣχϯάͱ͸
    • ϓϩϏδϣχϯάϨΠϠʔͱɺࠓ೔࿩͢෦෼
    • ͸ͯͳʹ͓͚ΔϓϩϏδϣχϯά
    • ͸ͯͳͷαʔό؀ڥ
    • Chef ӡ༻
    • AMIɾOS Πϝʔδͷ࡞੒ʹ͍ͭͯ

    View Slide

  5. ϓϩϏδϣχϯάͱ͸
    • “ϓϩϏδϣχϯά(Provisioning)ͷຊདྷͷҙຯ͸ɺ௕ཱྀʹ޲
    ͚ͯ৯ྉͳͲͷ֬อΛ͢Δ͜ͱͰ͋Δɻ” (Wikipedia ΑΓ)
    • ొࢁʁ
    • ࠓ೔࿩͢ͷ͸ʮαʔόϓϩϏδϣχϯάʯ
    • “ར༻Մೳͳαʔό܈ʢαʔόϑΝʔϜʣ͔ΒαʔόΛબͼ
    ग़͠ɺద੾ͳιϑτ΢ΣΞʢΦϖϨʔςΟϯάγεςϜɺ
    σόΠευϥΠόɺϛυϧ΢ΣΞɺΞϓϦέʔγϣϯιϑ
    τ΢ΣΞʣΛϩʔυ͠ɺγεςϜΛద੾ʹઃఆͨ͠Γɺαʔ
    όݻ༗ͷઃఆʢIPΞυϨεͳͲʣΛͨ͠Γɺͱ͍ͬͨ࡞ۀ
    ΛαʔόɾϓϩϏδϣχϯάͱݺͿɻ” (Wikipedia ΑΓ)

    View Slide

  6. ϓϩϏδϣχϯάϨΠϠʔ
    • http://mizzy.org/blog/2013/10/29/1/
    • 3ͭͷϨΠϠʔʹ෼͚ͯߟ͑Δ
    • Orchestration
    • σϓϩΠɺΫϥελ؅ཧ
    • Capistrano, Consul ౳
    • Configuration
    • ઃఆ؅ཧ
    • Chef, Ansible ౳
    • Bootstrapping
    • αʔό (Πϯελϯε) ͷ࡞੒ɺOS Πϯετʔϧ౳
    • AWS, OpenStack, kickstart ౳

    View Slide

  7. • ࠓճ࿩͢ͷ͸ Bootstrapping ͱ Configuration ͷ
    ͋ͨΓͰ͢ɻ Orchestration ͷωλ͸͋Γ·ͤΜ
    • ݫີʹ෼͚ΒΕΔ΋ͷͰ͸ͳ͍ͷͰɺଟগؚ
    Ή͙Β͍͸͋Δ͔΋
    • ࣾ಺తʹ΋σϓϩΠΛؚ·ͳ͍χϡΞϯεͰ࢖
    ΘΕΔ͜ͱ͕ଟ͍ؾ͕͢Δ

    View Slide

  8. ͸ͯͳͷαʔό؀ڥ (2012/08ೖࣾ
    ౰࣌)
    • DC (͘͞ΒΠϯλʔωοτͷϋ΢δϯάαʔϏε),
    Amazon EC2
    • DC
    • ΄΅શαʔϏε͕Քಇ
    • ৽نௐୡ෼͸طʹࣗ࡞αʔόͰ͸ͳ͘ϕϯμ͔Βߪ

    • (աڈʹ͸αʔόᝑମ (ϑϨʔϜ) ͔Βࣗ࡞ͯ͠
    ͍ͨ)
    • ϋΠύʔόΠβ (Xen) Ծ૝Խͯ͠࢖༻
    • ಛघͳϋʔυ΢ΣΞߏ੒΍ύϑΥʔϚϯεཁ݅
    ͷ΋ͷΛআ͘
    • Amazon EC2
    • ͸ͯͳϒϩάͷΈ EC2 ্Ͱӡ༻ (ࠓͰݴ͏ EC2
    Classic)
    • ͪΐ͏Ͳ Amazon VPC ΁ͷҠߦ௚લ
    • τϦοΩʔͳ VPN ઀ଓͰ DC ͱܨ͕͍ͬͯͨ
    Amazon EC2
    VPN
    VPN VPN
    VPN
    ژ౎ΦϑΟε ౦ژΦϑΟε
    DC (ϋ΢δϯά)

    View Slide

  9. ͸ͯͳͷαʔό؀ڥ (2016/08ݱࡏ)
    • DC, Amazon VPC, ͘͞Βͷઐ༻αʔό (New!)
    • DC
    • ࣗ࡞αʔό͸΄ͱΜͲୀ໾ࡁΈɺ·ͩҰ෦࢒
    Δ
    • ঃʑʹॖখ
    • Amazon VPC
    • ϒϩάΛத৺ʹɺ͍͔ͭ͘ͷαʔϏε΍ɺαʔ
    ϏεͷαϒγεςϜ͕Քಇ
    • ઐ༻αʔό
    • ෺ཧαʔό΍ωοτϫʔΫػثͷબఆɺௐୡ
    ͔ΒϥοΩϯάɺอक·ͰΛؙʑΞ΢τιʔ
    ε
    • ෺ཧαʔό͔Β্͸ DC ͱ͍͍ͩͨಉ͡࢖͍

    • ຊ֨తར༻͸͜Ε͔Β
    Amazon VPC
    VPN
    ઐ༻ઢ
    VPN
    VPN
    VPN
    ژ౎ΦϑΟε ౦ژΦϑΟε
    DC (ϋ΢δϯά)
    ઐ༻αʔό

    View Slide

  10. ͳͥࠓɺઐ༻αʔό(ͦͯ͠ DC)ʁ
    • ӡ༻΋ؚΊͨτʔλϧίετ͕҆͘ࡁΉ (Β͍͠)
    • Ϋϥ΢υ͸(༻్ʹ΋ΑΔ͕)͚ͬ͜͏ߴ͍
    • ઐ༻αʔό͸ DC ͱൺ΂ͯɺϥοΫͷిྲྀ΍ۭؒͷ؅ཧɺωοτ
    ϫʔΫͷઃܭɾߏஙɺނোͨ͠ϋʔυ΢ΣΞͷަ׵ͳͲͷӡ༻Λ
    Ξ΢τιʔεͰ͖Δ
    • DC ΍ઐ༻αʔόͰ͸ ioDrive ͷΑ͏ͳಛघͳϋʔυ΢ΣΞ΋࢖
    ͑Δ
    • ࣗ༝౓͸ DC ͕࠷΋ߴ͍
    • DC ʹ͍ͭͯ͸ɺଞ΁ͷҠߦΛ೉͘͢͠Δٕज़తͳ໰୊ͷ਺ʑ΋
    • ϨΨγʔγεςϜ

    View Slide

  11. ͸ͯͳͷαʔό؀ڥͷಛ௃
    • 10೥Ҏ্ଓ͘αʔϏε΍ɺଟ਺ͷখ͞ͳαʔϏε
    ͕͋Δ
    • ৭ʑͳྺ࢙తܦҢ͕٧·͍ͬͯΔ
    • νʔϜ΍αʔϏε͝ͱʹΠϯϑϥ΍ج൫ɾπʔϧ
    Λ࢖͍෼͚ͨΓͤͣɺجຊతʹ͸ڞ௨ͷ΋ͷΛ࢖ͬ
    ͍ͯΔ
    • ԼͷϨΠϠ͸γεςϜϓϥοτϑΥʔϜ෦͕Ұ
    ݩ؅ཧ͍ͯ͠Δ
    • ྫ֎΋͋Δɻ·ͨɺࠓޙมΘΔՄೳੑ΋͋Δ

    View Slide

  12. ͸ͯͳʹ͓͚ΔϓϩϏδϣχϯ
    ά(෺ཧ)
    • ϋʔυ΢ΣΞௐୡ
    • ϥοΩϯά৔ॴબఆ
    • ϥοΩϯά: ґཔ͢Δ
    • OS Πϯετʔϧ (ॳճ͸ґཔ)
    • PXE ϒʔτ
    • preseed (debian), kickstart(CentOS) ͰࣗಈΠϯ
    ετʔϧ
    • ηοτΞοϓεΫϦϓτ
    • ϦϞʔτ؅ཧ (IPMI) ઃఆ
    • Mackerel ΁ͷొ࿥
    • Chef ࣮ߦ
    ઐ༻αʔόͰ͸ෆཁ
    Amazon VPCͰ͸

    ෆཁ

    View Slide

  13. ϓϩϏδϣχϯά (Ծ૝)
    • Ծ૝Խήετ (Xen domU)
    • ਌ͷબఆ: ਓ͕ؒ΍ͬͯΔ
    • ϝϞϦ΍σΟεΫͷۭ͖༰ྔΛ৚݅ʹϑΟϧλϦϯά্ͨ͠
    Ͱɺ CPU ΍ I/O ͸֤ dom0 ͷෛՙঢ়گΛݟͯటष͍ํ๏Ͱ൑

    • OS Πϯετʔϧɾىಈ: εΫϦϓτΛ࣮ߦ
    • ैདྷ: ຖճ debootstrap ౳Ͱ OS Πϯετʔϧॲཧ͕૸Δ (࣌ؒ
    ͕͔͔Δ)
    • ݱࡏ: ͋Β͔͡Ί OS ΠϝʔδΛ࡞੒ͯ͠ϑΝΠϧαʔόʹઃஔ
    ͓͖ͯ͠ɺ domU ࡞੒࣌ʹίϐʔɾϑΝΠϧγεςϜͷϦαΠ
    ζ
    • AMI ʹ฿͏
    • ࣗಈͰ Chef ద༻͞ΕΔ
    Amazon VPCͰ͸

    ෆཁ

    View Slide

  14. Chef ӡ༻
    • chef-solo ϕʔε
    • ͨͩ͠ɺ chef-solo ͸ DEPRECATED (ഇࢭ༧ఆ)
    • Ұ౓ chef-client local mode ϕʔεʹͨ͠ (؆୯) ͕ɺ cookbook ͷґଘؔ܎
    ղܾ͕ chef-solo ΑΓ͍ͩͿ஗͔ͬͨͷͰҰ୴໭ͨ͠ܦҢ͕͋Δ
    • ݱࡏͷ chef-repo ͸2ੈ୅໨(2013/08ʙ)
    • ϦϙδτϦ໊ chef-repo2
    • mainline (ͳ͔ͥϒϥϯν໊͸ staging) + τϐοΫϒϥϯν, GitHub flow
    • 1ੈ୅໨ (2010೥ʙ) ͸ Chef Server Λ࢖ͬͯͨ
    • ։ൃ͸ git-flow ϕʔεɺ cookbook ͷόʔδϣϯΛ Chef Server ͱ
    Environment Λ࢖ͬͯ؅ཧͯͨ͠
    • ෳ਺ਓͰ࡞ۀ͢Δͱόʔδϣϯͷিಥ͕ى͜Γ͕ͪ
    • Chef Server ͕ϒϥοΫϘοΫεͷͨΊՄ༻ੑɾܧଓੑʹෆ҆

    View Slide

  15. Chef ӡ༻
    • Mackerel ͷ Service:Role Λ Chef ͷ Role ͱ1ର1ରԠ
    • Chef ʹ͸ Service (Role ͷ֊૚ߏ଄) ͷ֓೦͕ແ͍ͷͰ୯७ʹ
    ϑϥοτԽͯ͠࢖༻͍ͯ͠Δ
    • ྫ: Hatena-Bookmark:proxy → role[Hatena-Bookmark—
    proxy]
    • roles/Hatena-Bookmark/proxy.rb ͷΑ͏ʹ഑ஔ͠ɺ࢖༻
    ͢ΔࡍʹϑϥοτԽ (+json Խ) ͍ͯ͠Δ
    • ࣗࣾͷ cookbook ͸ chef-repo ʹू໿ɺ Berkshelf Ͱ֎෦ͷ
    cookbook ΋࢖༻
    • ୯७ԽͷͨΊશͯͷ cookbook Λ Berkshelf ͷ؅ཧԼʹஔ͍ͯ
    ͍Δ

    View Slide

  16. knife-saba
    • ख΋ͱ͔Βͷద༻͸ knife-saba ͱ͍͏ಠࣗπʔ
    ϧͰߦ͍ͬͯΔ
    • knife-solo ϕʔε
    • `knife saba cook <ϗετ໊>`
    • Mackerel ͔Βϗετͷ Service:Role Λऔಘ
    ͠ɺରԠ͢Δ Chef Role Λద༻
    • ҰԠɺ։ൃ༻ͱ͍͏Ґஔ෇͚

    View Slide

  17. ຊ൪؀ڥͰͷ Chef ద༻
    • Jenkins Ͱ chef-repo ͷϑΝΠϧ܈Λ tarball
    ʹݻΊͯϑΝΠϧαʔόʹΞοϓϩʔυ
    • kitchen tarball ͱݺΜͰΔ
    • knife-solo ͕ chef-repo ͷϑΝΠϧ܈
    Λ kitchen ͱݺΜͰΔͷʹ฿͍ͬͯΔ
    • ͚Ͳ test-kitchen ͱฆΒΘ͍͠
    • Chef ద༻εΫϦϓτʹΑΓར༻͞ΕΔ
    • Chef ͷߋ৽
    • kitchen tarball ͷμ΢ϯϩʔυɾల։
    • Mackerel ͔Β Service:Role औಘ
    • Chef ద༻ push, merge
    GitHub

    Enterprise
    webhook
    ϏϧυɾΞοϓϩʔυ
    tarball औಘ
    ϑΝΠϧαʔό
    αʔό
    Service:Role

    औಘ
    Chef ద༻
    chef-repo

    View Slide

  18. Chef ՝୊
    • ֶश͕೉͍͠
    • (׳ΕΔ·Ͱ͸) ௚ײతͰͳ͍ڍಈ
    • ແବʹෳࡶʹͳΓ͍͗ͯ͢Δؾ͕͢Δ
    • ಛʹ attribute ͷछྨͷଟ͞ͱ͔
    • γϯϓϧʹ͢Δಈ͖΋͋Δ͕ɺྑ͍ํ޲ʹసͿ͔Ͳ
    ͏͔
    • cookbook ͷॻ͖ํͷτϨϯυɺػೳͷ੔ཧ
    • Chef 12.5ʙͷ Custom Resource ͸ಠࣗͷ
    Resource ͷॻ͖ํΛγϯϓϧʹ͢ΔҰํͰ৽ͨ
    ͳམͱ݀͠Λ࡞ͬͯͨ
    • ςετ͕ճ͍ͤͯͳ͍
    • ͏ͪͷ໰୊
    • Πϯϑϥςετ೉͍͠
    • ίʔυΛ Chef Ҏ֎Ͱ࠶ར༻ͮ͠Β͍
    • ͦ͏͍͏ॲཧ͸ Chef ͷ֎ʹಀ͕͢΂͖͔
    • ผͷπʔϧ࢖͍͍ͨతͳ෩౰ͨΓ͸ײ͡Δ
    Attribute Precedence

    View Slide

  19. AMI, OS Πϝʔδͷ࡞੒ʹ͍ͭ
    ͯ
    • (ൃදͰ͸͕࣌ؒ଍Γͣɺলུ͠·ͨ͠)
    • ೰Έ: AMI ͷϝϯςφϯε໰୊
    • ݩʑ AMI ͸طଘͷύϒϦοΫͳ AMI Λϕʔε
    ʹɺख࡞ۀͰΧελϚΠζͯ͠࡞ΒΕ͍ͯͨ
    (͸ͣ)
    • OS ͷΞοϓσʔτʹ௥ਵ͠ͳ͍ͱ௠෗Խͯ͠
    ͠·͏
    • Xen ༻ͷ OS Πϝʔδʹ͍ͭͯ΋ಉ༷ͷ໰୊

    View Slide

  20. Debian ެࣜ AMI Λ௚઀࢖͏
    • ͸ͯͳͰ࠷ۙϝΠϯͰ࢖͍ͬͯΔσΟετϦϏϡʔγϣϯ͸ Debian
    • Debian ʹ͸ެࣜͷ AMI ͕͋Δ
    • https://wiki.debian.org/Cloud/AmazonEC2Image
    • cloud-init ͱ͍͏πʔϧ͕͋ΓɺDebian ެࣜ AMI ʹ΋͜Ε͕ೖͬͯ
    ͍Δ
    • user-data Ͱ౉ͨ͠ઃఆʹैͬͯىಈ࣌ʹΠϯελϯεΛΧελ
    ϚΠζͨ͠Γɺ೚ҙͷεΫϦϓτ΍ίϚϯυΛ࣮ߦͰ͖Δπʔϧ
    • Debian ެࣜ AMI Λ࢖༻͠ɺैདྷ AMI ࡞੒࣌ʹ΍͍ͬͯͨॲཧΛى
    ಈ࣌ʹ cloud-init Ͱ࣮ߦ͢ΔΑ͏ʹ
    • ࠷ऴతʹ͸΄΅શͯͷઃఆΛ Chef recipe ʹҠ͠ɺ cloud-init Ͱ
    Chef Λ࣮ߦͯ͠ηοτΞοϓΛߦ͏Α͏ʹͨ͠

    View Slide

  21. ͔Ώ͍ॴʹख͕ಧ͔ͳ͍
    • ৭ʑ΍͍ͬͯ͘͏ͪʹެࣜ AMI ͩͱݫ͍͠ͱ͜Ζ͕ग़͖ͯͨ
    • ಠࣗϏϧυͨ͠ΧʔωϧΛ࢖͍͍ͨɺ enhanced networking (SR-IOV) Λ༗ޮʹ͍ͨ͠
    • (Debian7 AMI Ͱ͸σϑΥϧτͰ enhanced networking ແޮͩͬͨɻ Debian8 ͸༗
    ޮ)
    • ΠϯελϯεΛىಈ → cloud-init ͷ boothook εΫϦϓτ಺ͰΧʔωϧΞοϓσʔ
    τɾγϟοτμ΢ϯ → ΠϯελϯεͷఀࢭΛ֬ೝޙ enhanced networking ༗ޮԽ
    (Πϯελϯε࡞੒࣌΍ΠϯελϯεՔಇத͸ઃఆͰ͖ͳ͍) → ࠶౓ىಈ
    • → εΫϦϓτ͕ෳࡶԽɺ͔͠΋ηοτΞοϓʹ͕͔͔࣌ؒΔ
    • Debian7 Ͱ͸ EBS ϘϦϡʔϜ্ʹ௚઀ϑΝΠϧγεςϜΛ࡞͍ͬͯͨͷʹ Debian8
    ެࣜ AMI Ͱ͸ύʔςΟγϣϯׂ͕ΒΕ͍ͯΔ
    • → ϧʔτϘϦϡʔϜͷ֦ு͕ෳࡶʹͳΔ͠ɺطଘͷΠϯελϯεͱӡ༻͕ҟͳ
    Δͱ΍ΓͮΒ͍
    • cloud-init ͸ࣦഊ࣌ͷௐࠪ΍σόοά͕ͮ͠Β͍ɻ͋·ΓτϦοΩʔͳ͜ͱΛ΍Γͨ͘
    ͳ͍

    View Slide

  22. ެࣜͱ΄΅ಉ͡ AMI Λ࡞Δ
    • bootstrap-vz (https://github.com/andsens/bootstrap-vz)
    • Debian ͷެࣜ AMI ࡞੒ʹ࢖ΘΕ͍ͯΔπʔϧ
    • ࡞੒͢Δ AMI ͷߏ੒Λ yaml ઃఆϑΝΠϧ (manifest) Ͱهड़
    • manifest ΛΧελϚΠζ͢Δ͜ͱͰɺެࣜ AMI ͷߏ੒ΛϕʔεʹΧελ
    ϚΠζͨ͠ AMI Λखܰʹ࡞ΕΔ
    • AMI Ҏ֎ͷΫϥ΢υ΍ raw σΟεΫΠϝʔδʹ΋ରԠ
    • Debian ͷϝϯςφʹΑͬͯܧଓతʹϝϯςφϯε͞Ε͍ͯΔ
    • ॳظ AMI (initial AMI ͱݺͿ) ͸ bootstrap-vz Ͱ࡞Δ͜ͱʹͨ͠
    • DC ͷ domU OS Πϝʔδͷ࡞੒ʹ΋ bootstrap-vz Λ࢖༻͠ɺ DC ͱ EC2
    Ͱಉ͡ߏ੒ͷΠϝʔδΛ࢖༻
    • ͦΕͧΕࣗಈͰ࡞੒͢ΔεΫϦϓτΛॻ͍ͨɻCI πʔϧͰఆظతʹߋ৽…
    ͱ͍͏ͷ͸·ͩ͜Ε͔Β

    View Slide

  23. Chef ద༻ࡁΈ AMI
    • packer Λ༻͍ɺಛఆͷ AMI Λϕʔεʹ Chef ద༻ࡁΈͷ AMI
    Λ࡞੒
    • packer ઃఆΛੜ੒ͯ͠ packer Λ࣮ߦ͢ΔϥούʔεΫϦ
    ϓτ
    • ͸ͯͳͷҰൠϗετʹڞ௨ͷઃఆΛ·ͱΊͨ “base ϩʔϧ” ద
    ༻ࡁΈͷ AMI Λ࡞ΓɺҰൠͷΠϯελϯε͸͔ͦ͜Βىಈ͢
    Δ͜ͱͰηοτΞοϓ࣌ؒΛ୹ॖ
    • Πϯελϯε࡞੒࣌ʹ΋ Chef Λద༻͢Δ͜ͱͰɺႈ౳ੑΛར
    ༻ͯ͠ΠϯελϯεͷઃఆΛ࠷৽Խ
    • chef-repo ͷߋ৽ͷͨͼʹຖճ AMI Λ࡞Γͳ͓͢ͷ͸ඇޮ

    View Slide

  24. ݸผϩʔϧͷ AMI ࡞੒
    • લทͷ AMI ࡞੒εΫϦϓτͰɺಛఆϩʔϧ༻ʹηοτΞοϓ͞Εͨ
    AMI (role AMI) ΋࡞੒Ͱ͖Δ
    • ΰʔϧσϯΠϝʔδతͳ
    • Πϯελϯε࡞੒࣌ʹϩʔϧΛࢦఆ͢ΔͱɺϚον͢Δ AMI Λ୳
    ͠ɺଘࡏ͢Ε͹ͦͷ AMI Λ࢖ͬͯىಈ͢Δ࢓૊Έʹͳ͍ͬͯΔ
    • ର৅ AMI ͕ແ͚Ε͹ base ʹϑΥʔϧόοΫ
    • Ͱ΋ɺ·ͩ͋·Γ࢖ΘΕ͍ͯͳ͍
    initial AMI
    bootstrap-vz
    base AMI
    packer
    role AMI

    (app-1)
    role AMI
    (app-2)
    packer

    View Slide

  25. ՝୊
    • CI πʔϧͰܧଓతʹϏϧυ͍ͨ͠
    • ։ൃ؀ڥͷҰ෦ (Jenkins Slave) Ͱಋೖ͍ͯ͠Δ
    • ࡞੒ॲཧΛࣗಈԽͯ͠΋ɺͦͷ࣮ߦ·ͰࣗಈԽ͠ͳ͍ͱ΍͸Γ௠
    ෗Խ͢Δ
    • ͍ͭͷؒʹ͔ಈ͔ͳ͘ͳΔ
    • ࣗಈͰ΍ΔͨΊʹ͸ඞવతʹ࣭ͷߴ͍ςετ΋ඞཁʹͳΔ
    • ؅ཧ͢΂͖ AMI ͷछྨ͕૿͑Δͱͦͷϝϯςφϯε΋େมʹͳΔ
    • ؅ཧ͢Δ࢓૊Έ͕ෆे෼
    • DC ΍ઐ༻αʔόʹ΋ಉ༷ͷ࢓૊ΈΛ
    • ͦ΋ͦ΋࿦: ίϯςφٕज़ͷํΛؤுΔ΂͖ʁ

    View Slide

  26. ·ͱΊ
    • αʔόϓϩϏδϣχϯάʹ͍ͭͯ࿩ͨ͠
    • ͸ͯͳͷαʔό؀ڥ
    • Chef ӡ༻
    • AMIɾ OS Πϝʔδ࡞੒
    • ଞʹ΋͋Δ
    • ௕͘ଓ͘αʔϏεɺଟ਺ͷখ͞ͳαʔϏε͕͋Δ؀ڥ
    • ͋·Γେֻ͔ΓʹͳΓա͗ͣɺͳΔ΂͘γϯϓϧͳπʔϧͷ૊Έ߹
    ΘͤͰ࣮ݱ͢ΔΑ͏৺͕͚Δ
    • πʔϧΛΑΓྑͨ͘͠ΓɺͦΕͧΕͷ֓೦Λ͢Γ߹Θͤͯ͏·͘࿈
    ܞΛऔΕΔΑ͏ʹ͢Δͷ͸ָ͍͠
    • ࠷ۙ͸ CI ͷվળʹ΋ڵຯ͋Δɻ Jenkins Pipeline ͱ͔

    View Slide