Shifter 開発の舞台裏 三種の神器編

Shifter 開発の舞台裏 三種の神器編

#GO_SaaS #JP_GetShifter

122d68629bd106b305c4704647eca315?s=128

DigitalCube Inc.

July 08, 2019
Tweet

Transcript

  1. S A A S ͷ ։ ൃ ɺ ӡ ༻

    ମ ੍ ɺ Ω ϟ ο γ ϡ ϑ ϩ ʔ ͷ Ҡ ߦ ͳ Ͳ ͷ ࿩ # G O _ S A A S ࡾ छ ͷ ਆ ث Φ ϯ Ϙ ʔ σΟ ϯ άη ϛ φ ʔ # 1 ( ౦ ژ ) S h i f t e r ։ ൃ ͷ ෣ ୆ ཪ ࡾ छ ͷ ਆ ث ฤ #GO_SaaS #JP_GetShifter
  2. ຊ ೔ ͷ ಺ ༰

  3. 1 . ࣗ ෼ ͷ Ϗ δ ω ε ʹ

    ू த ͠ Α ͏ 2 . S h i f t e r ͷ ։ ൃ Ͱ S a a S Λ ࢖ ͏ ཧ ༝ 
 3 . P K G o n E C 2 Ͱ ͷ B Y O L / ϓ ϩ μΫ τ ఏ ڙ ͔ Β S a a S ΁ ͷ స ׵ 4 . Ϣʔ βʔ ମ ݧ Λ Ձ ஋ ʹ ม ͑Δ - G e t S h i f t e r 5 . S a a S ʹ ׬ ੒ ͱ ͍ ͏ ֓ ೦ ͸ ଘ ࡏ ͠ ͳ ͍
  4. 1 . ࣗ ෼ ͷ Ϗδ ω ε ʹ ू

    த ͠ Α ͏
  5. Ϗʔϧձࣾɺৢ଄ॴ ʢॴ༗͔Βར༻΁ʣ “Ϗʔϧձࣾͷϛογϣϯɺ
 ίΞɾίϯϐλϯεͱ͍͏ͷ͸ɺ͍ ͔ʹඒຯ͍͠ϏʔϧΛ͍͔ʹ଎͓͘ ٬༷ʹಧ͚Δ͔Ͱ͢ɻ
 
 ൃిॴͱૹిઢ͕੔උ͞Εͨ࣌୅ʹ ࣗલͷൃిػΛ࣋ͭͱ͍͏͜ͱ͸ɺ ຊདྷ·ͬͨ͘ίΞɾίϯϐλϯεʹ

    ͳΒͳ͍Θ͚Ͱ͢ɻ”
  6. 2 . S h i f t e r ͷ

    ։ ൃ Ͱ S a a S Λ ࢖ ͏ ཧ ༝
  7. ୭΋͕࢖͍׳ΕͨWordPressα ΠτΛอकෆཁͳελςΟοΫ αΠτʹม׵͠CDNͰߴ଎഑ ৴/ެ։Ͱ͖ΔʮSaaSʯͰ͢ɻ Shifter ͱ͸ʁ

  8. 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ڌ఺͔Βߴ଎഑৴ • ݎ࿚ͳηΩϡϦςΟ
 WordPress͸ৗ࣌ىಈෆཁɺϋοΫ͞ΕΔཁૉ͕ͳ͍ɻ • ͍҆ίετͰ؆୯ʹεέʔϦϯά
 ಥൃతͳεύΠΫ͕དྷͯ΋҆৺ʂαΠτμ΢ϯ͠ͳ͍ɻ • ϢʔβʔϑϨϯυϦʔ
 ࢖͍׳ΕͨWordPressͰ։ൃɾӡ༻͕Մೳ
 OS/ϛυϧ΢ΣΞͷอक࡞ۀɾίετ͕ෆཁ
 ϏδωεʹूதͰ͖Δ؀ڥ
  9. - 17ਓͷνʔϜ
 - 100%ϦϞʔτϫʔΫ
 - 3ͭͷλΠϜκʔϯ
 ʢ೔ຊɺΦϥϯμɺϑΟϥσϧϑΟΞʣ
 - ೔ຊޠͱӳޠ͕ࠞࡏ͢Δձ࿩
 -

    SaaSઐۀͰͳ͍
 ʢWebͷडୗ։ൃ/ӡ༻ɺϗεςΟϯά؅ཧ΋݉ۀ) Small Team
  10. M R / M S U a U I M

    D M C       S   
  11. • ECS • Fargate • Amazon Aurora • Lambda •

    API Gateway • Dynamo DB • SNS • S3 • CloudFront جຊΞϓϦέʔγϣϯ (Serverless Architecture)
  12. • React αʔϏεμογϡϘʔυ

  13. • CircleCI CI / CD (SaaS)

  14. “CI / CD ͸ Jenkins Ͱ͍͍Μ͡Όͳ͍ʁ”

  15. JenkinsͰӡ༻อकɾ؅ཧ ͢Δ࣌ؒͱϦιʔε͕ඞཁ
 
 1.Ϗϧυ؀ڥ
 2.ΠϯςάϨʔγϣϯ
 3.ϚγϯϦιʔε
 4.։ൃݴޠ —-> ൃిػͱҰॹ CI

    / CD ʹ Jenkins Λ࠾༻ͨ͠৔߹…
  16. • Stripe ՝ۚɾ੥ٻ؅ཧ (SaaS)

  17. • PCI DSSͳͲͷೝূ • ଟ௨՟ରԠ • ଟࠃ੶ରԠ • ॊೈͳఆظܾࡁϩδοΫ •

    Χʔυͷෆਖ਼࢖༻ɾෆ৹੥ٻ ॲཧ • ϦτϥΠϩδοΫ • ࢧ෷͍ͷ࠵ଅॲཧ • ؅ཧμογϡϘʔυͷ։ൃ ΋͠ Stripe ͕ͳͯ͘՝ۚɾ੥ٻ؅ཧΛࣗલͰ։ൃͨ͠Β (ڪΖ͍͠……)
  18. ॏ ΋͠ Stripe ͕ͳͯ͘՝ۚɾ੥ٻ؅ཧΛࣗલͰ։ൃͨ͠Β (ڪΖ͍͠……) ཁ

  19. • Stripe ϞχλϦϯάɾUI։ൃɾαϙʔτσεΫɾCRM … (શͯ SaaS Λར༻)

  20. • Amazon Cognito 
 (User Pool) • Lambda • API

    Gateway • Dynamo DB ID؅ཧ (Serverless Architecture)
  21. “͜ͷ ID ؅ཧͷ Architectureɺ#Go_SaaS Ҋ݅͡ΌͶ?”

  22. • Auth0 ID؅ཧ ΋ SaaS ʹ೚ͤͯ͠·͍͍ͨ —-> #Go SaaS ݕ౼த

  23. 3 . P K G o n E C 2

    Ͱ ͷ B Y O L / ϓ ϩ μΫ τ ఏ ڙ ͔ Β S a a S ΁ ͷ స ׵
  24. BYOLʢMarket Placeʣ
 
 - AMI 8छྨ
 - CloudFormation 8छྨ
 -

    ύϑΥʔϚϯε࠷దԽ ͞ΕͨAMI AWS Market Place
  25. SaaSʢSingleςφϯτʣ
 
 - αʔόߏ੒ 2छྨ
 - ϓϥϯ 8छྨ
 - WordPressઐ༻؀ڥ


    ʢϑϧϚωʔδυϗεςΟϯάʣ AMIMOTO ϚωʔδυϗεςΟϯά
  26. “ϓϩμΫτΛʮεϖοΫ΍ੑೳʯͰࠩผԽ͢ΔϞσϧ͕ऴᖼΛ ܴ͑ɺ࢖͍ଓ͚ΔաఔͰͲͷΑ͏ͳʮମݧʯΛಘΒΕΔ͔͕ɺ αʔϏεΛબ୒͢ΔॏཁͳϑΝΫλʔͳ͖͍ͬͯͯΔɻ” ঎඼ࣗମʹ͓ۚΛ෷͏࣌୅͕ऴΘΓɺ
 Ϣʔβʔ͸”ମݧ”ʹՁ஋Λݟ͍ͩ͢Α͏ʹ

  27. SaaSʢϚϧνςφϯτʣ
 
 - ৽͍͠WordPressମݧ
 - JAMstack ίϯηϓτ
 - ϑϦʔϓϥϯ༗Γ
 -

    ར༻ʹԠͨ͡Ձ֨ମܥ Shifter
  28. 4 . Ϣ ʔ β ʔ ମ ݧ Λ Ձ

    ஋ ʹ ม ͑Δ ʮ G e t S h i f t e r ʯ
  29. None
  30. Ͳͷ͙Β͍Ϣʔβʔମݧ͕มΘΔͷ͔ʁ

  31. S H I F T E R 1.αΠϯΞοϓ/ϩάΠϯ 2.WordPress ฤूɾίϯςϯπ౤ߘ

    3.GENERATEʢ੩తϑΝΠϧʹม׵ʣ 4.Webެ։ W O R D P R E S S 1.αʔό४උ 2.ϛυϧ΢ΣΞ (PHP,Nginx,MySQL) ͷΠϯετʔϧ 3.WordPress Πϯετʔϧ 4.WordPress ฤूɾίϯςϯπ౤ߘ 5.Webެ։ 6.OS / ϛυϧ΢ΣΞͷܧଓతϝϯςφϯε 7.WordPress ͷܧଓతΞοϓσʔτ 8.WordPress Plugin ͷܧଓతΞοϓσʔτ 9.ύϑΥʔϚϯεͷܧଓతͳ࠷దԽ 10.αʔϏε؂ࢹɾӡ༻อकɾαϙʔτ
  32. S H I F T E R ͷ Ϣ ʔεέ

    ʔε
  33. None
  34. None
  35. None
  36. None
  37. None
  38. – J O H N M A E D A

    σβΠϯͱςΫϊϩδʔͷ༥߹Λ௥ٻ͢ΔୈҰਓऀʹ΋ ධՁ͍͖ͨͩ·ͨ͠!
 “@GetShifter — this is a v cool system.”
  39. 5 . S a a S ʹ ׬ ੒ ͱ

    ͍ ͏ ֓ ೦ ͸ ଘ ࡏ ͠ ͳ ͍
  40. “ϢʔβʔʹΑΓྑ͍ମݧΛఏڙͯ͠ɺ೤ڰతͳϑΝϯʹͳͬͯ΋Β͏ͨΊʹ ϑΟʔυόοΫϧʔϓΛ·Θ͠ଓ͚ͳ͚Ε͹ͳΒ͍ɻ”

  41. Go SaaS ͢ΔͳΒɺ·͕ͣࣗΒ͕ SaaS Λ࢖͍౗ͤʂ “Making Your Own Power Doesn’t

    Make Your Beer Taste Better”
 
 SaaSఏڙऀ͔ͩΒͦ͜ɺSaaSΛޮ ཰Α͘ར༻ͯ͠ຊ౰ʹॏཁͳ͜ͱͩ ͚ʹूத͠·͠ΐ͏ɻ
  42. SaaS ఏڙʹγϑτͯ͠ಘΒΕͨ΋ͷ - ν ʔϜ ͕ ʮ D e s

    i g n T h i n k i n g ʯ ϑ Ν ʔε τ ʹ ͳ ͬ ͨ - α ϒ ε Ϋ Ϟ σϧ Ͱ ά ϩ ʔό ϧ ల ։ - ։ ൃ / α ϙʔ τ ͱ ސ ٬ ͷ ϑ Ϩϯ υ Ϧ ʔ ͳ ؔ ܎ - ν ʔϜ ͷ ։ ൃ εΩϧ ɾ Ϟ ν ϕʔ γ ϣ ϯ ͷ ޲ ্ - ཧ ૝ త ͳ Ω ϟ ο γ ϡ ϑ ϩ ʔ - S a a S ఏ ڙ ऀ ؒ ͷ Τ ί γε ςϜ / ί ϛ ϡ χςΟ ˍ ί ϥ Ϙ Ϩ ʔ γ ϣ ϯ
  43. #GO_SaaS #JP_GetShifter https://getshifter.io/