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

ナビタイムジャパンのクラウド活用事例~2週間でAlibaba Cloud上に本番サービスをデプロイした話~

ナビタイムジャパンのクラウド活用事例~2週間でAlibaba Cloud上に本番サービスをデプロイした話~

2019/10/30に開催された「Alibaba Cloud Internet Champion Day(秋)」にて発表した資料です。

NAVITIME JAPAN

October 30, 2019
Tweet

More Decks by NAVITIME JAPAN

Other Decks in Technology

Transcript

  1. φϏλΠϜδϟύϯͷΫϥ΢υ׆༻ࣄྫ
    ʙ2िؒͰAlibaba Cloud্ʹຊ൪αʔϏεΛσϓϩΠͨ͠࿩ʙ
    גࣜձࣾφϏλΠϜδϟύϯ
    ాத Ұथ

    View full-size slide

  2. ©NAVITIME JAPAN
    Who am I ?
    2
    ໊લɿాத Ұथ
    ໾ׂɿCloud Architect
    ܦྺɿ2013೥৽ଔೖࣾɻ2017೥ʙΫϥ΢υܥͷ࡞ۀʹैࣄ
    ɹɹɹAWSΛϝΠϯʹ৮ͬͯ·͢ɻɻ

    View full-size slide

  3. ©NAVITIME JAPAN 3
    • גࣜձࣾ φϏλΠϜδϟύϯ
    • ઃཱ 2000 ೥ 3 ݄ 1 ೔
    • ۀ຿಺༰
    • φϏήʔγϣϯαΠτɾΞϓϦͷӡӦ։ൃ
    • ௨৴ΧʔφϏήʔγϣϯࣄۀ
    • ܦ࿏୳ࡧΤϯδϯͷϥΠηϯεࣄۀ ͳͲ
    • ैۀһ਺ ໿ 540 ໊ (ΤϯδχΞ 80% Ҏ্ʣ
    Our Company

    View full-size slide

  4. ©NAVITIME JAPAN
    NAVITIME
    ৐׵NAVITIME
    ެڞަ௨
    όεNAVITIME
    ͜ΈΕΆ
    υϥΠϒ
    ΧʔφϏλΠϜ
    υϥΠϒαϙʔλʔ
    τϥοΫΧʔφϏ
    πʔϦϯά
    πʔϦϯάαϙʔλʔ
    ࣗసंNAVITIME
    Travel/Inbound
    JapanTravel
    NAVITIME Transit
    NAVITIME Travel
    Plat
    ϔϧεέΞ
    ALKOO
    PC/SP Web
    4
    Our Products

    View full-size slide

  5. ©NAVITIME JAPAN 5
    ϏδωεφϏλΠϜ
    ަ௨අਫ਼ࢉύοέʔδ
    ϏδωεφϏλΠϜ
    ಈଶ؅ཧιϦϡʔγϣϯ
    ޿ࠂ/ΞϥΠΞϯε Φ΢ϯυϝσΟΞ
    ަ௨ίϯαϧςΟϯά ిమ/όεࣄۀऀ޲͚
    ιϦϡʔγϣϯ
    API / SDK ςϨϚςΟΫεαʔϏε
    Our Products

    View full-size slide

  6. ©NAVITIME JAPAN
    φϏλΠϜδϟύϯͱதࠃࢢ৔

    View full-size slide

  7. ©NAVITIME JAPAN
    தࠃࢢ৔Ͱͷ৐׵Ҋ಺
    7
    NAVITIME Transit
    • ΦϑϥΠϯͰ΋࢖͑Δܦ࿏୳ࡧ
    • தࠃࠃ಺͚ͩͰͳ͘ɺੈքதͷ࿏ઢਤ
    Ӿཡ/ܦ࿏୳ࡧ͕Մೳ
    • தࠃࠃ಺Ͱ͸্ւ, ๺ژ, ੨ౡ, ੢҆, …
    Λܝࡌ
    • ೔ຊͷ࿏ઢਤ΋ܝࡌ͍ͯ͠ΔͨΊɺ๚
    ೔࣌ʹ΋ར༻Մೳ

    View full-size slide

  8. ©NAVITIME JAPAN
    தࠃࢢ৔Ͱͷ৐׵Ҋ಺
    8
    Japan Travel by NAVITIME
    • ๚೔؍ޫ٬޲͚ͷ೔ຊ؍ޫΞϓϦ
    • ೔ຊͷ؍ޫهࣄӾཡɺ৐׵ݕࡧɺ஍ਤɺ
    ϓϥϯχϯά͕Մೳ
    • தࠃޠ͚ͩͰͳ͘ӳޠɺؖࠃޠͳͲʹ΋
    ରԠ

    View full-size slide

  9. ©NAVITIME JAPAN
    தࠃࢢ৔Ͱͷ৐׵Ҋ಺
    9
    • ๚೔தࠃਓ޲͚ͷ৐׵ݕࡧαʔϏεΛ2019/5/28ʹఏڙ։࢝
    • ެڞަ௨ػؔΛར༻ͨ͠Ӻ to Ӻͷ৐׵ܦ࿏ݕࡧ͕Մೳ
    • தࠃࠃ಺Ͱ࢖͍׳ΕͨΞϓϦ಺͔ΒγʔϜϨεʹར༻Մೳ
    • ৐׵ػೳʹಛԽͨ͠ϛχϓϩάϥϜͷఏڙ͸೔ຊاۀॳ
    ʢ2019/6/6࣌఺ʣ

    View full-size slide

  10. ©NAVITIME JAPAN
    தࠃࢢ৔Ͱͷ৐׵Ҋ಺
    10
    TOPը໘ पลӺݕࡧը໘ ೖྗαδΣετ

    View full-size slide

  11. ©NAVITIME JAPAN
    தࠃࢢ৔Ͱͷ৐׵Ҋ಺
    11
    ৐׵ݕࡧ݁ՌҰཡ ৐׵ݕࡧ݁Ռৄࡉ ఀंӺϦετ ӡߦ৘ใ

    View full-size slide

  12. ©NAVITIME JAPAN 12
    ࠓճɺ͜ͷΞϓϦέʔγϣϯͷόοΫΤϯυʹ͍͓ͭͯ࿩͠·͢

    View full-size slide

  13. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒

    View full-size slide

  14. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    14
    CDN SLB
    AutoScaling
    ContainerService
    DB΍APIͳͲ
    ࣾ಺Ϧιʔε
    ߳ߓϦʔδϣϯ
    OSS
    ECS

    View full-size slide

  15. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    15
    CDN
    • தࠃࠃ಺͔ΒͷΞΫηεɺ๚೔࣌ʹ೔ຊࠃ಺͔ΒͷΞΫηεΛ
    ߴ଎ʹ͓͜ͳ͏ͨΊCDNܦ༝ͰͷΞΫηε

    View full-size slide

  16. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    16
    ContainerService
    • ECSʹ௚઀ΞϓϦέʔγϣϯΛσϓϩΠ͢ΔͷͰ͸ͳ͘ɺ
    ࣾ಺Ͱ͢Ͱʹར༻࣮੷ͷ͋ͬͨkubernetesΛར༻
    CDN
    • தࠃࠃ಺͔ΒͷΞΫηεɺ๚೔࣌ʹ೔ຊࠃ಺͔ΒͷΞΫηεΛ
    ߴ଎ʹ͓͜ͳ͏ͨΊCDNܦ༝ͰͷΞΫηε

    View full-size slide

  17. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    17
    OSS
    • ΞΫηεϩά͸͢΂ͯObject Storage Service (OSS) ʹอଘ
    • ߳ߓϦʔδϣϯ֎ʹग़͞ͳ͍Α͏ʹݸਓ৘ใ౳ʹ΋഑ྀ

    View full-size slide

  18. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    18
    OSS
    • ΞΫηεϩά͸͢΂ͯObject Storage Service (OSS) ʹอଘ
    • ߳ߓϦʔδϣϯ֎ʹग़͞ͳ͍Α͏ʹݸਓ৘ใ౳ʹ΋഑ྀ
    • ίϯςφ಺͔ΒͷΞΫηεϩάͷग़ྗʹ͸fluentdΛར༻
    • OSSʹϩάΛग़ྗ͔ͨͬͨͨ͠Ί

    View full-size slide

  19. ©NAVITIME JAPAN
    όοΫΤϯυͷߏ੒
    19
    • Container Service (Cluster/SLB/ASG/…)͸
    Resource Orchestration Service - ROSΛ༻͍ͯϫϯΫϦοΫͰߏங
    SLB

    View full-size slide

  20. ©NAVITIME JAPAN
    σϓϩΠ؀ڥ
    20
    • ࣾ಺Ͱར༻࣮੷ͷ͋ͬͨSpinnakerͰσϓϩΠ
    • Spinnaker
    • ϚϧνΫϥ΢υ؀ڥ΁ͷCDπʔϧ
    • AWS/GCP͚ͩͰͳ͘ɺAlibaba Cloud΁ͷσϓϩΠ΋Մೳ

    View full-size slide

  21. ©NAVITIME JAPAN
    σϓϩΠ؀ڥ
    21
    ᶃJenkinsͷ࣮ߦ
    ᶅϦϙδτϦ͔ΒઃఆϑΝΠϧऔಘ
    ᶇઃఆϑΝΠϧΛಡΈࠐΜͰ
    ɹSpinnaker͕σϓϩΠΛ࣮ߦ
    ᶆઃఆϑΝΠϧΛݩʹ
    ɹSpinnakerΛ࣮ߦ
    ᶈContainer Registry͔Β
    ɹ৽͍͠ΠϝʔδΛDL͠
    ɹ৽͍͠ΠϯελϯεͰల։
    ᶄContainer Registry΁
    ɹDockerΠϝʔδΛొ࿥

    View full-size slide

  22. ©NAVITIME JAPAN
    πϚρΩϙΠϯτ&ॴײ

    View full-size slide

  23. ©NAVITIME JAPAN
    ߏங࣌ͷπϚρΩϙΠϯτ
    23
    • RAM (Resource Access Management) ݖݶ؅ཧ
    • ݖݶΛ෇͚ͯ΋ར༻Ͱ͖ͳ͍αʔϏε͕͋ͬͨ
    • RootΞΧ΢ϯτͰActivate͢Δඞཁ͕͋ͬͨ
    • CDNͷࣄલݕূ
    • υϝΠϯઃఆલͷಈ࡞֬ೝ͕Ͱ͖ͳ͍
    • ূ໌ॻ͸ແྉͷূ໌ॻ͕ར༻Մೳ
    • ূ໌ॻͷೝূʹ͸υϝΠϯͷઃఆ͕ඞཁ
    • ͢Ͱʹ࢖͍ͬͯΔυϝΠϯΛ࢖͏৔߹͸੾Γସ͑࣌ʹSSLͷ઀ଓஅ
    ͕ൃੜ͢Δ

    View full-size slide

  24. ©NAVITIME JAPAN
    ߏங࣌ͷπϚρΩϙΠϯτ
    24
    • NAT Gatewayͷ؅ཧ
    • NAT GatewayΛ࡞੒͢ΔલʹɺContainer ClusterΛ࡞੒͢Δͱࣗಈ
    Ͱ࡞੒͞ΕΔʢROSͰͷߏங࣌ʣ
    • ಉ࣌ʹ࡞੒͞Εͨ৔߹ɺCluster࡟আ࣌ʹҰॹʹ࡟আ͞ΕΔͷͰ஫ҙ

    View full-size slide

  25. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    25
    • ϚωʔδυαʔϏε͕๛෋
    • ࢖͍উख͕AWSϥΠΫʢ͓͔͛ͰͳΜͱ͔ͳͬͨʣ
    • ݖݶ؅ཧ͕͔ͬ͠ΓͰ͖Δ
    • DataV͔͍͍ͬ͜ʂ
    • αϙʔτΤϯδχΞͷํʹͱ͜ͱΜೖͬͯ΋Β͑Δ
    Good

    View full-size slide

  26. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    26
    • ೔ຊޠͷυΩϡϝϯτ͕গͳ͍ʢӳޠ΋গͳ͍ʣ
    • ϚωʔδυίϯιʔϧͷҰ෦͕೔ຊޠදهʹະରԠ
    • ݖݶ؅ཧ͕RAM͚ͩͰ׬݁͠ͳ͍
    • RAMϩʔϧ͕࢖͑ͣɺΞΫηεΩʔΛൃߦͤ͟ΔΛಘͳ͍ύλʔϯ͕ଟ͍
    ཁ๬

    View full-size slide

  27. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    27
    • ೔ຊޠͷυΩϡϝϯτ͕গͳ͍ʢӳޠ΋গͳ͍ʣ
    • ෆ໌఺͸౎౓ΤϯδχΞͷํʹ֬ೝ
    • ForumͳͲʹ༗ӹͳ৘ใ͕͋ΔͷͰɺதࠃޠΛ຋༁ͯ͠Ӿཡ
    ཁ๬/ճආࡦᶃ

    View full-size slide

  28. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    28
    • ϚωʔδυίϯιʔϧͷҰ෦͕೔ຊޠදهʹະରԠ
    • ը໘ભҠ͢ΔͱಥવதࠃޠʹมΘͬͨΓ͢Δ͜ͱ͕͋Δ
    • ͻͱ·ͣӳޠͰ࡞ۀ͢Δͷ͕ϕλʔ
    ཁ๬/ճආࡦᶄ

    View full-size slide

  29. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    29
    • ݖݶ؅ཧ͕RAM(Resource Access Management)͚ͩͰ׬݁͠ͳ͍
    • Container Registry͸ผ్RootΞΧ΢ϯτ͔ΒActivate͕ඞཁ
    • RAMͰAdministratorAccessΛ༩͑ͯΤϥʔʹͳΔ͜ͱ΋
    • ॳظ͸RootΞΧ΢ϯτͰ࡞ۀΛ࣮ࢪ
    ཁ๬/ճආࡦᶅ

    View full-size slide

  30. ©NAVITIME JAPAN
    ϦϦʔεޙͷॴײ
    30
    • RAMϩʔϧ͕࢖͑ͣɺΞΫηεΩʔΛൃߦͤ͟ΔΛಘͳ͍ύλʔϯ͕ଟ͍
    • ECS಺͔ΒAliyun CLI͸RAMϩʔϧͷར༻͕Մೳ
    • ossutil͸ΞΫηεΩʔͷΈར༻Մೳ
    • Aliyun CLIͰOSSૢ࡞͕Ͱ͖ͳ͍
    • OSSૢ࡞͸ossutilΛར༻
    • DataV͔ΒOSS΁ͷࢀর͸ΞΫηεΩʔͷΈՄೳ
    ཁ๬/ճආࡦᶆ

    View full-size slide

  31. ©NAVITIME JAPAN
    Alibaba CloudͷߋͳΔ׆༻

    View full-size slide

  32. ©NAVITIME JAPAN
    σʔλ෼ੳ
    32
    • ΞΫηεϩάͷՄࢹԽʹ͸DataVΛ࠾༻
    • DataV
    • ๛෋ͳάϥϑύλʔϯΛඋ͑ͨߴػೳͳσʔλՄࢹԽπʔϧ
    • ΞϦόόάϧʔϓͰ͸ಠ਎ͷ೔ͷച্ՄࢹԽʹ΋࢖ΘΕ͍ͯΔ
    • ՄࢹԽπʔϧͷͨΊɺࣄલʹूܭ౳Ճ޻͓ͯ͘͠ඞཁ͕͋Δ

    View full-size slide

  33. ©NAVITIME JAPAN
    σʔλ෼ੳ
    33
    • ETLॲཧ͸ECS಺Ͱ࣮ࢪ
    • ఆظతʹॲཧΛ࣮ߦ͠ɺఆظతʹΞοϓϩʔυ
    • ݱঢ়ɺϦΞϧλΠϜϩά෼ੳ͸Ͱ͖͍ͯ·ͤΜ
    • DataV͸Ξοϓϩʔυ͞ΕͨϑΝΠϧΛࢀর
    OSS ECS OSS
    DataV

    View full-size slide

  34. ©NAVITIME JAPAN
    σʔλ෼ੳ
    34
    σϞ

    View full-size slide

  35. ©NAVITIME JAPAN
    ࠓޙͷల๬

    View full-size slide

  36. ©NAVITIME JAPAN
    ௚ۙͷ՝୊
    36
    • ϦΞϧλΠϜσʔλ෼ੳ؀ڥͷߏங
    • DataVͷιʔεΛOSS͔ΒApsaraDB for RDSʹมߋ
    • ETLॲཧΛECS͔ΒDataWorksʹมߋ
    • WAFͷಋೖ
    • ΞΫηεϩάΛݟ͍ͯΔͱظ଴௨Γதࠃ͔ΒͷΞΫηε͕ଟ͍
    • ߈ܸ/ΫϩʔϥʔతΞΫηε͕ݟड͚ΒΕΔͷͰ๷͍͗ͨ

    View full-size slide

  37. ©NAVITIME JAPAN 37
    ෭୊ʹ΋͋Δ௨Γɺ
    Alibaba Cloudͷར༻։͔࢝ΒσϓϩΠ·Ͱ2िؒ
    ຊ൪αʔϏεΠϯ·Ͱ4िؒͰͨ͠

    View full-size slide

  38. ©NAVITIME JAPAN 38
    ࠓߋͰ͕͢
    ͦ΋ͦ΋ɺࠓճͳͥAlibaba CloudΛ࢖͔ͬͨ

    View full-size slide

  39. ©NAVITIME JAPAN 39
    ࠓޙɺߋʹ૿Ճ͢ΔͰ͋Ζ͏
    ๚೔தࠃਓͷํʹ޲͚ͨαʔϏεల։Λҙ͍ࣝͯ͠·͢

    View full-size slide

  40. ©NAVITIME JAPAN 40
    ଎ใ
    ຊ೔ɺAlibaba CloudͱφϏλΠϜδϟύϯ͸ɺ
    ๚೔தࠃਓཱྀߦऀʹ޲͚ͨαʔϏε࿈ܞΛൃද

    View full-size slide

  41. ©NAVITIME JAPAN 41
    ຊ೔ɺAlibaba CloudͱφϏλΠϜδϟύϯ͸ɺ
    ๚೔தࠃਓཱྀߦऀʹ޲͚ͨαʔϏε࿈ܞΛൃද
    ଎ใ
    ྆ࣾͰڠྗ͠๚೔தࠃਓ޲͚ͷαʔϏεΛఏڙ༧ఆ

    View full-size slide

  42. ©NAVITIME JAPAN

    View full-size slide