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

ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造

 ビットキーのプロダクトの根幹スマートアクセスをよりスケールするための破壊と創造

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. ϏοτΩʔͷϓϩμΫτͷࠜװ εϚʔτΞΫηεΛΑΓεέʔϧ͢ ΔͨΊͷʮഁյͱ૑଄ʯ

  2. Outline 1. എܠͱ՝୊ 2. ݁Ռ 3. ޻෉ͨ͜͠ͱ 4. ޮՌͱ·ͱΊ 2

  3. ന໦޹య Takanori Shiraki 2014 2016 2018 גࣜձࣾϫʔΫεΞϓϦέʔγϣϯζʹೖࣾ ձܭγεςϜͷιϑτ΢ΣΞ։ൃऀͱͯ͠ɺ؅ཧձ ܭɺಛʹ༧ࢉ؅ཧΛओʹ୲౰ ձܭࣄۀ͔ΒECࣄۀ΁ҟಈ

    ݕࡧΤϯδϯ࿈ܞɺϓϩϞʔγϣϯػೳͷ։ൃΛ୲ ౰ͨ͠ޙɺେखඦ՟ళ޲͚αʔϏεͷ։ൃΛ୲౰ ૑ۀ͔ΒϏοτΩʔ΁δϣΠϯ εϚϗΞϓϦɾ΢ΣϒΞϓϦɾόοΫΤϯυͷجૅ ઃܭɺΠϯϑϥબఆɺΞʔΩςΫνϟઃܭɺϑϨʔ ϜϫʔΫ΍ϥΠϒϥϦͷܾఆ͔Β࣮૷·ͰΛ୲͏ 2022 Workspaceࣄۀͷٕज़੹೚ऀͱͯ͠ ৽نαʔϏεͷઃܭɾ࣮૷ɺطଘαʔϏεͷվमɺ ։ൃମݧͷվળɺ৭ʑ΍ͬͯ·͢
  4. ΞΫηείϯτϩʔϧ ࠓճͷςʔϚ͸ 4 4

  5. എܠ 5

  6. എܠ 6 ͦ΋ͦ΋ΞΫηείϯτϩʔϧͱ͸ʁ

  7. ΞΫηείϯτϩʔϧͱ͸ 7 ϏοτΩʔͰ͸ɺ෺ཧతͳσόΠεͷݖརʹ΋ͱͮ͘ղৣΛɺ σδλϧΩʔʹΑ࣮ͬͯݱ

  8. ΞΫηείϯτϩʔϧͱ͸ 8 ͦΕ͚ͩͰ͸اۀͷ؅ཧ෦໳ͱैۀһͷؔ܎ͷΑ͏ͳɺ ಛఆͷ؅ཧऀ͕େਓ਺ͷΞΫηεΛ੍ޚ͍ͨ͠έʔεʹ͓͍ͯ རศੑʹ՝୊͕࢒Δ…

  9. ΞΫηείϯτϩʔϧͱ͸ 9 ΞΫηείϯτϩʔϧ ਓͷ·ͱ·Γɾ伴ͷ·ͱ·Γɾ৚݅ΛҰݩ؅ཧ

  10. ΞΫηείϯτϩʔϧͱ͸ 10 ΞΫηείϯτϩʔϧ ɾࣾһ͸ฏ೔ɺϏϧͷೖΓޱɾΤϨϕʔλʔɾΦϑΟεʹೖΕΔ ɾͨͩ͠ɺ౔೔͸ݸผڐՄ͕ͳ͍ͱೖΕͳ͍ ɾ૔ݿʹ͸όοΫΦϑΟεͷਓ͚ͩೖΔ͜ͱ͕Ͱ͖Δ ͻͱΓͣͭɺ൶͝ͱʹઃఆ͠ͳͯ͘΋͍͍ɻ

  11. ՝୊ 11

  12. ՝୊ 12 workhubͰ͸ओʹFirestoreΛ׆༻͍ͯ͠Δɻ ※ΞΫηείϯτϩʔϧ΋ؚΊ εέʔϥϏϦςΟ ߴ଎ͳσʔλऔಘ ϦΞϧλΠϜΞοϓσʔτ ॊೈͳσʔλ

  13. ՝୊ ΞΫηείϯτϩʔϧͷ৔߹ 13 13

  14. ՝୊ 14 Firestore͸υΩϡϝϯτࢦ޲ɻ ਺ສਓͷैۀһ΍਺ສͷ൶ͷֻ͚ࢉͱͳΔ ਺ԯن໛ͷυΩϡϝϯτΛ؅ཧ͢Δ͜ͱʹͳͬͯ͠·͏ɻ × 10,000 × 10,000 100,000,000

  15. ՝୊ ͜͏͍͏૊Έ߹Θͤരൃ͕՝୊ʹͳΓ΍͍͢γʔϯͰ͸ɺ εέʔϥϏϦςΟΑΓ΋ɺಈతͳ݁߹͕ಘҙͳRDBͷ΄͏͕ڧΈ͕͋ͬͨɻ ͜ͷྖҬΛҰ͔Β࡞Γ௚͢͜ͱʹʂ Joinʂ Existʂ αϒΫΤϦʂ

  16. ໨ඪ 16 ৚݅ͱୡ੒໨ඪ

  17. ໨ඪ 17 1. ։ൃظؒ: 2ϲ݄

  18. ໨ඪ 18 2. ։ൃऀ: 1ਓ

  19. ໨ඪ 19 3. είʔϓ: શ෦

  20. ໨ඪ 20 4. ෆ۩߹: 0

  21. ໨ඪ 21 5. ઃఆมߋ͔Β൓ө·Ͱ: 0ඵ

  22. ໨ඪ 22 ৚݅ͱୡ੒໨ඪ ։ൃظؒ: 2ϲ݄ ։ൃऀ: 1ਓ είʔϓ: શ෦ ෆ۩߹:

    0 ଈ൓ө
  23. ໨ඪ 23 ݁Ռ ։ൃظؒ: 2ϲ݄ 1ϲ݄ ։ൃऀ: 1ਓ είʔϓ: શ෦

    ෆ۩߹: 0 ଈ൓ө (◦◦෼ɺ◦◦࣌ؒ → 0ඵ) COMPLETED
  24. ΍ͬͨ͜ͱ 24

  25. ࡞Γ௚ͨ͢Ίʹ 25

  26. ࡞Γ௚ͨ͢Ίʹ 26 ࠓճ΋͜ͷγεςϜΛ׆͔ͯ͠ɺ ΞΫηείϯτϩʔϧΛ࡞Γ·ͨ͠ɻ

  27. δΣωϨʔλʔʹ͍ͭͯ 27 ൚༻తͳೖྗˠม׵ˠग़ྗͷΠϯλʔϑΣʔεΛఆٛ ERఆ͔ٛΒDBΞΫηε౳Λࣗಈੜ੒ OpenAPI͔ΒAPI΍όϦσʔλʔ౳Λࣗಈੜ੒ ER OpenAPI ఆٛ ίʔυ ςετ

    etc Work illustrations by Storyset Πϯϓοτ Ξ΢τϓοτ
  28. δΣωϨʔλʔʹ͍ͭͯ 28 ERఆ͔ٛΒ ϦϙδτϦɾΫΤϦɾCRUDϢʔεέʔεɾOpenAPIɾ֤छม׵ Λࣗಈੜ੒ ERਤ OpenAPI ϦϙδτϦ ΫΤϦ Ϣʔεέʔε

    DBϚΠάϨʔγϣϯ Work illustrations by Storyset Πϯϓοτ Ξ΢τϓοτ
  29. δΣωϨʔλʔʹ͍ͭͯ 29 OpenAPI͔Β APIɾೖྗͷόϦσʔλʔͱม׵ɾAPIݺͼग़͠Ϋϥε Λࣗಈੜ੒ OpenAPI API όϦσʔλ σʔλม׵ APIݺͼग़͠Ϋϥε

    Work illustrations by Storyset Πϯϓοτ Ξ΢τϓοτ
  30. ݁Ռ… 30 1ςʔϒϧͷCRUDͳΒςʔϒϧఆٛޙɺAPIςετ࣮ߦ·Ͱ਺෼ ୯७ͳCRUDͰͳ͍৔߹΋ɺ த৺ͷϩδοΫΛॻ͍ͯίϯύΠϧΛ௨ͨ͠Βςετ͢Δ͚ͩ OpenAPI ER ࣮૷ ίϯύΠϧ௨Ε͹ ΘΓͱউͪ

  31. ࠓճ͸ͦΕʹՃ͑ͯ 31 APIͱDB͸ຊ෺ͷίʔυΛ࢖ͬͯίϯςφΛϩʔΧϧͰىಈ ࣗಈੜ੒ͨ͠APIݺͼग़͠Ϋϥεͷ୯ମςετʢͭ·ΓAPIςετʣΛهड़ APIݺͼग़͠ίʔυ DB API ࣗಈੜ੒ ࣗಈੜ੒ ίʔσΟϯά͋Γ

  32. ࠓճ͸ͦΕʹՃ͑ͯ 32 APIͱDB͸ຊ෺ͷίʔυΛ࢖ͬͯίϯςφΛϩʔΧϧͰىಈ ࣗಈੜ੒ͨ͠APIݺͼग़͠Ϋϥεͷ୯ମςετʢͭ·ΓAPIςετʣΛهड़ APIݺͼग़͠ίʔυ DB API ίʔσΟϯά͋Γ ࣗಈੜ੒ ࣗಈੜ੒

    ͜ΕΛςετʂ େྔσʔλ
  33. ݁Ռ 33 ݁Ռ͸...!

  34. ݁Ռ 34 ઃܭɿ2िؒ ςετɿ1िؒ ࣮૷ɿ1िؒ ઃఆมߋ͔Β൓ө·Ͱ0ඵ!! ݁Ռ͸...!

  35. ͏Ε͍͠ϙΠϯτͦͷ1 35 ͦͷ··࢖ͬͯ΋Β͑͹ಈ͘ ςετ͍ͯ͠ͳ͍࢖͍ํΛ͢Δͱ͖΋·ͣςετ௥ՃΛపఈ DBͷΠϯσοΫεޮ཰ͳͲɺ୯ମςετʹؚ·Εͳ͍؍఺΋ςετࡁΈ ར༻ଆͷίʔυ͕ςετࡁΈ

  36. ͏Ε͍͠ϙΠϯτͦͷ2 36 ࣮૷ʹ͕͔͔࣌ؒΒͳ͍ ςετ΋΄΅Ұൃ ίʔυ͕શମతʹࣗಈੜ੒

  37. ͏Ε͍͠ϙΠϯτͦͷ3 37 ERఆٛΛม͑ͨ / APIఆٛΛม͑ͨ தͷϩδοΫΛม͑ͨ / ςετΛม͑ͨ →ϨϏϡΞʔͷ஫໨ϙΠϯτ͕໌֬ มߋΛϨϏϡʔ͠΍͍͢

  38. ࠓޙͷ࿩ 38 Work illustrations by Storyset

  39. Fin 39