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

ユビーのアーキテクチャに対する取り組み

 ユビーのアーキテクチャに対する取り組み

Kazuhito Hokamura

September 06, 2022
Tweet

More Decks by Kazuhito Hokamura

Other Decks in Technology

Transcript

  1. 6 ར༻͍ͯ͠Δٕज़ • Πϯϑϥ͸GCP/GKE • όοΫΤϯυ͸Kotlin/Spring Boot͕ଟΊ • Ұ෦Go΍RailsɺPython΋͋Δ •

    ϑϩϯτΤϯυ Next.js/React/Typescript • ௨৴͸GraphQL/REST ※ਤ͸Ұ෦؆ུԽ͍ͯ͠ΔͷͰશͯͰ͸ͳ͍
  2. 12 ՝୊ • ༷ʑͳυϝΠϯ͕৐͍ͬͯΔϞϊϦε ◦ ໰਍αʔϏε ◦ ҩྍػؔͷ؅ཧ ◦ ҩྍϚελʔσʔλͷ؅ཧ

    • toB/toC྆ํ͔Βࢀর͞Ε͍ͯΔ ◦ ੜ࢈ੑͷ௿Լ ◦ ৴པੑͷ௿Լ
  3. 13 վળઓུ • toB/toCͰ໰਍αʔϏεΛ෼͚Δ ◦ ڞ౗ΕϦεΫͷղফ ◦ ϦϦʔεϑϩʔ͕෼཭Ͱ͖Δ ◦ ։ൃ࣌ʹ͓ޓ͍Λߟྀ͢Δඞཁ͕ͳ͘ͳΔ

    • ҩྍػؔ΍ҩྍϚελʔσʔλ؅ཧͱ͍͏
 υϝΠϯΛผαʔϏεʹ੾Γग़͢ ◦ ҩྍػؔυϝΠϯ͸toBͷΈ ◦ Ϛελʔσʔλ͸ڞ௨Ͱ࢖͏͕جຊతʹ read onlyͳͷͰෛՙ෼ࢄ͕༰қ
  4. 16 Four Keysͷܭଌ • σϓϩΠͷස౓ - ૊৫ʹΑΔਖ਼ৗͳຊ൪؀ڥ΁ͷϦϦʔεͷස౓ • มߋͷϦʔυλΠϜ -

    commit ͔Βຊ൪؀ڥՔಇ·Ͱͷॴཁ࣌ؒ • มߋো֐཰ - σϓϩΠ͕ݪҼͰຊ൪؀ڥͰো֐͕ൃੜ͢Δׂ߹ʢ%ʣ • αʔϏε෮ݩ࣌ؒ - ૊৫͕ຊ൪؀ڥͰͷো֐͔Βճ෮͢Δͷʹ͔͔Δ࣌ؒ Ҿ༻ݩ: https://cloud.google.com/blog/ja/products/gcp/using-the-four-keys-to-measure-your-devops-performance
  5. 18 ݴޠɾϑϨʔϜϫʔΫ౳ͷ౷Ұ (As-Is) • Kotlin/Spring Boot͸ӡ༻໘ͷ
 σϝϦοτ͕େ͖͘ͳ͖ͬͯͨ • Rails΋ࠓޙ࠾༻͢ΔϝϦοτ͸΄΅ͳ͍ •

    ܕ͕΄͍͠ͷͰREST͸΍Ί͍ͨ ◦ OpenAPI͸ͭΒ͍... • ϑϩϯτΤϯυ͸ࠓޙ΋Next.js/React
 ͰΑͦ͞͏ • ج൫αʔϏεͳͲͰҰ෦Go΋͋Δ
  6. 19 ݴޠɾϑϨʔϜϫʔΫ౳ͷ౷Ұ (To-Be) • ։ൃݴޠΛTypeScriptʹ౷Ұ͢Δ͜ͱͰੜ ࢈ੑΛ࠷େԽ͍ͨ͠ • όοΫΤϯυͱͷ௨৴͸ӡ༻໘΍ύϑΥʔϚ ϯεͷϝϦοτΛͱͬͯgRPCʹ౷Ұ͍ͨ͠ •

    Node.jsͱgRPCͰݱ࣮తʹӡ༻͕Մೳ͔͸ ݱࡏݕূத • ج൫αʔϏεͳͲύϑΥʔϚϯε͕ٻΊΒΕ Δͱ͜ΖͰ͸Ҿ͖ଓ͖Go΋࠾༻͢Δ