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

OpenSaaS STUDIO

CyberAgent
February 22, 2019

OpenSaaS STUDIO

サイバーエージェントの技術者(エンジニア・クリエイター)向けカンファレンス『CA BASE CAMP 2019』
OpenSaaS STUDIO

CyberAgent

February 22, 2019
Tweet

More Decks by CyberAgent

Other Decks in Technology

Transcript

  1. OpenSaaS Studio CAͰଘࡏ͖ͯͨ͠ج൫ܥ૊৫ ΄ΜͷҰ෦ 12 σΧάϥϑ෦໳ ίΞγεάϧʔϓ ήʔϜϓϥοτϑΥʔϜࣨ ήʔϜج൫άϧʔϓ
 ίΞάϧʔϓ

    ٕज़ઓུࣨ ίΞγεάϧʔϓ ίΞσΟϕϩοϓϝϯτ άϧʔϓ ΫϩεΠϊϕʔγϣϯࣨ ։ൃάϧʔϓ ϒϩάDiv ϒϩάγεςϜ ج൫άϧʔϓ ٕज़ຊ෦ ωΠςΟϒ։ൃਪਐࣨ ։ൃج൫άϧʔϓ ໨తɾࣄۀϑΣʔζɾܹ͍͠૊৫มԽʹΑͬͯɺ ଟ͘ͷج൫૊৫͕εΫϥοϓϏϧυΛ܁Γฦ͖ͯͨ͠ɻ
  2. ج൫ϓϩμΫτͷ͋Γ͕ͪͳੜ֔ ج൫νʔϜ
 Ϧιʔε࡟ݮ ج൫ӡ༻ ϑΣʔε χʔζͷ
 มԽɾߴ౓Խ ج൫Ձ஋ͷ
 ఀ଺ ӡ༻

    ج൫ͷ ෛ࠴Խ DŽ ػೳ௥Ճ ͓ئ͍͠·͢ ҆ఆͯ͠ΔͷͰผ։ൃ ʹϦιʔεدͤΔ ৽ٕज़ͱͷ
 ૬ੑ͕ѱ͍ ֎෦SaaSͰྑ͍ͷग़ͨ ͔Βج൫ར༻ࢭΊ·͢ʂ “ͱ͖Ί͔ͳ͍”ͷʹ ࣺͯΒΕͳ͍
  3. OpenSaaS Studio 0% 25% 50% 75% 100% ։ൃ։࢝ ϦϦʔε ൒೥ޙ

    1೥ޙ 2೥ޙ 3೥ޙ ։ൃίετ ޻਺࡟ݮ ج൫ͷੜ֔Ձ஋ 17 ୹ظతͳ޻਺࡟ݮΛୡ੒ޙɺ ؇΍͔ʹՁ஋Λࣦ͍ͬͯ͘ɻ
  4. Ȝ ȟ ୹ظత தɾ௕ظత ໰Θͣ APIɺSDKͷར༻ʹΑΔ։ൃ޻਺࡟ݮ ୹ظతࢹ఺ ӡ༻ෛՙ௿ݮʹߩݙ͠ଓ͚ΒΕΔ͔ ܧଓతʹαϙʔτΛظ଴Ͱ͖Δ͔ σϑΝΫτͱͳΓ͏Δ͔

    தɾ௕ظతࢹ఺ ࢖͍΍͘͢ γϯϓϧͰ DeveloperϑϨϯυϦʔͰ͋Δ͔ ୹ɾதɾ௕໰Θͣ αʔϏε։ൃऀ͕ຊ౰ʹཉ͍ͯ͠Δ΋ͷ͸Կ͔ʁ ȟ Ȝ
  5. OpenSaaS Studio Ϗδϣϯ&ϩʔυϚοϓ ϓϩμΫτʹ͸Ϗδϣϯ΋ ϩʔυϚοϓ΋͋Δ ຊؾ౓ Ұͭͷࣄۀͱͯ͠औΓ૊ΜͰ͍ΔͨΊ ࣄۀձࣾͷதʹ͋Δج൫૊৫ͱ͸ຊؾ౓͕ҧ͏ ࣋ଓՄೳͳ։ൃ ࣾ಺Ͱด͍ͯ͡Δج൫ͱҧ͍

    ސ٬ϑΟʔυόοΫ͕ѹ౗తʹଟ͘ ։ൃ͕ઈ͑ͣଓ͘ | Ձ஋ͷ޲্ ϓϩμΫτՁ஋޲্ͱٕज़ίϛϡχςΟͷ ৢ੒ΛηοτͰ ֎෦ͷج൫αʔϏε 21 SaaS
  6. OpenSaaS Studio ϒϧʔɾΦʔγϟϯͷ ։୓ʹ੒ޭ UX ࢖͍΍͢͞ ӡ༻ෛՙͷখ͞͞ OPEN SOURCE ΦʔϓϯιʔεԽʹΑΔೝ஌

    ϓϧϦΫ૬৐ޮՌ NO TECHNICAL DEBT αʔϏεʹͱͬͯ ෛ࠴ʹͳΓʹ͍͘΋ͷ BLUE OCEAN ࣾ಺ج൫ͷ੒ޭཁҼ 27 SUCCESS FACTOR
  7. OpenSaaS Studio NO MORE TRADITIONAL ΋͸΍ैདྷܕͷج൫૊৫Ͱ͸ ҙຯ͕ͳ͍ LIKE A NEW

    BUSINESS ͨͩͷج൫ϓϩμΫτͰ͸ͳ͘ɺ ࣄۀͷ্ཱͪ͛ͱಉ౳ͷҙࣝͰ΍Δ NO MORE INTERNAL ࣾ಺ͱ͍͏࿮ʹཹ·Βͣɺ ࢢ৔ͰউͯΔڝ૪ྗΛ ࣋ͭϓϩμΫτͮ͘Γ͕ඞཁ STRONG TECH ORG ܧଓతʹϓϩμΫτΛຏ͍͍ͯ͘ ͨΊͷڧ͍ٕज़૊৫Λͭ͘Δ ৽͍͠ج൫૊৫ͷํ޲ੑ 30 NEW DIRECTION
  8. OpenSaaS Studio ٕज़ઓུ 40 •ج൫૊৫ΑΓαʔϏεͷํ͕ٕज़తʹ߈ΊͯΔΑ͏͡Όμϝ •ߴ͍҆ఆੑɺՄ༻ੑΛઌਐٕज़΁ͷੵۃ௅ઓͰղܾ͢Δ •ΤϯδχΞ͕ৗʹ੒௕Ͱ͖Δ؀ڥΛ ઌਐੑ •OpenSaaS StudioͷϓϩμΫτϚοϓͷ੔උʢϙʔλϧԽʣ

    •Θ͔Γ΍͍͢γϯϓϧͳ࢓༷ɺSwaggerఏڙ •ੵۃతͳϝτϦΫεͷެ։ɺར༻ঢ়گͷՄࢹԽ ಁ໌ੑ •ϓϥοτϑΥʔϜෆ໰ͷϓϩμΫτΛͭ͘Δ •ϩοΫΠϯϦεΫΛపఈഉআ •Free TenancyઓུʢSingle/Multi Tenancyબ୒Մʣ ϙʔλϏϦςΟ
  9. OpenSaaS Studio OpenSaaSϞσϧ͕࠷΋ڝ૪ྗΛൃشͰ͖Δ͔Β OSSԽͱSaaSԽʹΑͬͯಘΒΕΔ΋ͷ 47 ࠷΋ڝ૪ྗΛ ൃش PULL REQUEST ϓϧϦΫ૬৐ޮՌ

    NO LOCK-IN ϩοΫΠϯ΍ ϨΨγʔԽϦεΫͷճආ FEEDBACK ѹ౗తͳϑΟʔυόοΫྔ EASY TO ADOPT ϚωʔδυSaaS΋ఏڙ͢Δ͜ͱʹ ΑΓɺར༻ɾӡ༻োนͷܰݮ
  10. OpenSaaS Studio OpenSaaSϞσϧ͕࠷΋ڝ૪ྗΛൃشͰ͖Δ͔Β OSSԽͱSaaSԽʹΑͬͯಘΒΕΔ΋ͷ 48 ࠷΋ڝ૪ྗΛ ൃش PULL REQUEST ϓϧϦΫ૬৐ޮՌ

    NO LOCK-IN ϩοΫΠϯ΍ ϨΨγʔԽϦεΫͷճආ FEEDBACK ѹ౗తͳϑΟʔυόοΫྔ EASY TO ADOPT ϚωʔδυSaaS΋ఏڙ͢Δ͜ͱʹ ΑΓɺར༻ɾӡ༻োนͷܰݮ
  11. OpenSaaS Studio OpenSaaSϞσϧ͕࠷΋ڝ૪ྗΛൃشͰ͖Δ͔Β OSSԽͱSaaSԽʹΑͬͯಘΒΕΔ΋ͷ 49 ࠷΋ڝ૪ྗΛ ൃش PULL REQUEST ϓϧϦΫ૬৐ޮՌ

    NO LOCK-IN ϩοΫΠϯ΍ ϨΨγʔԽϦεΫͷճආ FEEDBACK ѹ౗తͳϑΟʔυόοΫྔ EASY TO ADOPT ϚωʔδυSaaS΋ఏڙ͢Δ͜ͱʹ ΑΓɺར༻ɾӡ༻োนͷܰݮ
  12. OpenSaaS Studio OpenSaaSϞσϧ͕࠷΋ڝ૪ྗΛൃشͰ͖Δ͔Β OSSԽͱSaaSԽʹΑͬͯಘΒΕΔ΋ͷ 50 ࠷΋ڝ૪ྗΛ ൃش PULL REQUEST ϓϧϦΫ૬৐ޮՌ

    NO LOCK-IN ϩοΫΠϯ΍ ϨΨγʔԽϦεΫͷճආ FEEDBACK ѹ౗తͳϑΟʔυόοΫྔ EASY TO ADOPT ϚωʔδυSaaS΋ఏڙ͢Δ͜ͱʹ ΑΓɺར༻ɾӡ༻োนͷܰݮ
  13. OpenSaaS Studio OpenSaaSϞσϧ͕࠷΋ڝ૪ྗΛൃشͰ͖Δ͔Β OSSԽͱSaaSԽʹΑͬͯಘΒΕΔ΋ͷ 51 ࠷΋ڝ૪ྗΛ ൃش PULL REQUEST ϓϧϦΫ૬৐ޮՌ

    NO LOCK-IN ϩοΫΠϯ΍ ϨΨγʔԽϦεΫͷճආ FEEDBACK ѹ౗తͳϑΟʔυόοΫྔ EASY TO ADOPT ϚωʔδυSaaS΋ఏڙ͢Δ͜ͱʹ ΑΓɺར༻ɾӡ༻োนͷܰݮ
  14. OpenSaaS Studio ڝ૪ྗ ΧςΰϦʔ ࣄྫ ։ൃίετ ӡ༻ίετ ීٴ཰ ϓϧϦΫ
 ૬৐ޮՌ

    ϩοΫΠϯ
 ϦεΫ ϨΨγʔԽ
 ϦεΫ 365/24
 ӡ༻ମ੍ Ϩϕϧ 1 ෦໳಺ ج൫ Hoge Hoge ج൫ଆ Ϣʔβଆ ௿ ♥ ߴ Ϩϕϧ 2 ࣾ಺ GHE ج൫ଆ Ϣʔβଆ ⋆ ௿ ♥ த Ϩϕϧ 3 ࣾ಺ SaaS ج൫ଆ ج൫ଆ ⋆⋆ த த Ϩϕϧ 4 ࣾ֎ OSS ج൫ଆ Ϣʔβଆ ⋆⋆⋆ ແ ♥ த Ϩϕϧ 5 ࣾ֎ SaaS ج൫ଆ ج൫ଆ ⋆⋆⋆⋆ ߴ ௿ ♥ Ϩϕϧ 6 ࣾ֎ OpenSaaS ج൫ଆ ج൫ଆ ⋆⋆⋆⋆⋆ ແ ♥ ແ ♥ ج൫඼࣭ͱϓϩμΫτϞσϧ KubernetesͷΑ͏ͳOpenSaaSϞσϧΛ໨ࢦ͢ 52
  15. OpenSaaS Studio ඞཁͳεΩϧηοτ 54 PROGRAMING CLOUD INFRA SENSE EVANGELISM OSSͱͯ͠ੈքϨϕϧʹ

    ௨༻͢Δߴ͍ ϓϩάϥϛϯάྗ Public Cloud΍ Infrastructureʹؔ͢Δ ਂ͍஌ࣝ ৽ٕज़Λੵۃతʹ औΓೖΕɺϓϩμΫτͷ Ձ஋ʹܨ͛ΒΕΔηϯε ૊৫ɺϓϩμΫτɺٕज़ Λ޿͘ൃ৴Ͱ͖Δ ΤϰΝϯδΣϦζϜ
  16. OpenSaaS Studio Hayabusa Ձ஋ 59 Ϣʔβମײͷ޲্ ۀքͷఈ্͛ ϑϩʔͷޮ཰Խ ίετ࡟ݮ ΫϥΠΞϯτຖʹ

    ࠷దͳαΠζɾܗࣜ ࠷ઌ୺ͷ ϕετϓϥΫςΟε ϦΞϧλΠϜ ը૾ม׵ ։ൃɾϝϯςඅΛ Χοτ
  17. OpenSaaS Studio AIΛ༻͍ͨը૾ࣗಈධՁ ۀքॳ 64 Auto Quality Auto Format Type

    Auto Format UA SSIMΑΓਖ਼֬ɾૣ͘ ൺֱΑΓ༧ଌ ࣗಈը࣭ ΠϥετɺࣸਅɺອըɺΞΠίϯ ࣗಈ൑ผ ίϯςϯπʹԠͨࣗ͡ಈܗࣜ HEIFɺWebPɺJPEGɺPNG… ࠷ద഑৴ UserAgentʹԠͨࣗ͡ಈܗࣜ Ϟσϧαϯϓϧ
  18. OpenSaaS Studio Hayabusa Stack 69 Deep Learning, Microservices, Monorepo, HELM,

    Kustomize, Docker, gRPC, Protocol Buffers, Prow, Python, TensorFlow, Redis, BigQuery, VIPS, Stackdriver, Akamai, Fastly, StatusPage, Firebase Hosting, Vue, VuePress, GraphQL, Apollo, Prisma, BrowserStack
  19. OpenSaaS Studio ੈքج४ͰউෛͰ͖ΔOSSϦϙδτϦ΁ 70 Bazelಋೖ 1ͭͷϦϙδτϦͰMicroservicesߏ੒΁ → MonorepoԽ Bazel &

    Monorepo KubernetesͷProw ˍ ArgoCDͰGitOpsελΠϧ΁ PRࣗಈϚʔδ౳ɺߴ͍Ϩϕϧͷӡ༻Λ࣮ݱ Kubernetes Prow & ArgoCD ߴ͍ந৅౓ɾྑ͍։ൃϓϩηεͰ ΑΓcontribute͠΍͍͢ϓϩμΫτ΁ High Abstraction
  20. OpenSaaS Studio DDD + Server Side Kotlin 76 ΑΓۀ຿Λཧղ͠΍͍͢ίʔυ KotlinͰΑΓγϯϓϧͳίʔυ΁

    ྑ͍఺ ܧଓతʹυϝΠϯϞσϧΛҭ͍ͯͯ͘ίετ ڭҭɺϝϯόʔ΁ͷਁಁͷ೉͠͞ ՝୊ + ?
  21. OpenSaaS Studio Orion Stack 81 tky02, TKE (Taninari Kubernetes Engine),

    Microservices, Clean Architecture, Image Filtering, Deep Learning
  22. σβΠϯࢥߟ 3. ૑଄ 4. ϓϩτλΠϓ 2. ໰୊ఆٛ 1. ڞײ 5.

    ςετ σβΠϯʹඞཁͳߟ͑ํͱख๏Λར༻ͯ͠
 Ϗδωε্ͷ໰୊Λղܾ͢Δ
  23. Product Owner Jobs Director Platform Engineer App Engineer Frontend Engineer

    UI/UX Designer Domain Expert Technical Evangelist OpenSaaS Studio Jobs