Upgrade to Pro — share decks privately, control downloads, hide ads and more …

recruit-technologies-and-stackstorm

tkit
September 14, 2016

 recruit-technologies-and-stackstorm

9/13 【IoT x クラウド】自動化・IoTプラットフォーム StackStorm勉強会
リクルートテクノロジーズがStackStormに注目している理由

tkit

September 14, 2016
Tweet

More Decks by tkit

Other Decks in Technology

Transcript

  1. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  2. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  3. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ࣗݾ঺հ n  ໊લ • 

    ๺໺ଠ࿠ n  ॴଐ •  גࣜձࣾϦΫϧʔτςΫϊϩδʔζ ɹ*5ιϦϡʔγϣϯ౷ׅ෦ΠϯϑϥιϦϡʔγϣϯ෦ ɹΠϯϑϥιϦϡʔγϣϯάϧʔϓ  n  ୲౰ •  ϦΫϧʔτͷڞ௨ωοτΠϯϑϥࣗಈԽਪਐ୲౰
  4. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ϦΫϧʔτͱ͸ ʮબ୒ɾҙࢥܾఆʯΛࢧԉ͢Δ৘ใαʔϏεͷఏڙ ˠʮ·ͩɺ͜͜ʹͳ͍ɺग़ձ͍ɻʯͷ࣮ݱ΁ ཱྀߦ

    *5τϨϯυ ੜ׆஍Ҭ৘ใ άϧϝɾඒ༰ ϥΠϑελΠϧྖҬ ϥΠϑΠϕϯτྖҬ ਐֶ ब৬ ݁ࠗ స৬ ॅ୐ߪೖ ंߪೖ ग़࢈ҭࣇ
  5. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ϦΫϧʔτςΫϊϩδʔζͱ͸ ɹɹϦΫϧʔτΩϟϦΞ ɹɹϦΫϧʔτδϣϒζ ɹɹϦΫϧʔτελοϑΟϯά

    ɹɹϦΫϧʔτॅ·͍Χϯύχʔ ɹɹϦΫϧʔτϥΠϑελΠϧ ɹɹϦΫϧʔτϚʔέςΟϯάύʔτφʔζ ɹɹελοϑαʔϏεɾϗʔϧσΟϯάε ɹϦΫϧʔτΞυϛχετϨʔγϣϯ ɹ ɹϦΫϧʔτίϛϡχέʔγϣϯζ ࣄۀձࣾ ػೳձࣾ Πϯϑϥ෦໳ େن໛ϓϩδΣΫτਪਐ෦໳ 6*ઃܭ4&0෦໳ Ϗοάσʔλػೳ෦໳ ςΫϊϩδʔ3%෦໳ ࣄۀɾࣾ಺*5ਪਐ෦໳ ϦΫϧʔτ ϗʔϧσΟϯάε ϦΫϧʔτͱ͸ɺ ओཁ̓ࣄۀձࣾʴ̏ػೳձࣾ Ͱߏ੒͞ΕΔάϧʔϓاۀ܈
  6. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  7. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    େن໛Πϯϑϥͷ؅ཧͱӡ༻ େن໛ΠϯϑϥΛޮ཰తʹఏڙɾ؅ཧ͢Δํ๏͕ඞཁ n লྗԽɾࣗಈԽ l 

    Ͱ͖Δ͚ͩਓͷ൑அΛڬ·ͳ͍ l  ΞΫγϣϯΛͰ͖Δ͚ͩল͍ͯ࿈ܞ͢Δ  n ߴ଎Խ l  ฒྻ࣮ߦ l  Ͱ͖Δ͚ͩਓͷ൑அΛڬ·ͳ͍  n ݎ࿚ੑ l  ϛεΛະવʹ๷͙ϩʔϧόοΫ͢Δ  n ಁ໌ੑ l  ΠϯϑϥઃఆΛߏ੒؅ཧ͢Δ l  ͍ͭɺͲΜͳ͜ͱ͕ߦΘΕΔ͔෼͔Δ l  ͲΜͳมߋ͕ߦΘΕΔ͔෼͔Δ
  8. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ϦΫϧʔτͷωοτΠϯϑϥͷਐԽ Ұஈͱ͹͠ʹཧ૝ʹ͸͚ۙͮͳ͍ͷͰɺஈ֊Λ௥ͬͯਐԽ͢Δ ݱࡏ ͍ۙ

    কདྷ ΤϯλʔϓϥΠζΦϯϓϨϛε ߴ଎ԽɾࣗಈԽͨ͠ ΤϯλʔϓϥΠζΦϯϓϨϛε શαΠτڞ௨Խ ΞʔΩςΫνϟͷ୲อ ׬શࣗಈԽɾଈ࣌ఏڙ બ୒ࣜʹΑΔ ࣗ༝Խ ΞϓϦ ΞʔΩ ϞϊϦγοΫ ϞϊϦγοΫ ํ਑ ݻఆ બ୒ࣜ 04 શαΠτू໿ ෼ࢄɾܰྔԽ /8 ෺ཧߏ੒Λҙࣝͨ͠ΞϓϦ഑ஔ ෺ཧߏ੒Λҙࣝͨ͠ΞϓϦ഑ஔ )8 ଐਓత ࣗಈԽʹΑΔମ੍ͷղ์ Πϯϑϥ ମ੍
  9. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    কདྷͷ͞Βʹͦͷʮઌʯ ࣗ཯ӡ༻͕Մೳͳࣗ༝ͳΫϥ΢υΛ໨ࢦ͢ ͍ۙ কདྷ

    কདྷ ߴ଎ԽɾࣗಈԽͨ͠ ΤϯλʔϓϥΠζΦϯϓϨϛε ࣗ཯ӡ༻͕Մೳͳ ݸผ࠷దϓϥΠϕʔτΫϥ΢υ ׬શࣗಈԽɾଈ࣌ఏڙ બ୒ࣜʹΑΔ ࣗ༝Խ ׬શࣗಈԽ ࣗ༝Խɾࣗ཯త ΞϓϦ ΞʔΩ GBDUPS .JSPTFSWJDFT ํ਑ ࣗ༝ 04 ෼ࢄԽɾແఀࢭϝϯςφϯε /8 ҙࣝ͠ͳ͍ࣗಈ഑ஔ )8 %FW0QTతɾগਓ਺ Πϯϑϥ ମ੍ ϞϊϦγοΫ બ୒ࣜ ෼ࢄɾܰྔԽ ෺ཧߏ੒Λҙࣝͨ͠ΞϓϦ഑ஔ ࣗಈԽʹΑΔମ੍ͷղ์
  10. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ࠓճͷ͓࿩ ݱࡏ ΤϯλʔϓϥΠζ ΦϯϓϨϛε

    ߴ଎ԽɾࣗಈԽͨ͠ ΤϯλʔϓϥΠζ ΦϯϓϨϛε কདྷ ࣗ཯ӡ༻͕Մೳͳ ݸผ࠷ద ϓϥΠϕʔτΫϥ΢υ ͍ۙ কདྷ ࣍ͷεςοϓ΁ਐΉͨΊʹ ߏஙγεςϜΛ࡞͍ͬͯΔ ࿩Λ͠·͢
  11. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  12. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Πϯϑϥߏஙɾӡ༻ΛࣗಈԽ͢Δ࢓૊ΈΛ࡞Δ ࣗಈԽʹ޲͚ͨ՝୊ n ෳࡶͳWorkflow؅ཧΛͲ͏͢Δʁ l 

    ଟذʹΘͨΔϑϩʔΛ؆୯ʹ؅ཧɾӡ༻Ͱ͖Δ͜ͱ l  ͦΕͰ͍ͯ։ൃɾϝϯςφϯε͕༰қͰ͋Δ͜ͱ n มԽʹରԠͰ͖Δ͔ʁ l  SaaS΍ChatOpsͳͲɺ؀ڥͷมԽʹࠓޙ΋ରԠͰ͖Δ࢓૊ΈͰ͋Δ͜ͱ ͜ΕΒΛղܾ͢Δඞཁ͕͋Δ
  13. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    StackStormಋೖલͷ೰Έ ෳࡶͳWorkflow؅ཧΛͲ͏͢Δʁ ։࢝ ςϯϓϨʔτબ୒

    ίϐʔݩબ୒ Ϋϩʔϯॲཧ VMઃఆ vCPU Affinity memory Disk PortGroup OSઃఆ Network hosts chkconfig account iptables nic OSςετ MWઃఆ ֎෦࿈ܞ security manager web DB DNS ؂ࢹ ೝূ VM݁߹ࢼݧ NWઃఆ FW LB ಺෦ ֎෦ ಺෦ ֎෦ ΞϓϦέʔγϣϯ σϓϩΠ ΞϓϦέʔγϣϯ ಈ࡞ࢼݧ ެ։ॲཧ VM݁߹ࢼݧ ऴྃ ྫ : VMߏங͔Β ެ։·Ͱͷϑϩʔ
  14. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ྫ : VMߏங͔Β ެ։·Ͱͷϑϩʔ

    StackStormಋೖલͷ೰Έ ։࢝ ςϯϓϨʔτબ୒ ίϐʔݩબ୒ Ϋϩʔϯॲཧ VMઃఆ vCPU Affinity memory Disk PortGroup OSઃఆ Network hosts chkconfig account iptables nic OSςετ MWઃఆ ֎෦࿈ܞ security manager web DB DNS ؂ࢹ ೝূ VM݁߹ࢼݧ NWઃఆ FW LB ಺෦ ֎෦ ಺෦ ֎෦ ΞϓϦέʔγϣϯ σϓϩΠ ΞϓϦέʔγϣϯ ಈ࡞ࢼݧ ެ։ॲཧ VM݁߹ࢼݧ ෳࡶͳWorkflow؅ཧΛͲ͏͢Δʁ n ϑϩʔύλʔϯͷ๲େ͞ l  ى఺΋ऴ఺΋ύλʔϯ΋Կछྨ΋͋Δ l  ޙ͔ΒݟͯͦͷϑϩʔΛཧղͰ͖Δ͔ʁ  n ࣮૷ɾ؅ཧͷ೉͠͞ l  λεΫؒͷΩϡʔΠϯάɺ࠶ૹॲཧͳͲΛվΊͯ࡞Δͷ͔ l  ॲཧͷૄ݁߹ԽΛࠓޙ΋໿ଋͰ͖Δ͔ l  ϫʔΫϑϩʔΛߏ੒؅ཧɾ೺ѲΛͲ͏͢Δ͔ n ӡ༻ͷ೉͠͞ l  ෳࡶʹͳΔ΄ͲσϓϩΠɺӡ༻͕େมʹͳΔ l  ࠓޙ৽ͨͳ࢓૊Έ΍࿈ܞ͕ੜ·Εͨͱ͖ɺ༰қʹ௥ՃͰ͖Δ͔ 
  15. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    StackStormಋೖલͷ೰Έ มԽʹରԠͰ͖Δ͔ʁ n ֎෦࿈ܞ(input) l 

    ར༻ऀ͸Πϯϑϥӡ༻ऀ͚ͩͰͳ͘αΠτ։ൃऀ΋૝ఆ ଞͷπʔϧ/UIར༻Λۃྗࣗ༝ʹ͍ͨ͠ n ֎෦࿈ܞ(output) l  ࠓޙ΋SaaS΍ChatOpsͳͲ༷ʑͳ࿈ܞ͕ߟ͑ΒΕΔ l  ߏஙର৅ػث΋ൣғΛ޿͛Δ༧ఆ ৽ߏஙγεςϜ Πϯϑϥ αΠτ։ൃऀ etc… ϕʔεUIར༻ πʔϧ͸ࣗ༝ •  Server(VM) •  OS •  MW •  LoadBalancer •  Firewall •  Storage etc…
  16. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ղܾࡦΛߟ͑Δ طଘͷղܾࡦͩͱ՝୊͕࢒Δ n εΫϥον l 

    શ෦࡞Δͷ͸େม l  ࠓޙͷϝϯςφϯεͱมԽ΁ͷ௥ैΛߟ͑Δͱɺ Ͱ͖Δ͚ͩॏͨ͘͘͠ͳ͍ n Jenkins l  ຊ౰ʹେن໛Workflowӡ༻ΛJenkinsʹ೚͍͍ͤͯͷ͔ͱ͍͏ෆ҆ l  ֎෦͔ΒJenkinsʹ࿈ܞ͢Δͱ͍͏Πϝʔδ͕༙͔ͳ͍ n ͦͷଞϫʔΫϑϩʔ؅ཧ l  ͦͷ΋ͷͰ͸ϫʔΫϑϩʔΛ؅ཧͰ͖Δ͕ɺ ֎෦͔Β࿈ܞͯ͠ಈ͘͜ͱΛ૝ఆ͍ͯ͠ͳ͍͜ͱ͕ଟ͍
  17. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  18. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    1. Workflow؅ཧʹे෼ͳػೳ ଟذʹΘͨΔߏஙύλʔϯΛ͢΂ͯ؅ཧ͢Δ n WorkflowΛYAML؅ཧͰ͖Δ

    l  ϑϩʔΛͦΕ୯ମͰߏ੒؅ཧͰ͖Δ l  YAMLʹΑΔݟ΍͍͢ϑϩʔ؅ཧ l  Enterprise൛ (Brocade Workflow Composer)ͩͱՄࢹԽ΋Ͱ͖Δ l  λεΫ(Action)࠶ར༻΋Մೳ
  19. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    2. ߴ͍։ൃɾϝϯςφϯεޮ཰ طʹ༻ҙ͞Ε͍ͯΔࢿ࢈Λར༻Ͱ͖Δ n WorkflowͱActionͷີ݁߹ͷճආ

    l  Ͳ͜ͰԿ͕؅ཧ͞ΕΔͷ͔෼͔Γ΍͍͢ l  ີ݁߹ΛπʔϧʹΑͬͯڧ੍తʹճආͰ͖Δ n ։ൃޮ཰ͷ޲্ l  ΩϡʔΠϯά΍࠶ૹɺཤྺ؅ཧͳͲͷ࢓૊Έ͸طʹ͋Δ l  ։ൃऀ͸ॲཧͱϑϩʔʹઐ೦Ͱ͖Δ l  REST APIͷ࢓૊Έ΋͋Δ l  ଟ͘ͷࢿ࢈͕ެ։͞Ε͍ͯΔ https://github.com/StackStorm/st2contrib l  YAMLΛߏ੒؅ཧͯ͠ϝϯςφϯεͰ͖Δ
  20. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ॊೈੑɾมԽʹڧ͍࢓૊Έ 4UBDL4UPSNΛத৺ʹ༷ʑͳ֦ு͕༰қʹͰ͖Δ n ༷ʑͳ૊Έ߹Θͤ l 

    ࿈ܞઌʹΠϯλʔϑΣʔε͑͋͞Ε͹ԿͰ΋Ͱ͖Δ l  ؂ࢹɺCIɺChatOpsɺૢ࡞ର৅ػث… l  StackStormࣗ਎΋REST APIʹΑΓ֎͔Β࿈ܞͰ͖Δ
  21. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Agenda 1.  ࣗݾ঺հ 2. 

    ࣗಈԽʹऔΓ૊ΉϦΫϧʔτͷഎܠ 3.  ࣗಈԽʹ޲͚ͨݱঢ়ͷ՝୊ 4.  StackStormͰ՝୊Λղܾ͢Δ 5.  ·ͱΊ
  22. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    ·ͱΊ StackStorm͸ࣗಈԽΛڧྗʹαϙʔτ͢Δπʔϧʂ ࠓޙ΋StackStormʹ஫໨͍͖ͯ͠·͢ n େن໛ΠϯϑϥͰ΋े෼ʹ଱͑͏Δ൚༻ੑɾՄ༻ੑ

    l  ίϯϙʔωϯτ͕෼͔Ε͍ͯͯඇmonolithic n ʮ͜Μͳ͜ͱͰ͖ͨΒ͍͍ͷʹʯ͕େ఍͋Δ l  ϫʔΫϑϩʔ؅ཧ l  REST APIͰॲཧ࣮ߦ l  ϫʔΫϑϩʔͷߋ৽΋ແఀࢭ l  ݁ՌΛJSONܗࣜͰऔಘ l  େ఍ͷυΩϡϝϯτ͕طʹެࣜʹ༻ҙ͞Ε͍ͯΔ (REST API͸ͳ͍͚Ͳ) n ͋Γ͕ͪͳʮ͜ͷ࢓૊Έʰ͚ͩʱ͔͠࢖͑ͳ͍ʯͱ͍͏ ੍໿͕ͳ͍ l  StackStorm΁ͷInput΋ɺStackStorm͔Βͷoutput΋ࣗ༝ʹܾΊΒΕΔ
  23. $ 3FDSVJU5FDIOPMPHJFT$P -UE"MMSJHIUTSFTFSWFE    Front Database ૢ࡞ର৅ػث(vCenter, NWػث,

    ετϨʔδ…) ΠϯϑϥߏஙγεςϜͷߏ૝ 8*1  ϦΫϧʔτςΫϊϩδʔζ͸ɺ ·ͩStackStormΛ࢖͍࢝Ίͨ͹͔ΓͰ͢ φϨοδ΍ϊ΢ϋ΢ʹ͍ͭͯҙݟަ׵͍ͤͯͩ͘͞͞ʂ