Slide 1

Slide 1 text

ϢϏʔͷΞʔΩςΫνϟʹର͢ΔऔΓ૊Έ 2022/9/7 @hokaccha ʲUbie x Gaudiy x Χ΢γΣʳελʔτΞοϓʹ͓͚ΔArchitectureͷมભ

Slide 2

Slide 2 text

2 About Me Kazuhito Hokamura software engineer @hokaccha @hokaccha

Slide 3

Slide 3 text

3 UbieͷϓϩμΫτ ੜ׆ࣾ޲͚ʢtoCʣ ҩྍػؔ޲͚ʢtoBʣ

Slide 4

Slide 4 text

4 Agenda 1. ϢϏʔͷγεςϜΞʔΩςΫνϟ֓ཁ 2. ݱঢ়ͷٕज़త՝୊ 3. ͜Ε·ͰͷऔΓ૊Έࣄྫ 4. ࠓޙͷվળʹ޲͚ͯ

Slide 5

Slide 5 text

5 Agenda 1. ϢϏʔͷγεςϜΞʔΩςΫνϟ֓ཁ 2. ݱঢ়ͷٕज़త՝୊ 3. ͜Ε·ͰͷऔΓ૊Έࣄྫ 4. ࠓޙͷվળʹ޲͚ͯ

Slide 6

Slide 6 text

6 ར༻͍ͯ͠Δٕज़ ● Πϯϑϥ͸GCP/GKE ● όοΫΤϯυ͸Kotlin/Spring Boot͕ଟΊ ● Ұ෦Go΍RailsɺPython΋͋Δ ● ϑϩϯτΤϯυ Next.js/React/Typescript ● ௨৴͸GraphQL/REST ※ਤ͸Ұ෦؆ུԽ͍ͯ͠ΔͷͰશͯͰ͸ͳ͍

Slide 7

Slide 7 text

7 Agenda 1. ϢϏʔͷγεςϜΞʔΩςΫνϟ֓ཁ 2. ݱঢ়ͷٕज़త՝୊ 3. ͜Ε·ͰͷऔΓ૊Έࣄྫ 4. ࠓޙͷվળʹ޲͚ͯ

Slide 8

Slide 8 text

8 ݱঢ়ͷ՝୊ ● υϝΠϯ͕੒௕ͨ͜͠ͱͰੜ͍ͯ͡Δ
 ઃܭɾ࣮૷ͱͷΪϟοϓ ● αʔϏεؒͷڥք͕ᐆດʹͳΓγεςϜͷ ෳࡶ͕͞രൃ ● ݴޠɺϑϨʔϜϫʔΫɺϓϩτίϧ͕౷Ұ ͞Ε͍ͯͳ͍͜ͱʹΑΔੜ࢈ੑͷ௿Լ

Slide 9

Slide 9 text

9 ͜ͷ··ʹ͢ΔͱͲ͏ͳΔ͔ ࣌ؒͷܦաͱ͓΋ʹࢦ਺ؔ਺తʹ ։ൃίετ͕๲ΒΜͰ͍͘

Slide 10

Slide 10 text

10 ΞʔΩςΫνϟΛվળ͢Δཧ༝ ● ͜ͷ܏͖ΛͰ͖Δ͚ͩখ͍ͨ͘͞͠ ● ཧ૝తʹ͸ઢܗʹ͍ͨ͠

Slide 11

Slide 11 text

11 Agenda 1. ϢϏʔͷγεςϜΞʔΩςΫνϟ֓ཁ 2. ݱঢ়ͷٕज़త՝୊ 3. ͜Ε·ͰͷऔΓ૊Έࣄྫ 4. ࠓޙͷվળʹ޲͚ͯ

Slide 12

Slide 12 text

12 ՝୊ ● ༷ʑͳυϝΠϯ͕৐͍ͬͯΔϞϊϦε ○ ໰਍αʔϏε ○ ҩྍػؔͷ؅ཧ ○ ҩྍϚελʔσʔλͷ؅ཧ ● toB/toC྆ํ͔Βࢀর͞Ε͍ͯΔ ○ ੜ࢈ੑͷ௿Լ ○ ৴པੑͷ௿Լ

Slide 13

Slide 13 text

