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

Shifter 開発の舞台裏 三種の神器編 -SaaSの開発、運用体制などの話 - / 20190920-go-saas

Shifter 開発の舞台裏 三種の神器編 -SaaSの開発、運用体制などの話 - / 20190920-go-saas

#Go_SaaS 三種の神器 オンボーディングセミナー#2(東京)

Hidetaka Okamoto

September 20, 2019
Tweet

More Decks by Hidetaka Okamoto

Other Decks in Technology

Transcript

  1. S h i f t e r ։ ൃ ͷ

    ෣ ୆ ཪ ࡾ छ ͷ ਆ ث ฤ - S a a S ͷ ։ ൃ ɺ ӡ ༻ ମ ੍ ɺ Ω ϟ ο γ ϡ ϑ ϩ ʔ ͷ Ҡ ߦ ͳ Ͳ ͷ ࿩ - # G o _ S a a S ࡾ छ ͷ ਆ ث Φ ϯ Ϙʔ σΟ ϯ άη ϛ φ ʔ # 2 ( ౦ ژ ) #Go_SaaS
  2. H i d e t a k a O k

    a m o t o • Digitalcube Co. Ltd. • Nishinomiya / Kobe • Alexa Campions • AWS Samurai 2017 in Japan
  3. S a a S Λ ࡞ Δ ͨ Ί ʹ

    S a a S Λ ࢖ ͏ ΂ ͖ ཧ ༝
  4. S a a S Λ ࢖ ͬͯɺ ʮ ΍ Β

    ͳ ͍ ͜ ͱ ʯ Λ ૿ ΍ ͢ • ࣗ෼Ͱ΍Δ΂͖͔ɺ΍Δ·͍͔ • Ϗδωεͷத਻ͱඞཁͳ΋ͷͷҧ͍ • ShifterͰબΜͩ΋ͷɾબ͹ͳ͔ͬͨ΋ͷ • ΍Βͳ͍͜ͱͰɺݟ͑Δ͜ͱ
  5. S a a S Λ ࢖ ͬͯɺ ʮ ΍ Β

    ͳ ͍ ͜ ͱ ʯ Λ ૿ ΍ ͢ • ࣗ෼Ͱ΍Δ΂͖͔ɺ΍Δ·͍͔ • Ϗδωεͷத਻ͱඞཁͳ΋ͷͷҧ͍ • ShifterͰબΜͩ΋ͷɾબ͹ͳ͔ͬͨ΋ͷ • ΍Βͳ͍͜ͱͰɺݟ͑Δ͜ͱ
  6. Making Your Own Power Doesn't Make Your Beer Taste Better

    ࣗ෼ͷྗͰ΍Δ = ࠷্ͱ͸ݶΒͳ͍ ੲ: Ϗʔϧ޻৔͸ࣗલͰൃిػΛॴ༗ ࠓ: ిؾ͸ൃిॴ͔Βങ͏΋ͷ -> ిؾͷॴ༗͔Βར༻΁ͷมԽ
  7. ʮ ͋ Δ ػ ೳ ʯ ͷ ॴ ༗ ͱ

    ར ༻ • ઃඋΛ༻ҙ͢Δ͜ͱͰɺࣗڅࣗ଍͕ՄೳʹͳΔ -> ॴ༗ • ΦϯϓϨαʔόʔ / ࣗࣾ։ൃ / ϑϧεΫϥον • ୈࡾऀ͕༻ҙͨ͠΋ͷΛೖख͢Δ -> ར༻ • Ϋϥ΢υαʔόʔ / SaaS / ϑϨʔϜϫʔΫ
  8. ʮ ͋ Δ ػ ೳ ʯ ͷ ॴ ༗ ͱ

    ར ༻ • ॴ༗ɿ҆৺ײ΍ॊೈͳΧελϚΠζੑͷ֬อͳͲ͕ظ଴Ͱ͖Δ • ར༻ɿඞཁͳ࣌ʹඞཁͳ͚ͩखʹೖΕΔ͜ͱ͕Ͱ͖Δ • ॴ༗ɿ४උʹ࣌ؒͱίετ͕͔͔Δ / ϝϯςφϯεͷඞཁੑ • ར༻ɿαʔϏεଆͷ࢓༷΁ͷґଘ / ো֐ͷυϛϊ౗͠
  9. ࣗ ෼ Ͱ ༻ ҙ ͢ Δ ͔ ɺ Կ

    ͔ Λ ར ༻ ͢ Δ ͔ • APIϕʔεͷαʔϏεͷ૿ՃɿStripe / Auth0 / AWS / etc… • ෳ਺ͷAPIΛ૊Έ߹ΘͤͰɺϏδωεϩδοΫͷߏங͕Մೳʹ • ඞཁͳ෦඼Λ֎஫ͭͭ͠ɺࣗ෼ͷ঎඼Λ૊ΈཱͯΔ • ʮ૊Έཱ͍ͯͨ΋ͷʯͷͨΊʹ࢖͑Δ΋ͷ͸ͳʹ͔ʁ
  10. S a a S Λ ࢖ ͬͯɺ ʮ ΍ Β

    ͳ ͍ ͜ ͱ ʯ Λ ૿ ΍ ͢ • ࣗ෼Ͱ΍Δ΂͖͔ɺ΍Δ·͍͔ • Ϗδωεͷத਻ͱඞཁͳ΋ͷͷҧ͍ • ShifterͰબΜͩ΋ͷɾબ͹ͳ͔ͬͨ΋ͷ • ΍Βͳ͍͜ͱͰɺݟ͑Δ͜ͱ
  11. ॴ ༗ ͢΂ ͖ ػ ೳ ͱ ඞ ཁ ͳ

    ػ ೳ • ͦͷϏδωεͷجװ -> ॴ༗͢΂͖ • αʔϏεԽ͢ΔͨΊʹඞཁͳػೳ -> ར༻Λݕ౼͢Δ • ΞΧ΢ϯτ؅ཧ / ܾࡁ / αʔόʔ / GUI / etc… • ʮͳ͍ͱࠔΔ͕ɺͲͷϏδωεͰ΋ඞཁͳ΋ͷʯ
  12. Ͳ ͜ · Ͱ Λ ॴ ༗ ͱ ͢ Δ

    ͔ ʁ • ίΞͱͳΔγεςϜ͸ࣗ෼Ͱ࡞Δ͔͠ͳ͍ • γεςϜΛߏ੒͢Δ΋ͷ͸ɺSaaSΛར༻Ͱ͖Δ • ೝূ / ೝՄ / ܾࡁͳͲɺʮඞਢ͚ͩͲίΞ͡Όͳ͍ʯΛݟۃΊΔ • ίΞ෦෼ͷ։ൃʹूத͢ΔͨΊʹɺSaaSΛར༻͢Δ
  13. S a a S Λ ࢖ ͬͯɺ ʮ ΍ Β

    ͳ ͍ ͜ ͱ ʯ Λ ૿ ΍ ͢ • ࣗ෼Ͱ΍Δ΂͖͔ɺ΍Δ·͍͔ • Ϗδωεͷத਻ͱඞཁͳ΋ͷͷҧ͍ • ShifterͰબΜͩ΋ͷɾબ͹ͳ͔ͬͨ΋ͷ • ΍Βͳ͍͜ͱͰɺݟ͑Δ͜ͱ
  14. • React (SPA / GUI) • Serverless FW (API) •

    Netlify (Server) • AWS (API Server) User Interface
  15. S a a S Λ ࢖ ͬͯ Α ͔ ͬ

    ͨ ͜ ͱ • ։ൃ଎౓͕ͱʹ͔͘ૣ͍ • ʮ͜ͷػೳཉ͍͠ʯ -> ʮAPI͋ΔͶʯ -> ʮ͡Ό͋ͦΕΑͿΘʯ • SaaSଆͷϞσϧΛϕʔεʹγεςϜͷઃܭ͕Ͱ͖Δ • ϩά / Ϣʔβʔ؅ཧ / ϚωίϯͳͲͷʮ͋Δͱخ͍͠ʯػೳ͕͋Δ • ࣗલͰ࡞Δͱ͍͍ͩͨޙճ͠ʹ͞Ε͕ͪͳ΋ͷ͕͍͍ͩͨ͋Δ • GDPR / PCI DSSͳͲͷΊΜͲ͍͘͞ ॏཁͳػೳ΋͍͍ͩͨαϙʔτ
  16. S a a S Λ ࢖ ͬͯ ͭ Β ͍

    ͜ ͱ • SaaSͷ࢓༷΍੍໿͕ͦͷ··ϓϩμΫτͷ੍ݶʹͳΔ • ্ݶ΍੍ݶͷ֬ೝ࿙ΕͰ੝େͳ࢓༷࠶ઃܭ͕͓͖Δ͜ͱ΋ • ্ݶ΍੍ݶ͸ඞͣ֬ೝ͔ͯ͠Βಈ͘ɻಈ࡞΋ࢼ͓ͯ͘͠ • ো֐ͷϐλΰϥεΠον • 1 SaaSͷো֐ͷר͖ఴ͑Ͱશମ͕མͪΔՄೳੑ͕͋Δ • API͕ΤϥʔΛฦͨ࣌͠ͷᷖճ࿏͸͋Δ͔ʁ͚ͦͩ͜ࡴͤΔ͔ʁ
  17. S a a S Λ ࣺ ͯ Δ ͱ ͍

    ͏ બ ୒ • ैྔ՝ۚܥSaaS͸ࣙΊ΍͘͢ɺτϥΠΞϧ͕͋Δ͜ͱ΋ଟ͍ • ґଘ͠ͳ͍Α͏ʹ૊ΈࠐΊ͹ɺ͙͢ʹࣙΊΔ͜ͱ΋Մೳ • ʮ·ͣSaaSͰࢼ͢ʯ -> ʮ෺଍Γͳ͍͔Β࡞Δʯͱ͍͏൑அ • ΍Ί΍͍͢ / ࣺͯ΍͍͔͢Βͦ͜ɺΑΓૉૣ͘มԽͰ͖Δ
  18. S a a S Λ ࢖ ͬͯɺ ʮ ΍ Β

    ͳ ͍ ͜ ͱ ʯ Λ ૿ ΍ ͢ • ࣗ෼Ͱ΍Δ΂͖͔ɺ΍Δ·͍͔ • Ϗδωεͷத਻ͱඞཁͳ΋ͷͷҧ͍ • ShifterͰબΜͩ΋ͷɾબ͹ͳ͔ͬͨ΋ͷ • ΍Βͳ͍͜ͱͰɺݟ͑Δ͜ͱ
  19. Ϣ ʔ β ʔ ͸ ʮ ମ ݧ ʯ ʹ

    ͓ ۚ Λ ෷ ͏ • ΧλϩάεϖοΫ΍ੑೳ͚ͩͰબͿέʔε͕ݮগ • ʮͦΕΛ࢖͏͜ͱͰɺͲΜͳମݧ͕Ͱ͖Δ͔ʁʯ • ϢʔβʔͷٻΊΔମݧ͸ৗʹมԽ͢Δ • มԽ͢Δظ଴ʹԠ͑ΔͨΊʹ΋ɺSaaSԽͯ͠ܧଓతͳؔ܎Λ໨ࢦ͢
  20. a s a S e r v i c e

    Խ ͭ͠ ͭ ͋ Δ ੈ ք https://boxil.jp/mag/a3600/
  21. a s a S e r v i c e

    Խ ͭ͠ ͭ ͋ Δ ੈ ք • Backend as a Service • Platform as a Service • Infrastructure as a Service • Software as a Service • etc…
  22. D i g i t a l c u b

    e ͷ a s a S e r v i c e Խ • AWS Marketplace AMI (AMIMOTO): Machine Imageͷఏڙ • AMIMOTO Managed: ϚωʔδυϗεςΟϯάʢSaaSԽʣ • Shifter: WordPressͷSaaSԽʢମݧʹϑΥʔΧεʣ
  23. S h i f t e r ͸ ɺ ୭

    ΋ ͕ ࢖ ͍ ׳ Ε ͨ Wo rd P re s s Ͱ ࡞ ੒ ͠ ͨ We b αΠ τ Λ อ क ෆ ཁ ͳ ελ ς Ο ο Ϋ α Π τ ʹ ม ׵ ͠ C D N Ͱ ߴ ଎ ഑ ৴ Ͱ ͖ Δ ϗ ε ς Ο ϯ ά ι Ϧϡ ʔ γ ϣ ϯ
  24. L I F E C Y C L E •

    WordPressͷϩάΠϯ࣌ʹDockerΛىಈ
 (Editorʣ • AWS ͷϦιʔεͰ੩తHTMLʹม׵
 (Generator) • CDN͔ΒίϯςϯπΛ഑৴
 (Contents Delivery) F E AT U R E • ߴ଎
 HTTP2ରԠ, ࣄલʹϏϧυ͞Εͨ੩తϑΝΠϧΛ
 ੈք100ΧॴҎ্ͷCDNڌ఺͔Βߴ଎഑৴ • ݎ࿚ͳηΩϡϦςΟ
 SSL, ύεϫʔυϨεϩάΠϯ, WordPress͸ৗ࣌ىಈෆཁ
 ϋοΫ͞ΕΔཁૉ͕ͳ͍ • ͍҆ίετͰ؆୯ʹεέʔϦϯά
 ಥൃతͳεύΠΫ͕དྷͯ΋҆৺ʂαΠτμ΢ϯ͠ͳ͍ɻ • ϢʔβʔϑϨϯυϦʔ
 ࢖͍׳ΕͨWordPressͰ։ൃɾӡ༻͕Մೳ
 OS/ϛυϧ΢ΣΞͷอक࡞ۀɾίετ͕ෆཁ
 ϑϩϯτͱόοΫΤϯυͷ෼཭ɺϏδωεʹूதͰ͖Δ؀ڥ
  25. C o n c l u s i o n

    • มΘΔχʔζ΍ؔ܎ੑʹରԠ͢ΔͨΊʹɺSaaSͱͯ͠ఏڙ͢Δ • খ͘͞͸͡Ίͯɺૉૣ͘ม͑Δ • SaaS / FaaSΛࢼͯ͠࢖͏͜ͱͰʮ΍Βͳ͍͜ͱΛ૿΍͢ʯ • ΍Βͳ͍͜ͱͰɺ΍Γ͍ͨ͜ͱ΁ͷϦιʔεΛ૿΍ͦ͏