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

継続的なサービス発展を支えるアーキテクチャと技術 / Developers Summit 2023

Avatar for Altech Altech
February 09, 2023

継続的なサービス発展を支えるアーキテクチャと技術 / Developers Summit 2023

自社サービスにおいてどのようにアーキテクチャと技術を活用するかについて、基本的な考え方をお話ししました。

https://event.shoeisha.jp/devsumi/20230209/session/4133/

Avatar for Altech

Altech

February 09, 2023
Tweet

More Decks by Altech

Other Decks in Technology

Transcript

  1. ࣗݾ঺հ  • ஛໺૑ฏ • ΢ΥϯςουϦʔ • ೥ʹࢀՃɺ೥͔Βٕज़ϑΣϩʔ • աڈͷ࢓ࣄ

    • ϓϩμΫτάϩʔεɺϓϩμΫτϚωδϝϯτ • ΤϯδχΞϦϯάϚωδϝϯτ • ։ൃج൫ߏஙɺΞʔΩςΫνϟઃܭɾվળ "MUFDI@ "MUFDI
  2. © 2022 Wantedly, Inc. ؾܰʹձࣾ๚໰ ϛογϣϯ΍Ձ஋؍΁ͷڞײͰϚονϯά w څ༩΍෱རްੜͳͲͷ৚݅Ͱ͸ͳ͘ɺ 
 ૝͍͕͋Ε͹ձࣾͷن໛ʹͱΒΘΕͳ͍

    ·ͣʮ࿩Λฉ͖ʹߦ͘ʯͱ͍͏৽͍͠ମݧ w ݸਓͱاۀ͕ϑϥοτͳ໨ઢͰग़ձ͑Δ͜ͱͰɺ 
 ΑΓັྗతͳ৔ॴΛݟ͚ͭΔ͜ͱ͕Մೳʹ ఏڙϓϩμΫτ ݸਓ޲͚
  3. © 2022 Wantedly, Inc. ఏڙϓϩμΫτ ࠾༻ͷ͋ΓํΛม͑Δ SaaSϓϩμΫτ HIRING ๏ਓ޲͚ 4ສࣾͷاۀϢʔβʔ਺

    w *5ɾελʔτΞοϓاۀΛத৺ʹ༷ʑͳձࣾͰ׆༻͞Ε͍ͯ·͢ ੒Ռใुͳ͠ͷఆ੍ֹྉۚϞσϧ w ӡ༻ͷ޻෉࣍ୈͰɺ࢖͑͹࢖͏΄Ͳ࠾༻ޮՌΛൃش͠·͢
  4. ಓ۩ཱͯɿಠཱʹσϓϩΠՄೳͳίϯϙʔωϯτ  • ຊൃදͰ͸ɺ • ಠཱʹσϓϩΠՄೳͳιϑτ΢ΣΞίϯϙʔωϯτ • Λߏ੒ཁૉͱͯ͠ɺΞʔΩςΫνϟΛߟ͍͖͑ͯ·͢ɻ • ࢀߟɿ

    • σϓϩΠಠཱੑͱςετ༰қੑ͕͋Δ૊৫͸ɺιϑτ΢ΣΞσϦόϦʔͷ 
 ύϑΥʔϚϯε͕ߴ͍Մೳੑ͕େ͖͍͜ͱ͕ଟ͍஌ΒΕ͍ͯ·͢<>
  5. ࠷ॳظͷΞʔΩςΫνϟ  • σϓϩΠಠཱੑͷ؍఺Ͱ͸࠷΋୯७ͳΞʔΩςΫνϟ • 8FCαʔϏε 3VCZPO3BJMTͰߏ੒ ࢼߦࡨޡ͕࠷଎ͰͰ͖Δ • 1BB4

    IFSPLV Λ࢖͍ͬͯͨͷͰΠϯϑϥνʔϜ΋ͳ͍ 8FC ίϯςϯπ γεςϜ ίϯϙʔωϯτ νʔϜ ˠϑΣʔζ͕มΘΔͱద߹͢ΔΞʔΩςΫνϟ͸Ͳ͏มΘΔ͔ʁͦΕ͸ͳ͔ͥʁ ΞʔΩςΫνϟ ౷ܭ ͳ͍ͷ͔ͩΒ݁߹͠Α͏͕ͳ͍ʜʂ
  6. ϢʔβʔΠϯλʔϑΣΠεͷ෼཭  8FC ΞϓϦ 8FC ΞϓϦ ݸਓ اۀ γεςϜ ίϯϙʔωϯτ

    νʔϜ "1* • αʔϏεͷ੒௕υϥΠόʔ͝ͱʹ෼཭͢Δ • ݸਓ޲͚8FCΞϓϦͷ໨తɿݸਓϢʔβʔ΁ͷαʔϏεՁ஋ఏڙ͓Αͼ޲্ • اۀ޲͚8FCΞϓϦͷ໨తɿاۀϢʔβʔ΁ͷαʔϏεՁ஋ఏڙ͓Αͼ޲্ • γεςϜͷ໨తɿ৘ใΛਖ਼͘͠஝ੵ͠ɺऔΓग़ͤΔΑ͏ʹ͢Δ͜ͱ
  7. ϢʔβʔΠϯλʔϑΣΠεͷల։  8FC ΞϓϦ 8FC ΞϓϦ ݸਓ اۀ γεςϜ ίϯϙʔωϯτ

    νʔϜ "1* J04 ΞϓϦ "OESPJE ΞϓϦ • ݸਓ޲͚͸ҟͳΔΞϓϦϓϥοτϑΥʔϜʹਫฏల։ • ݸਓ޲͚ΞϓϦͷ໨త͸ɺ֤ΞϓϦϓϥοτϑΥʔϜͷϢʔβʔ΁ͷՁ஋ఏڙ ʹ෼ղ͞ΕΔ ϞόΠϧΞϓϦ΋ಠཱͯ͠σϓϩΠ͞ΕΔ
  8. ࣮ࡍͷΞʔΩςΫνϟҠߦ  • ௕Β͘γεςϜ͕ಛఆΞϓϦͷ6*ͷΈͱ݁߹͍ͯͨ͜͠ͱͰɺ 
 ༷ʑͳϨϕϧͰػձଛࣦ͕ݟΒΕͨ • ֤ΞϓϦ΁ͷػೳల։ੑʹόϥ͖͕ͭ͋Δ • γεςϜࣗମ͕੒௕͠ͳ͍

    • αʔϏεʹରͯ͠૊৫͕࣋ͭϝϯλϧϞσϧͷζϨ • ෳࡶͳػೳΛ෼཭ͯ͠ɺϦʔυλΠϜʹେ෯ͳվળ͕ݟΒΕͨͨΊॱ࣍Ҡߦ 8FC ΞϓϦ 8FC ΞϓϦ ݸਓ اۀ γεςϜ "1* J04 ΞϓϦ "OESPJE ΞϓϦ ࣮ࡍ͸௕Β͘͜ͷൣғ͕ ͭͷίϯϙʔωϯτʹ 
 ͳ͍ͬͯͨ ΞʔΩςΫνϟ͕૊৫ʹ࡞༻͢Δྫ ͨͩ͠ॳظ͸ٕज़తͳղܾํ๏͕ͳ͔ͬͨ
  9. ਪનɾݕࡧΞϧΰϦζϜͷ෼཭  ϝΠϯ γεςϜ اۀਪન "1* ݸਓਪન 
 ਪન Ϟσϧ

    31$ • ϚονϯάʹࢸΔܦ࿏͝ͱʹ෼཭͢Δ • اۀਪનγεςϜͷ໨తɿԠื࣌ͷݸਓϢʔβʔͷҙࢥܾఆิॿ • ݸਓਪનγεςϜͷ໨తɿεΧ΢τ࣌ͷاۀϢʔβʔͷҙࢥܾఆิॿ ΦϑϥΠϯ 
 ਪન Ϟσϧ 
 ਪન Ϟσϧ 
 ਪન Ϟσϧ
  10. ࣮ࡍͷνʔϜߏ੒  ϝΠϯ γεςϜ اۀਪન "1* ݸਓਪન 31$ ίϯϓϦέΠςουαϒγεςϜνʔϜ αϒγεςϜʹ෼཭͞Ε͍ͯΔͨΊ

    طଘͷϓϩμΫτνʔϜͷೝ஌ෛՙ͕ඇৗʹগͳ͍ όοΫΤϯυΤϯδχΞͱ 
 σʔλαΠΤϯςΟετͰߏ੒͞ΕͨਪનνʔϜ ͜ͷνʔϜͰ೥୯ҐͰվળΛଓ͚͍ͯΔ • ίϯϙʔωϯτΛ෼཭͢Δ͜ͱͰɺ6*վળɾػೳվળΛݮਰͤ͞Δ ͜ͱͳ͘ΞϧΰϦζϜվળͱ͍͏ผͷվળαΠΫϧ͕ੜ·Ε͍ͯΔ • ҰൠతʹϓϩμΫτʹ͸શମੑ͕͋ΓಛʹػೳมߋͷฒྻԽ͸ࣗ໌Ͱ͸ͳ͍ͨΊɺ͜Ε͕ڧΈͱͳ͍ͬͯΔ <> 
 ਪન Ϟσϧ 
 ਪન Ϟσϧ 
 ਪન Ϟσϧ 
 ਪન Ϟσϧ
  11. <ଞͷέʔε>৽نαʔϏεͰϑϧϚΠΫϩαʔϏε  • શ͘ผͷαʔϏεΛɺ࠷ॳ͔ΒϚΠΫϩαʔϏεͰ࡞ͬͨ͜ͱ΋͋ͬͨ • ίϯϙʔωϯτ νʔϜ • ೝ஌ෛՙΛݮΒ͢͜ͱʹ͸੒ޭ͕ͨ͠ɾɾɾ •

    γεςϜ͕ॏ૚Խ͗ͯ͢͠ɺॏཁͳαʔϏεՁ஋͔Βԕ͍ઃܭ΍ࢪࡦ͕ଟ͘ͳ ΓɺνʔϜ͕αʔϏεՁ஋ʹ޲͖߹͍ͮΒ͘ͳͬͨ αʔϏεͷ੒௕Ϟσϧɾઓུɾ՝୊Λଊ͑ͯ ΞʔΩςΫνϟΛ֤ஈ֊Ͱઃܭɾൃలͤ͞Δ ϞϊϦεWTϚΠΫϩαʔϏεͷΑ͏ͳ 
 ೋ߲ରཱ࣠͸ඞͣ͠΋ඞཁͳ͍ ڪΒ͘GPVSLFZTΛܭଌͨ͠ΒϋΠείΞͩͬͨ
  12. ϨΠϠʔυΞʔΩςΫνϟͰશମΛ෼ׂ  ϝΠϯ γεςϜ اۀ ਪન ਪન Ϟσϧ ਪન Ϟσϧ

    ਪન Ϟσϧ ਪન Ϟσϧ ݸਓ ਪન J04 ΞϓϦ 8FC ΞϓϦ 8FC ΞϓϦ "OESPJE ΞϓϦ ΞϓϦ૚ γεςϜ૚ ґଘ ϢʔβʔͷखݩͰಈ࡞ Ϋϥ΢υ্ͷϚγϯͰಈ࡞ ֤ର৅Ϣʔβʔ΁ͷ 
 αʔϏεՁ஋ఏڙٴͼ޲্ ৘ใΛਖ਼͘͠ه࿥͢Δ ৘ใΛ؆୯ʹऔΓग़ͤΔ 4P&دΓ 4P3دΓʢ૬ରతʹʣ ٕज़తಈ࡞ ओ໨త ಛੑ खݩͰಈ࡞ͤ͞Δ͜ͱͰΑΓ 
 ྑ͍ΠϯλϥΫγϣϯ͕ఏڙͰ͖Δ • Ͳ͏҆ఆతͳ 
 ґଘΛ࣮ݱ͢Δʁ ˠୈೋ෦ 4P&ͱ4P3ɿIUUQTTQFBLFSEFDLDPNOBPZBTZTUFNPGSFDPSEUPTZTUFNPGFOHBHFNFOU
  13. ಛੑʹண໨͢Δͱɾɾɾ  ϝΠϯ γεςϜ اۀ ਪન ਪન Ϟσϧ ਪન Ϟσϧ

    ਪન Ϟσϧ ਪન Ϟσϧ ݸਓ ਪન J04 ΞϓϦ 8FC ΞϓϦ 8FC ΞϓϦ "OESPJE ΞϓϦ શମͱͯ͠͸4P& શମͱͯ͠͸4P3 ґଘ
  14. ಛੑʹண໨͢Δͱɾɾɾ  ϝΠϯ γεςϜ اۀ ਪન ਪન Ϟσϧ ਪન Ϟσϧ

    ਪન Ϟσϧ ਪન Ϟσϧ ݸਓ ਪન J04 ΞϓϦ 8FC ΞϓϦ 8FC ΞϓϦ "OESPJE ΞϓϦ શମͱͯ͠͸4P& શମͱͯ͠͸4P3 ґଘ 4P3ͷதʹ4P&
  15. ಛੑʹண໨͢Δͱɾɾɾ  ϝΠϯ γεςϜ اۀ ਪન ਪન Ϟσϧ ਪન Ϟσϧ

    ਪન Ϟσϧ ਪન Ϟσϧ ݸਓ ਪન J04 ΞϓϦ 8FC ΞϓϦ 8FC ΞϓϦ "OESPJE ΞϓϦ શମͱͯ͠͸4P& શମͱͯ͠͸4P3 ґଘ 4P3ͷதʹ4P& όοΫΤϯυΤϯδχΞ σʔλαΠΤϯςΟετ ߴ଎ͳΦϯϥΠϯॲཧ ௕࣌ؒͷΦϑϥΠϯॲཧ (P 1ZUIPO ։ൃऀ ಛੑ ٕज़
  16. ಛੑʹண໨͢Δͱɾɾɾ  ϝΠϯ γεςϜ اۀ ਪન ਪન Ϟσϧ ਪન Ϟσϧ

    ਪન Ϟσϧ ਪન Ϟσϧ ݸਓ ਪન J04 ΞϓϦ 8FC ΞϓϦ 8FC ΞϓϦ "OESPJE ΞϓϦ શମͱͯ͠͸4P& શମͱͯ͠͸4P3 ґଘ 4P3ͷதʹ4P& όοΫΤϯυΤϯδχΞ σʔλαΠΤϯςΟετ ߴ଎ͳΦϯϥΠϯॲཧ ௕࣌ؒͷΦϑϥΠϯॲཧ (P 1ZUIPO ։ൃऀ ಛੑ ٕज़ ͜ͷΑ͏ʹશମΛσϓϩΠಠཱͳίϯϙʔωϯτͰߏ੒͢Δ͜ͱͰ ༷ʑͳಛੑΛΞʔΩςΫνϟʹ৫ΓࠐΉ͜ͱ͕Ͱ͖Δ ͜ΕΒશͯͷಛੑΛ୯ҰͷίϯϙʔωϯτͰ࣮ݱ͢Δͷ͸೉͍͠
  17. ମݧઃܭͰଊ͑ΔγεςϜڥք  ද૚ ࠎ֨ ߏ଄ ཁ݅ ઓུ Ϣʔβʔମݧઃܭͷ֊૚ ϏδϡΞϧσβΠϯ ϨΠΞ΢τ

    φϏήʔγϣϯσβΠϯ ৘ใઃܭ ίϯςϯπ ػೳ ɾ৘ใΛγεςϜ͔ΒҾ͖ग़ͤΔඞཁ Ұཡը໘ʹ৘ใ"ͷத਎Λ 
 Ͳ͜·Ͱදࣔ͠Α͏ʁ εϚϗͷ৔߹͸ݮΒ͢ʁ 69σβΠϯͷஈ֊Ϟσϧ ΞϓϦ૚ γεςϜ૚ ΞʔΩςΫνϟͷ֊૚ ΞʔΩςΫνϟʹద༻
  18. ΞϓϦͱγεςϜΛͭͳ͙ٕज़  • ΞʔΩςΫνϟͱٕज़ • ΞϓϦΛ෼཭͢Δ͜ͱͰ69࠷దԽͷٕज़త༨஍Λ࡞ΓͭͭɺσϦόϦʔޮ཰Λ޲্ͤ͞Δ • γεςϜ"1*ʹ(SBQI2-Λ༻͍ͯɺ৘ใઃܭʹΑͬͯΞϓϦͱγεςϜΛ෼཭͢Δ • ΞϓϦʹ͓͚ΔσʔλͷऔΓѻ͍

    • ϞμϯͳܕγεςϜΛඋ͑ͨݴޠΛಋೖ͢Δ͜ͱͰɺ(SBQI2-ͷΑ͏ͳεΩʔϚٕज़Λ׆͔͢ • Ωϟογϡ෇͖(SBQI2-ΫϥΠΞϯτΛ࢖͏͜ͱͰɺऔಘͨ͠σʔλͷঢ়ଶ؅ཧෛՙΛܰݮ͢Δ • औಘͨ͠σʔλΛએݴత6*ʹྲྀ͠ࠐΉ͜ͱͰɺ6*ͷঢ়ଶ؅ཧͷෛՙΛܰݮ͢Δ ࠾༻ٕज़ɿ ʲΞϓϦͷهड़ݴޠʳ5ZQF4DSJQU 4XJGU ,PUMJO ʲ"1*ٕज़ʳ(SBQI2- ʲ"1*ΫϥΠΞϯτʳ"QPMMP ʲ6*ߏஙʳ3FBDU 4XJGU6* +FUQBDL$PNQPTF
  19. • Ϋϥ΢υωΠςΟϒͷߏ੒ɻجຊత͕ͩڧྗɻ • ίϯςφɿ%PDLFS • ίϯςφ؅ཧɿ,VCFSOFUFT • εΩʔϚɿ1SPUPDPM#V ff FST

    • αʔϏεؒ௨৴ɿH31$ • ΞϓϦಉ༷ɺεΩʔϚٕज़͸ॏཁ • "1*Ͱձ࿩͢Δ͜ͱʹ૊৫͕׳Ε͍ͯΔঢ়ଶʹҠߦ͢Δ • ૊৫ͷιϑτ΢ΣΞઃܭೳྗΛগ্͍ͣͭ͛ͯ͘͠ γεςϜͷج൫  ͜Ε͕Ͱ͖Δͱෳ਺ͷϓϩμΫτΛ ࿈ܞͤ͞ΔΑ͏ͳల։΋Ͱ͖Δ ϓϥοτϑΥʔϜνʔϜ ˡγεςϜج൫ʹରͯ͠σϓϩΠͳͲ։ൃͰසൟʹߦ͏ૢ࡞Λ࢖͍΍͍͢ 
 ɹΠϯλʔϑΣΠεʹ·ͱΊͨ಺෦ϓϥοτϑΥʔϜΛΠϯϑϥ͔Βఏڙ 
 ɹ͜ΕʹΑΓೝ஌ෛՙͷܰݮͱΠϯϑϥνʔϜͱͷૄ݁߹ԽΛਤ͍ͬͯΔ ͷޮ༻<>
  20. ෼ੳσʔλͷج൫  • ෼ࢄͨ͠ίϯϙʔωϯτʹର͢Δԣஅతղੳͷधཁ͕ඞͣൃੜ͢Δ • αʔϏεͷҙࢥܾఆΛࢧ͑Δ • ෼ࢄͨ͠σʔλΛू໿͓ͯ͘͠ͷ͕Ұͭͷύλʔϯ • 8BOUFEMZͰ͸ҎԼΛར༻

    • σʔλ΢ΣΞϋ΢εɿ#JH2VFSZ • ୯ͳΔετϨʔδͱͯ͠Ͱ͸ͳ͘ɺίϯϐϡʔςΟϯάج൫ͱͯ͠࢖͍౗͢ • ϫʔΫϑϩʔΤϯδϯɿ"SHP8PSL fl PXT • LTOBUJWFͳϫʔΫϑϩʔΤϯδϯɻଟ਺ͷܭࢉδϣϒΛ࿈ܞͤ͞Δͷʹར༻
  21. ͨͱ͑͹ਪનʹؔΘΔ෦෼Ͱ͸ɾɾ   ෼ੳσʔλΛѻ͏ج൫Λ੔උ͓ͯ͘͠  ਪનͰαʔϏε՝୊͕ղܾͰ͖Δ͜ͱ͕෼͔Δ  ઓུʹ૊Έࠐ·ΕΔɺਪનνʔϜΛ্ཱͪ͛Δ  ਪનܭࢉͷ࿈ܞʹϫʔΫϑϩʔΤϯδϯΛಋೖ͢Δ

     σϦόϦʔޮ཰Λ্͛ΔͨΊʹΞʔΩςΫνϟΛมߋ αʔϏεͷҙࢥܾఆΛՃ଎ͤ͞Δ ୯ମͷࢪࡦͱͯ͠੒Ռ͕ಘΒΕΔ εέʔϧͨ͠੒Ռ͕ಘΒΕΔ ӡ༻ίετ͕Լ͕ΓෳࡶੑΛ্͛ΒΕΔ ٕज़తʹ΋Ͱ͖Δ෯͕޿͕Δ ٕज़ಋೖɾΞʔΩςΫνϟมߋ͸ܧଓతͳӦΈ ͦΕͧΕͷஈ֊Ͱࢼߦˍ੒ՌΛಘΒΕͨΒ࠶౤ࢿΛ͍ͯ͘͠
  22. ࢀߟจݙ  <>.BSL3JDIBSET /FBM'PSEஶ ౡాߒೋ༁ 
 ɹʰιϑτ΢ΣΞΞʔΩςΫνϟͷجૅʕΤϯδχΞϦϯάʹجͮ͘ମܥతΞϓϩʔνʱ  ΦϥΠϦʔδϟύϯ 

    <>/FBM'PSE .BSL3JDIBSET 1SBNPE4BEBMBHF ;IBNBL%FIHIBOJஶ ౡాߒೋ༁ ɹʰιϑτ΢ΣΞΞʔΩςΫνϟɾϋʔυύʔπʱ  ΦϥΠϦʔδϟύϯ  <>Ϛγϡʔɾεέϧτϯ ϚχϡΤϧɾύΠεஶ ݪాٍ࿠ Ӭ੉ඒึ ٢Ӌཾଠ࿠༁ 
 ɹʰνʔϜτϙϩδʔՁ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʱ  ೔ຊೳ཰ڠձϚωδϝϯτηϯλʔ  <>/JDPMF'PSTHSFO1I% +F[)VNCMF (FOF,JNஶ ෢ࣷ޿޾ ෢ࣷΔΈ༁ ɹʰ-FBOͱ%FW0QTͷՊֶ<"DDFMFSBUF>ςΫϊϩδʔͷઓུత׆༻͕૊৫มֵΛՃ଎͢Δʱ  ΠϯϓϨε  <>%BWJE'BSMFZஶ ௕ඌߴ߂༁ ɹʰܧଓతσϦόϦʔͷιϑτ΢ΣΞ޻ֶɹ΋ͬͱૣ͘ɺ΋ͬͱྑ͍ιϑτ΢ΣΞΛ࡞ΔͨΊͷൿ݃ʱ   ೔ܦ#1
  23. ࢀߟจݙ  <>ϚʔςΟɾέʔΨϯஶ ࠤ౻ਅ࣏ ؔຬಙ؂म ਆ݄ݠҰ༁ 
 ɹʰ*/41*3&%೤ڰͤ͞Δ੡඼ΛੜΈग़͢ϓϩμΫτϚωδϝϯτʱ  ೔ຊೳ཰ڠձϚωδϝϯτηϯλʔ

     <>ΞϦεςΞɾΫϩʔϧ ϕϯδϟϛϯɾϤείϏοπஶ ΤϦοΫɾϦʔεฤ ֯੐య༁ 
 ɹʰ-FBO"OBMZUJDTʕελʔτΞοϓͷͨΊͷσʔλղੳͱ׆༻๏ʱ  ΦϥΠϦʔδϟύϯ  <>ιγΦϝσΟΞגࣜձࣾ ্໺ֶ ౻Ҫ޾ଟஶ ɹʰΦϒδΣΫτࢦ޲6*σβΠϯᴷᴷ࢖͍΍͍͢ιϑτ΢ΣΞͷݪཧʱ  ٕज़ධ࿦ࣾ