13 վળઓུ ● toB/toCͰ໰਍αʔϏεΛ෼͚Δ ○ ڞ౗ΕϦεΫͷղফ ○ ϦϦʔεϑϩʔ͕෼཭Ͱ͖Δ ○ ։ൃ࣌ʹ͓ޓ͍Λߟྀ͢Δඞཁ͕ͳ͘ͳΔ ● ҩྍػؔ΍ҩྍϚελʔσʔλ؅ཧͱ͍͏
 υϝΠϯΛผαʔϏεʹ੾Γग़͢ ○ ҩྍػؔυϝΠϯ͸toBͷΈ ○ Ϛελʔσʔλ͸ڞ௨Ͱ࢖͏͕جຊతʹ read onlyͳͷͰෛՙ෼ࢄ͕༰қ

Slide 14

Slide 14 text

14 Agenda 1. ϢϏʔͷγεςϜΞʔΩςΫνϟ֓ཁ 2. ݱঢ়ͷٕज़త՝୊ 3. ͜Ε·ͰͷऔΓ૊Έࣄྫ 4. ࠓޙͷվળʹ޲͚ͯ

Slide 15

Slide 15 text

15 ࠓޙͷվળʹ޲͚ͯ ● ΞʔΩςΫνϟͷվળɾෛ࠴ͷղফ͸Ҿ͖ଓ͖΍͍ͬͯ͘ ● ੜ࢈ੑΛՄࢹԽͯ͠ΞʔΩςΫνϟͷվળͷޮՌΛܭଌ͢Δ ● ݴޠɾϑϨʔϜϫʔΫ౳Λ౷Ұͯ͠ੜ࢈ੑΛ࠷େԽ͢Δ

Slide 16

Slide 16 text

16 Four Keysͷܭଌ ● σϓϩΠͷස౓ - ૊৫ʹΑΔਖ਼ৗͳຊ൪؀ڥ΁ͷϦϦʔεͷස౓ ● มߋͷϦʔυλΠϜ - commit ͔Βຊ൪؀ڥՔಇ·Ͱͷॴཁ࣌ؒ ● มߋো֐཰ - σϓϩΠ͕ݪҼͰຊ൪؀ڥͰো֐͕ൃੜ͢Δׂ߹ʢ%ʣ ● αʔϏε෮ݩ࣌ؒ - ૊৫͕ຊ൪؀ڥͰͷো֐͔Βճ෮͢Δͷʹ͔͔Δ࣌ؒ Ҿ༻ݩ: https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance

Slide 17

Slide 17 text

17 Four Keysͷܭଌ

Slide 18

Slide 18 text

18 ݴޠɾϑϨʔϜϫʔΫ౳ͷ౷Ұ (As-Is) ● Kotlin/Spring Boot͸ӡ༻໘ͷ
 σϝϦοτ͕େ͖͘ͳ͖ͬͯͨ ● Rails΋ࠓޙ࠾༻͢ΔϝϦοτ͸΄΅ͳ͍ ● ܕ͕΄͍͠ͷͰREST͸΍Ί͍ͨ ○ OpenAPI͸ͭΒ͍... ● ϑϩϯτΤϯυ͸ࠓޙ΋Next.js/React
 ͰΑͦ͞͏ ● ج൫αʔϏεͳͲͰҰ෦Go΋͋Δ

Slide 19

Slide 19 text

19 ݴޠɾϑϨʔϜϫʔΫ౳ͷ౷Ұ (To-Be) ● ։ൃݴޠΛTypeScriptʹ౷Ұ͢Δ͜ͱͰੜ ࢈ੑΛ࠷େԽ͍ͨ͠ ● όοΫΤϯυͱͷ௨৴͸ӡ༻໘΍ύϑΥʔϚ ϯεͷϝϦοτΛͱͬͯgRPCʹ౷Ұ͍ͨ͠ ● Node.jsͱgRPCͰݱ࣮తʹӡ༻͕Մೳ͔͸ ݱࡏݕূத ● ج൫αʔϏεͳͲύϑΥʔϚϯε͕ٻΊΒΕ Δͱ͜ΖͰ͸Ҿ͖ଓ͖Go΋࠾༻͢Δ

Slide 20

Slide 20 text

20 Conclusion ● ϢϏʔͷγεςϜ͸ϓϩμΫτͷ੒௕ͱͱ΋ʹෳࡶԽ͖ͯͨ͠ ● ෛ࠴ͷղফΛ͜Ε·Ͱ΋΍͖ͬͯͨ͜͠Ε͔Β΋ܧଓͯ͠΍͍ͬͯ͘ ● ݴޠ΍ϑϨʔϜϫʔΫ΋ΑΓྑ͍΋ͷΛ໨ࢦͯ͠࠶ߏஙΛݕ౼͍ͯ͠Δͱ͜Ζ

Slide 21

Slide 21 text

21 Thank you.