Slide 1

Slide 1 text

© 2019 i3Systems, Inc. גࣜձࣾΞΠΩϡʔϒυγεςϜζ MDMʹ͓͚ΔେྔσόΠεΛର৅ͱͨ͠௨৴Λࢧ͑Δٕज़

Slide 2

Slide 2 text

© 2019 i3Systems, Inc. ࣗݾ঺հ !2 Bomura Taisuke ΅͏ΉΒ͍͚ͨ͢  i3 Systems, Inc. ΞΠΩϡʔϒυγεςϜζ  ɹɾαʔόʔαΠυΤϯδχΞ Ruby on Rails  ɹɾࣾ಺CI/CD؀ڥͷߏங ɹɾνʔϜϦʔυɹͳͲ

Slide 3

Slide 3 text

© 2019 i3Systems, Inc. ຊ೔ͷ಺༰ ๏ΞΠΩϡʔϒυγεςϜζʹ͍ͭͯ ๏CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ ๏ฐࣾͷ(P΁ͷऔΓ૊Έ ๏ࠓޙͷల։ !3

Slide 4

Slide 4 text

© 2019 i3Systems, Inc. 2010/11 ๏ਓ޲͚ϞόΠϧσόΠε؅ཧαʔϏεʮCLOMO MDMʯ iOS ൛ఏڙ 2011/05 ʮCLOMO MDMʯ Android ൛ఏڙ 2011/07 ๏ਓ޲͚ϞόΠϧΞϓϦγϦʔζʮCLOMO SECURED APPsʯ iOS ൛ఏڙ 2013/01 ʮCLOMO SECURED APPsʯ Android ൛ఏڙ 2014/01 ʮCLOMO MDMʯ Windows ൛ఏڙ 2015/06 ๏ਓ޲͚ιʔγϟϧΞϓϦʮCLOMO IDsʯ iOS ൛ఏڙ 2017/05 ʮCLOMO MDMʯʹ৽ػೳʮϫʔΫɾεϚʔτʯΛ౥ࡌ 2019/04 ΦϑΟεҠస ˙ओͳԊֵ ΞΠΩϡʔϒυγεςϜζʹ͍ͭͯ !4

Slide 5

Slide 5 text

© 2019 i3Systems, Inc. ˙৽ΦϑΟε͸ఱਆͰ͢ ΞΠΩϡʔϒυγεςϜζʹ͍ͭͯ !5 ͜͜

Slide 6

Slide 6 text

© 2019 i3Systems, Inc. ˙෱Ԭۭߓʹ޿ࠂΛग़͠·͢ ΞΠΩϡʔϒυγεςϜζʹ͍ͭͯ !6 ෱Ԭۭߓͷ౥৐ޱ๺ଆ(Ұའ෇ۙ) ͜͜શ໘

Slide 7

Slide 7 text

© 2019 i3Systems, Inc. ˙CLOMO MDMͱ͸ CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !7 ͜͜ ๏๏ਓܖ໿਺2,000ࣾ௒ ๏Ruby on Rails ੡ ๏AzureͰՔಇ

Slide 8

Slide 8 text

© 2019 i3Systems, Inc. ■MDM: Mobile Device Management CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !8 اۀ΍ैۀһݸਓ͕ॴ༗͍ͯ͠ΔσόΠεΛɺ؅ཧऀ͕Ұݩ؅ཧ͢ΔͨΊͷ࢓૊Έ (ྫ) Install Application ֤OSϕϯμʔͷPushαʔόʔ 2.Pushཁٻ 1.Install App 3.Push௨஌ 4.࣮ߦཁٻ 5.Install App ؅ཧը໘

Slide 9

Slide 9 text

© 2019 i3Systems, Inc. ■MDM: Mobile Device Management CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !9 اۀ΍ैۀһݸਓ͕ॴ༗͍ͯ͠ΔσόΠεΛɺ؅ཧऀ͕Ұݩ؅ཧ͢ΔͨΊͷ࢓૊Έ (ྫ) Install Application ֤OSϕϯμʔͷPushαʔόʔ 2.Pushཁٻ 1.Install App 3.Push௨஌ 4.࣮ߦཁٻ 5.Install App ؅ཧը໘ Θ͟Θ͟1VTI௨஌ͨ͠ޙɺσόΠεʹ࣮ߦཁٻͤ͞ͳͯ͘΋͍͍ͷͰ͸ʁ
 1VTIϖΠϩʔυͷ#PEZʹύϥϝʔλॻ͖·͘Ε͹͍͍

Slide 10

Slide 10 text

© 2019 i3Systems, Inc. ■MDM: Mobile Device Management CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !10 اۀ΍ैۀһݸਓ͕ॴ༗͍ͯ͠ΔσόΠεΛɺ؅ཧऀ͕Ұݩ؅ཧ͢ΔͨΊͷ࢓૊Έ (ྫ) Install Application ֤OSϕϯμʔͷPushαʔόʔ 2.Pushཁٻ 1.Install App 3.Push௨஌ 4.࣮ߦཁٻ 5.Install App ؅ཧը໘ Θ͟Θ͟1VTI௨஌ͨ͠ޙɺσόΠεʹ࣮ߦཁٻͤ͞ͳͯ͘΋͍͍ͷͰ͸ʁ
 1VTIϖΠϩʔυͷ#PEZʹύϥϝʔλॻ͖·͘Ε͹͍͍ MDM uses the Apple Push Notification Service (APNS) to deliver a “wake up” message to a managed device. The device then connects to a predetermined web service to retrieve commands and return results. Mobile Device Management Protocol Reference(Apple)

Slide 11

Slide 11 text

© 2019 i3Systems, Inc. ■MDM: Mobile Device Management CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !11 اۀ΍ैۀһݸਓ͕ॴ༗͍ͯ͠ΔσόΠεΛɺ؅ཧऀ͕Ұݩ؅ཧ͢ΔͨΊͷ࢓૊Έ (ྫ) Install Application ֤OSϕϯμʔͷPushαʔόʔ 2.Pushཁٻ 1.Install App 3.Push௨஌ 4.࣮ߦཁٻ 5.Install App ؅ཧը໘ Θ͟Θ͟1VTI௨஌ͨ͠ޙɺσόΠεʹ࣮ߦཁٻͤ͞ͳͯ͘΋͍͍ͷͰ͸ʁ
 1VTIϖΠϩʔυͷ#PEZʹύϥϝʔλॻ͖·͘Ε͹͍͍ MDM uses the Apple Push Notification Service (APNS) to deliver a “wake up” message to a managed device. The device then connects to a predetermined web service to retrieve commands and return results. Mobile Device Management Protocol Reference(Apple) By Design

Slide 12

Slide 12 text

© 2019 i3Systems, Inc. ■MDM: Mobile Device Management CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !12 iOS(macOS)ɺAndroidɺWindowsͳͲϕϯμʔʹΑΓ࢓༷͕ҟͳΔͨΊɺ ͦΕͳΓʹ։ൃ͸େม Apple(iOS,macOS) Android Windows

Slide 13

Slide 13 text

© 2019 i3Systems, Inc. ■ϫʔΫɾεϚʔτ CLOMO MDMͱϫʔΫɾεϚʔτʹ͍ͭͯ !13 CLOMO MDMΛར༻͠ɺ؅ཧऀ͕༧Ίઃఆͨ࣌ؒ͠Ҏ֎ͰͷΞϓϦར༻Λݶఆ $-0.0ϫʔΫɾεϚʔτ ৄࡉʹ͍ͭͯ͸ݕࡧʂ

Slide 14

Slide 14 text

© 2019 i3Systems, Inc. ■BoltzEngine !14 ఏڙɿFenrir Inc. ฐࣾͷGo΁ͷऔΓ૊Έ

Slide 15

Slide 15 text

© 2019 i3Systems, Inc. ■BoltzEngineͱ͸ !15 ๏FenrirࣾʹΑΓGoͰ࡞ΒΕͨ ๏ϓογϡ௨஌ͷ഑৴ʹಛԽͨ͠ج൫αʔϏε ๏ੜ์ૹ൪૊ͷେن໛ෛՙʹ଱࣮͑ͨ੷༗ ฐࣾͷGo΁ͷऔΓ૊Έ

Slide 16

Slide 16 text

© 2019 i3Systems, Inc. ■ฐࣾͰͷBoltzEngine؀ڥ !16 CLOMO Boltz Nginx Client Boltz Master Boltz Slave APNs ࣗ෼ͨͪͰߏஙͨ͠΋ͷ ຌྫ BoltzEngineຊମ ॲཧͷྲྀΕ Azure VM(Linux) Կ͔༻ʁ Start ฐࣾͷGo΁ͷऔΓ૊Έ

Slide 17

Slide 17 text

© 2019 i3Systems, Inc. ■ฐࣾͰͷBoltzEngine؀ڥ !17 CLOMO Boltz Nginx Client Boltz Master Boltz Slave APNs ࣗ෼ͨͪͰߏஙͨ͠΋ͷ ຌྫ BoltzEngineຊମ ॲཧͷྲྀΕ Azure VM(Linux) Կ͔༻ʁ Start ๏ Pushূ໌ॻొ࿥ /certificates ๏ PushϦΫΤετ/apns/request(net/rpc ฐࣾͷGo΁ͷऔΓ૊Έ

Slide 18

Slide 18 text

© 2019 i3Systems, Inc. ■ࣗࣾίϚϯυ࡞Δʂ !18 $-*Λ࢖ͬͯࣗࣾͷ࡞ۀϓϩηεΛࣗಈԽɾޮ཰Խ͢Δ % as ●-●-● ͍͋͞ΜίϚϯυ i3 System Automation ●-● Version 2019.06.3, Git 01d0ade, Built 2019-06-28T06:51:49Z ● Copyright i3 Systems, Inc. All Rights Reserved.
 
 Usage: as [options] Commands: begin Begins development on the specified Jira issue get Display resource information as ίϚϯυͱ໋໊( i3 > aisan > as ) ฐࣾͷGo΁ͷऔΓ૊Έ

Slide 19

Slide 19 text

© 2019 i3Systems, Inc. ■ΫϩεϓϥοτϑΥʔϜΛલఏͱ͠ɺGoͰ։ൃʂ ฐࣾͷGo΁ͷऔΓ૊Έ !19 ๏HJUIVCDPNVSGBWFDMJ ๏HJUIVCDPNBOEZHSVOXBMEHPKJSB ๏HPQLHJOTSDEHPHJUW ओͳར༻ϥΠϒϥϦ ࣮૷ऀɿɹ໊ʢͲͪΒ΋(Pະܦݧʣ

Slide 20

Slide 20 text

© 2019 i3Systems, Inc. ■ॱௐʹ։ൃɾɾɾͷ͸͕ͣ !20 ฐࣾͷGo΁ͷऔΓ૊Έ ϦϞʔτϒϥϯν͕νΣοΫΞ΢τͰ͖ͳ͍໰୊͕ൃੜ ѹ౗తεΩϧෆ଍ ʢͦͷޙผͷਓ͕IssueΛ্͍͛ͯͨ)

Slide 21

Slide 21 text

© 2019 i3Systems, Inc. ■ॱௐʹ։ൃɾɾɾͷ͸͕ͣ !21 ฐࣾͷGo΁ͷऔΓ૊Έ ϦϞʔτϒϥϯν͕νΣοΫΞ΢τͰ͖ͳ͍໰୊͕ൃੜ ѹ౗తεΩϧෆ଍ ʢͦͷޙผͷਓ͕IssueΛ্͍͛ͯͨ) ΋͏̍ਓ͕ʮClojureͳΒνϣτσΩϧʯͱ͍ͬͨͷͰͦΕͰ࣮૷ ๏ฉ͘͜ͱ͸େࣄ ๏ࣗ෼ͨͪͰղܾͰ͖Δ͜ͱ΋େࣄ ๏݁ہࠓճ͸(Pͩͱ೉͍͠ͱ൑அ

Slide 22

Slide 22 text

© 2019 i3Systems, Inc. ๏ݎௐͳड஫݅਺(σόΠε਺)ͷ૿Ճʢخ͍͠൵໐ʣ ๏ݎௐͳαʔόʔෛՙͷ૿Ճʢ൵໐ʣ ๏ݎௐͳίʔυྔͷ૿Ճ ■αʔόʔෛՙ໰୊ ࠓޙͷల։ !22 αʔόʔෛՙ͸૿͑ଓ͚ΔҰํɾɾɾ Կ͔༻ʁ Կ͔༻ʁ ෛՙ ෛՙ ෛՙ Կ͔༻ʁ

Slide 23

Slide 23 text

© 2019 i3Systems, Inc. ■αʔόʔෛՙ໰୊ ࠓޙͷల։ !23 ͜Ε·Ͱ΋ରࡦ͸͍Ζ͍Ζ΍͖͍ͬͯͯΔ ๏ αʔϏε෼ׂ ࠓ෩ʹදݱ͢ΔͱϚΠΫϩαʔϏεԽ͠ɺͦΕͧΕ͕ͭͷ7.  ๏ ඇಉظॲཧͷۦ࢖
 3BJMTͷ"DUJWF+PC %FMBZFE+PC Λ࢖ͬͯඇಉظॲཧ ๏ ۪௚ͳϦϑΝΫλϦϯά΍αʔόʔ؂ࢹʹΑΔରԠ
 अѱͳ/ ͷഉআɺ42-Λ௚઀ୟ͘ɺ೔ʑͷαʔϏε؂ࢹͱצͱܦݧʹΑΔਓྗεέʔϧɹͳͲ ؅ཧऀ޲͚αʔϏε .%.ίϚϯυαʔϏε ඇಉظॲཧαʔϏε ূ໌ॻൃߦαʔϏε ͳͲ

Slide 24

Slide 24 text

© 2019 i3Systems, Inc. ■ϚΠΫϩαʔϏεʁ ࠓޙͷల։ !24 ؅ཧ޲͚αʔϏεͷྫ ࣌఺ ΫοΫύουࣾ ࣌఺ https://speakerdeck.com/hogelog/kutukupatudofalseju-da-rails-apurikesiyonfalsegai-shan?slide=17

Slide 25

Slide 25 text

© 2019 i3Systems, Inc. https://speakerdeck.com/hogelog/kutukupatudofalseju-da-rails-apurikesiyonfalsegai-shan?slide=17 ■ϚΠΫϩαʔϏεʁ ࠓޙͷల։ !25 ؅ཧ޲͚αʔϏεͷྫ ࣌఺ ΫοΫύουࣾ ࣌఺ Code LOC: 221,528 Code LOC: 129,142 1.7ഒ

Slide 26

Slide 26 text

© 2019 i3Systems, Inc. ■ຊ౰ͷϚΠΫϩαʔϏεͷͨΊʹɺຊ൪؀ڥKubernetesҠߦ͸͡Ί·ͨ͠ ࠓޙͷల։ !26 Microsoft Azure "[VSF$POUBJOFS3FHJTUSZ "[VSF,VCFSOFUFT4FSWJDF Elastic Cloud

Slide 27

Slide 27 text

© 2019 i3Systems, Inc. ■DEV؀ڥΛKubernetesʹ͠·ͨ͠ ࠓޙͷల։ !27 ࣾ಺-"/ 7.؀ڥ /BNFTQBDF#SBODI/BNF /BNFTQBDF#SBODI/BNF -PDBM3FHJTUSZ /BNFTQBDFFMBTUJDTFBSDI /BNFTQBDF#SBODI/BNF ؅ཧऀ޲͚αʔϏε ʜFUD .%.ίϚϯυαʔϏε /BNFTQBDFJOHSFTTOHJOY 5FBN$JUZ $*$%

Slide 28

Slide 28 text

© 2019 i3Systems, Inc. ■౔୆͸Ͱ͖ͨͷͰ࣍ͦ͜ϚΠΫϩαʔϏεԽΛਪਐʂ ࠓޙͷల։ !28 ϚΠΫϩαʔϏεԽʹ޲͚֤ͯαʔϏεͷૄ݁߹ԽΛ0ϕʔεͰਪਐ ※ΠϝʔδͰ͢ ؅ཧऀ޲͚αʔϏε $36% %# ݱߦγεςϜ Ұ෦੾Γग़͠ σόΠε؅ཧAPI ؅ཧϩά 4ZOD 3 $36% σόΠε%# ؅ཧ༻%# ৽γεςϜ

Slide 29

Slide 29 text

© 2019 i3Systems, Inc. ■౔୆͸Ͱ͖ͨͷͰ࣍ͦ͜ϚΠΫϩαʔϏεԽΛਪਐʂ ࠓޙͷల։ !29 ϚΠΫϩαʔϏεԽʹ޲͚֤ͯαʔϏεͷૄ݁߹ԽΛ0ϕʔεͰਪਐ ※ΠϝʔδͰ͢ ؅ཧऀ޲͚αʔϏε $36% %# ݱߦγεςϜ Ұ෦੾Γग़͠ σόΠε؅ཧAPI ؅ཧϩά 4ZOD 3 $36% σόΠε%# ؅ཧ༻%# ৽γεςϜ H31$͸(PͰ࣮૷༧ఆ ๏(P଎͍
 ΤΫεϙʔτॲཧ3VCZͱൺֱͯ͠΋ഒ͘Β͍଎͔ͬͨ ๏(P࣮૷ͷߋ৽Λ৴པ
 3VCZ࣮૷͕(P࣮૷͔Βஔ͍͚ͯ΅Γʹ͞ΕΔՄೳੑΛආ͚͍ͨ
 ྫ͑͹"[VSFͷҰ෦ͷ(FN͸طʹ$ͷͦΕ͔Βஔ͍͚ͯ΅Γ

Slide 30

Slide 30 text

© 2019 i3Systems, Inc. ■Ұॹʹ࣍ͷεςʔδ΁௅ઓ͍͚ͯͨͩ͠ΔΤϯδχΞΛืू͍ͯ͠·͢ ࠓޙͷల։ !30 ๏Android/iOS/Xamarin ͰΞϓϦ։ൃ͍ͨ͠ํ ๏Ruby on RailsͰαʔόʔαΠυ։ൃ͍ͨ͠ํ ๏৽͍͠ΞʔΩςΫνϟ΍Ϟμϯ։ൃ΍Γ͍ͨํ ๏ϑϩϯτΤϯυͷ։ൃ؀ڥΛ0͔Βߏங͍ͨ͠ํɹͳͲ ෭ۀOKʂ ϦϞʔτϫʔΫOKʂ ࣾ಺ʹ14ɺ/JOUFOEP4XJUDI׬උʂ

Slide 31

Slide 31 text

© 2019 i3Systems, Inc. !31