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

SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.
Avatar for foostan foostan
November 21, 2025

 SRE視点で振り返るメルカリのアーキテクチャ変遷と普遍的な考え

Avatar for foostan

foostan

November 21, 2025
Tweet

More Decks by foostan

Other Decks in Technology

Transcript

  1. 2 Platform Engineering Division SRE team Engineering Manager
 
 ΤϯδχΞϦϯάϚωʔδϟʔͱͯ͠Fintechࣄ

    ۀ͓ΑͼϝϧΧϦͷSREνʔϜΛ୲౰͠ɺ૊৫ ԣஅͰ৴པੑ޲্ʹऔ૊த • SLOΛ༻͍ͨ؂ࢹج൫ͷߏங • ΠϯγσϯτϚωδϝϯτମ੍ͷڧԽ • BCP/DRઓུͷࡦఆɾਪਐ foostan
  2. 6

  3. 12 αʔϏε֦େʹ൐͏ • ෳࡶԽ͢ΔγεςϜ • σʔλͷ૿Ճ • ։ൃ૊৫ͷ֦ுɺνʔϜͷ૿Ճ • σϓϩΠස౓ͷ૿Ճ

    • ϝϯςφϯείετͷ૿Ճ • Πϯγσϯτͷ૿Ճ • ੜ࢈ੑͷ௿Լ • etc 2013 ~ 2016 ϞϊϦε / LAMPͷݶք
  4. 13 2017 ϚΠΫϩαʔϏε΁ͷஈ֊తͳҠߦ ϚΠΫϩαʔϏε + Google Cloud • ϞϊϦε͔Βঃʑʹ෼཭ •

    ϚΠΫϩαʔϏε୯ҐͰ։ൃ/ӡ༻ • API GatewayʹΑΔΠϯλʔ ϑΣʔεͷ౷Ұ • etc ૊৫ͷٸܹͳ֦େʹ൐͏αʔϏε։ൃ ͷࠔ೉΍ӡ༻ͷ֦ுੑͷϘτϧωοΫ ղফΛਤΔ ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  5. 15 ϝϧίΠϯͷϦϦʔεʹ൐͍ɺ Platformӡ༻΋มԽ ҉߸ࢿ࢈ަ׵ۀΛਐΊΔͨΊ ͷηΩϡϦςΟରࡦ΍ίϯϓϥ ΠΞϯε؅ཧͷͨΊʹ͋ΒΏΔ ΋ͷͷ෼཭͕ٻΊΒΕͨ Mercoin Development Tool

    Production Mercari Development Tool Production 2023 ϝϧίΠϯϩʔϯνͱϓϥοτϑΥʔϜ෼཭ ϩΰग़య: Google Cloud ϓϩμΫτ ΞΠίϯ GitHub Logos and Usage https://brandfetch.com/okta.com
  6. 17 ϝϧϖΠͷϨΠϠʔߏ଄Խ͞ΕϚ ΠΫϩαʔϏε͕ഁ୼࢝͠ΊΔ API Microservices ϨΠϠʔʹศ རAPI͕ੜ·ΕΔ • ґଘ͕ूத •

    ϝϯςίετͷ૿େ • ᐆດͳ੹೚ڥք • SPOFԽ • etc 2024 Re Architecture ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  7. 18 2024 ~ Re Architecture | ٯίϯ΢ΣΠͷ๏ଇʹΑΔղܾ ॎׂΓͷ૊৫ߏ଄΁ͷมߋ • API

    MicroservicesϨΠϠʔͷ੔ཧ • ґଘ͕ूத͍ͯͨ͠APIͷղମ͕ ਐߦ gRPC Federation • ϝϧΧϦൃͷOSS • Protocol Buffersͷఆٛʹैͬͯ BFFαʔϏεͱΠϯλʔϑΣʔε Λੜ੒͢Δ ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  8. 20 ࣾ಺ͰϞϊϨϙ΍Ϟδϡϥʔ ϞϊϦεͷߏ૝͕ग़࢝Ίͨ
 
 άϩʔόϧΞϓϦͰͷ࠾༻ • طଘͷΤίγεςϜΛ׆ ༻ͭͭ͠ɺӡ༻ͷॊೈੑ Λҡ࣋͢Δ •

    ॳظ։ൃͷεϐʔυͱক དྷతͳεέʔϥϏϦςΟ ͷόϥϯεΛऔΔ 2025 ϞδϡϥʔϞϊϦε ࢀߟ: άϩʔόϧల։Λࢧ͑Δج൫ͷཪଆ https://engineering.mercari.com/blog/entry/20251007-behind-the-infrastructure-powering-global-expansion/ [mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion https://speakerdeck.com/mercari/mercari-gears-2025-building-foundation-for-mercaris-global-expansion
  9. 24 ໌֬ͳ੹೚ൣғͱᐆດͳ੹೚ൣғ ໌֬ͳ੹೚ൣғ • ࣗ਎ͷαʔϏε͸໌֬ͰͦͷSLO Λ؅ཧ͢Δͷ͸ඞਢ • ൣғ֎ͷଞͷSLOΛؾʹ͢Δʹ͸ ݶք͕͋Δ ᐆດͳ੹೚ൣғ

    • ڞ௨APIͷ୲౰͸Ͳ͔͜ • ଞϚΠΫϩαʔϏεʹґଘͯ͠Ξ ϥʔτ͕τϦΨʔ͞ΕΔ͜ͱ΋͠ ͹͠͹ ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  10. 25 ϚΠΫϩαʔϏεຖͷSLO؅ཧ ͢΂ͯͷΤϯυϙΠϯτʹରͯ͠໢ཏ తʹSLOΛઃఆ • SLOϕʔεͷϞχλʔઃஔ • ৄࡉʹෆ۩߹ՕॴΛݕ஌͠ɺΞ ϥʔτΛτϦΨʔՄೳ •

    ϚΠΫϩαʔϏε୯ମͰ100Λ௒ ͑ΔSLOΛ؅ཧ • SLOͷৼΓฦΓ΍Ξοϓσʔτ͕ ࠔ೉ʹ • ϚΠΫϩαʔϏεؒͰSLOͷෆ੔ ߹͕ൃੜ ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  11. 26 ো֐ൣғͷಛఆ͸ࠔ೉ ͲͷAPI͕Ͳ͜ͰϦΫΤετ͞ΕΔ ͔ͷ೺Ѳ͸ࠔ೉ • Ξϥʔτ͕τϦΨʔ͞Εͯ ΋ɺ͓٬͞·Өڹͱ௚઀݁ͼ ͔ͭͳ͍ • ੹೚ൣғ֎ͷνʔϜʹͱͬͯԿ

    ͕ى͖͍ͯΔ͔೺Ѳ͢Δͷ͸ ೉͍͠ • ݁Ռతʹো֐෮چ͕஗ΕΔ͜ ͱʹͳΔ ϩΰग़య: Google Cloud ϓϩμΫτ ΞΠίϯ Cloudflare Press Kit
  12. 27 Critical User JourneyʢCUJʣͷಋೖ ͓٬͞·ʹϑΥʔΧε • Ұ࿈ͷ͓٬͞·ମݧʹ ରͯ͠SLOΛఆٛ • ͓٬͞·Өڹ͕໌֬ʹ

    ͳΓɺΠϯγσϯτͷ શମ೺Ѳ͕Մೳʹ • ݱ࣮తͳ਺ͷCUJΛఆ ٛ࣋͠ଓతͳ؅ཧ͕Մ ೳʹ ϩΰग़యɿGoogle Cloud ϓϩμΫτ ΞΠίϯ
  13. 28 CUJϕʔεSLOͷ࣮૷ 40ͷCUJΛఆٛ • ྫʣ ◦ ঎඼ݕࡧ ◦ ग़඼ɾߪೖɾൃૹ •

    ը໘ૢ࡞ + ը໘ભҠ • Availableͳঢ়ଶΛఆٛ • ίΞػೳʹϑΥʔΧε ࢀߟ: [SRE NEXT] ෳࡶͳγεςϜʹ͓͚ΔUser Journey SLOͷಋೖ https://speakerdeck.com/yakenji/sre-next-fu-za-nasisutemuniokeruuser-journey-slonodao-ru
  14. 32 Datadog WorkflowsʹΑΔݪҼಛఆ CUJϕʔεSLOΛτϦΨʔʹ༷ͯ͠ʑͳΞΫ γϣϯʹͭͳ͛Δ • ্ҐϨΠϠʔ(API Gateway)ͷϝτϦΫ εΛར༻͍ͯ͠ΔͨΊͲ͜Ͱ໰୊͕ൃੜ ͔ͨ͠͸ಛఆͰ͖ͳ͍

    • Datadog WorkflowsΛར༻ͯ͠ɺಈతʹ ৘ใΛऔಘͯ͠ݪҼΛಛఆ͠୲౰νʔϜ Λݺͼग़͢ • ࠓޙ͸αʔϏεͷεϖοΫ৘ใ΍ PlaybookΛར༻͠ɺࠜຊݪҼ෼ੳ΍ࢭ ݂ରԠͷࣗಈԽʹͭͳ͛Δ ϩΰग़య: Google Cloud ϓϩμΫτ ΞΠίϯ Cloudflare Press Kit https://slack.com/intl/ja-jp/media-kit https://brandguides.brandfolder.com/pagerduty/logo
  15. 36 ϦεΫʹର͢Δඋ͑ BCP/DR Business Continuity Plan = ࣄۀܧଓܭը • ࡂ֐΍γεςϜো֐ͳͲͷ༗ࣄͷࡍʹɺ͓٬͞·΁ͷӨڹΛ࠷খ

    ݶʹ཈͑ɺॏཁۀ຿Λૣظʹ෮چɾܧଓͤ͞Δ͜ͱͰɺࣾձతͳ ੹೚ΛՌͨ͢ • γεςϜʹݶΒͣɺਓ΍ݐ෺/ઃඋ΋ؚ·ΕΔ Disaster Recovery • ॏཁۀ຿ΛఆΊͨ෮چ໨ඪ࣌ؒʢRTOʣͱ໨ඪ෮چ࣌఺ʢRPOʣ ʹج͖ͮɺ৘ใγεςϜ͓Αͼۀ຿ϓϩηεΛਝ଎ʹ෮چͤ͞Δ • BCPʹؚ·ΕΔɺ۩ମతͳγεςϜ෮چʹؔ͢Δ͜ͱ
  16. 37 ԿΛकΔ͔ ͢΂ͯͷαʔϏε/ػೳΛ100%Քಇ͠ଓ͚Δ͜ͱ͸Ͱ͖ͳ͍ • ϏδωεӨڹ෼ੳ(BIA)Λߦ͍ॏཁۀ຿ΛఆΊΔ • ॏཁۀ຿͕ఀࢭͨ͠ͱ͖ͷϦεΫ͸Կ͔ ◦ ๏ྩҧ൓ ◦

    ϒϥϯυՁ஋ͷ௿Լ΍ܦࡁతଛࣦ ◦ αʔϏεʹΑͬͯҟͳΔ͔ ▪ ϝϧΧϦɺϝϧϖΠɺϝϧίΠϯɺetc • ୡ੒͢΂͖෮چ໨ඪΛఆΊͯϦεΫͱίετͷόϥϯεΛߟ͑Δඞཁ͕ ͋Δ
  17. 38 ෮چ໨ඪ • RLO(Recovery Level Objective): ۓٸͷ෮چର৅ = ॏཁۀ຿ •

    RTO(Recovery Time Objective) : ͍ͭ·Ͱʹ෮چͤ͞Δ͔ • RPO(Recovery Point Objective): Ͳͷ࣌఺·ͰͷσʔλΛ෮چͤ͞Δ͔
  18. 41 Multi-Regionߏ੒ͷ஫ҙ఺ɿSpannerͷ৔߹ ಛ௃ • ߴ͍Մ༻ੑͱSLA • RPO: 0 ͷ࣮ݱ ίετ໰୊

    • 3~4ഒ্ঢ͢Δ(ಡΈॻ͖ྔɺσʔλྔʹΑͬͯҟͳΔ) ωοτϫʔΫ஗ԆʹΑΔੑೳྼԽ • ॻ͖ࠐΈ͸1 commit ͋ͨΓ਺ms~਺ेmsͷϨΠςϯγѱԽ͕૝ఆ͞ΕΔ • εϧʔϓοτͷ্ݶ͕Լ͕Δ • ΞϓϦέʔγϣϯଆͰͷରԠ͕ඞཁʹͳΔ৔߹͕͋Δ
  19. 42 Multi-Regionߏ੒ͷ஫ҙ఺ɿGCSͷ৔߹ σʔλಉظͷ஗Ԇ໰୊ • 1࣌ؒͰ99.9%͕ಉظ͞Εɺ࢒Γ ͸12࣌ؒҎ಺Λ໨ඪͱ͍ͯ͠Δ (RPO: 12࣌ؒ) • ඞཁʹԠͯ͡Dual-regionͷλʔ

    ϘϨϓϦέʔγϣϯ(RPO: 15෼) Λར༻͢Δඞཁ͕͋Δ • RPO: 0ͷ৔߹ͷ༻్ͱͯ͠͸࢖ ͑ͳ͍ ϩΰग़య: Google Cloud ϓϩμΫτ ΞΠίϯ
  20. 49 ΠϯγσϯτϨεϙϯεͱֶͼ ো֐΍ࣦഊ͔ΒֶΜͰ࣍ʹ׆͔͢ͷ͕ॏཁ • ৼΓฦΓ ◦ ݪҼ෼ੳɺ߃ٱରԠ͓Αͼ࠶ൃ๷ࢭͷཱҊ ◦ γεςϜͷमਖ਼ɺΞʔΩςΫνϟͷมߋɺӡ༻ϓϩη εͷվળͳͲͰ࣍ʹܨ͛Δ

    • Ϩϙʔτ࡞੒ / ڞ༗ ◦ ࣾ಺޲͚ / ࣾ֎޲͚ͷใࠂ ◦ φϨοδڞ༗ / ԣల։ • Πϯγσϯτ෼ੳ ◦ μογϡϘʔυ࡞੒ɺ܏޲෼ੳɺಛ௃ͷՄࢹԽ