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

Repro の開発組織体制の変遷そして Platform Engineering / Platform Engineering Meetup #6

Repro の開発組織体制の変遷そして Platform Engineering / Platform Engineering Meetup #6

Takeshi Arabiki

December 06, 2023
Tweet

More Decks by Takeshi Arabiki

Other Decks in Technology

Transcript

  1. © 2023 Repro Inc. │ CONFIDENTIAL
    Reproגࣜձࣾ


    Development Div. Platform Team


    Takeshi Arabiki (@a_bicky)


    Reproͷ։ൃ૊৫ମ੍ͷมભ


    ͦͯ͠Platform Engineering
    Platform Engineering Meetup #6 (2023-12-06)


    View full-size slide

  2. Takeshi Arabiki
    HN a_bicky/abicky
    Blog ͋Βͼ͖೔ه
    ܦྺ 2011-2013: גࣜձࣾσΟʔɾΤψɾΤʔ


    2013-2017: ΫοΫύουגࣜձࣾ


    2017-current: Reproגࣜձࣾ
    Reproגࣜձࣾ


    Development Div. Platform Team Team Manager
    ࣗݾ঺հ

    View full-size slide

  3. © 2023 Repro Inc. │ CONFIDENTIAL
    ৘ใऩू ෼ੳɾηάϝϯτ ҰਓͻͱΓʹ࠷దͳࢪࡦΛ࣮ࢪ
    ଟ༷ͳσʔλΛ෼ੳ


    ϢʔβʔΛηάϝϯτ
    ϙοϓΞοϓ ਧ͖ग़͠ ϝʔϧ
    ΞϓϦ಺઀٬ ΞϓϦ಺઀٬ ΞϓϦ಺઀٬
    ίϯςϯπຒΊࠐΈ ϓογϡ௨஌ Ϩίϝϯυ
    Web
    ళฮ
    ΞϓϦ
    ϦΞϧλΠϜͷ One to One ίϛϡχέʔγϣϯ

    View full-size slide

  4. © 2023 Repro Inc. │ CONFIDENTIAL
    ࠓ೔͓࿩͢͠Δ͜ͱ

    View full-size slide

  5. © 2023 Repro Inc. │ CONFIDENTIAL
    ࠓ೔͓࿩͢͠Δ͜ͱ
    https://speakerdeck.com/a_bicky/sre-lounge-number-15

    View full-size slide

  6. © 2023 Repro Inc. │ CONFIDENTIAL
    2018೥3݄

    View full-size slide

  7. © 2023 Repro Inc. │ CONFIDENTIAL
    ReproͷαʔόαΠυΛࢧ͑Δओͳٕज़ (2018೥3݄)
    BigQuery Rundeck
    Amazon EC2
    Amazon ECS
    Amazon Aurora


    (MySQL Compatible)
    Amazon ElastiCache


    (Redis)
    Amazon S3

    View full-size slide

  8. © 2023 Repro Inc. │ CONFIDENTIAL
    αʔόαΠυνʔϜͷߏ੒
    Application
    Datastore
    Development Div.
    CTO

    View full-size slide

  9. © 2023 Repro Inc. │ CONFIDENTIAL
    2018೥3݄ͷঢ়گ
    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● ݩʑSREνʔϜ͕ଘࡏ͍͕ͯͨ͠։ൃମ੍ͷݟ௚͠ʹΑΓ2017೥10݄ʹղࢄ


    - ApplicationνʔϜɺDatastoreνʔϜͷ2νʔϜͰ୲౰ྖҬΛ෼୲


    ● ApplicationνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    ● ৔౰ͨΓతͳΞϥʔτରԠ΍ޙखʹճΔΩϟύγςΟϓϥϯχϯά


    - ಛʹPrestoؔ࿈

    View full-size slide

  10. © 2023 Repro Inc. │ CONFIDENTIAL
    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● ݩʑSREνʔϜ͕ଘࡏ͍͕ͯͨ͠։ൃମ੍ͷݟ௚͠ʹΑΓ2017೥10݄ʹղࢄ


    - ApplicationνʔϜɺDatastoreνʔϜͷ2νʔϜͰ୲౰ྖҬΛ෼୲


    ● ApplicationνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    ● ৔౰ͨΓతͳΞϥʔτରԠ΍ޙखʹճΔΩϟύγςΟϓϥϯχϯά


    - ಛʹPrestoؔ࿈
    2018೥3݄ͷঢ়گ

    View full-size slide

  11. © 2023 Repro Inc. │ CONFIDENTIAL
    ReproͷαʔόαΠυΛࢧ͑Δओͳٕज़ (2018೥3݄)
    BigQuery Rundeck
    Amazon EC2
    Amazon ECS
    Amazon Aurora


    (MySQL Compatible)
    Amazon ElastiCache


    (Redis)
    Amazon S3

    View full-size slide

  12. © 2023 Repro Inc. │ CONFIDENTIAL
    ৘ใऩू ෼ੳɾηάϝϯτ ҰਓͻͱΓʹ࠷దͳࢪࡦΛ࣮ࢪ
    ଟ༷ͳσʔλΛ෼ੳ


    ϢʔβʔΛηάϝϯτ
    ϙοϓΞοϓ ਧ͖ग़͠ ϝʔϧ
    ΞϓϦ಺઀٬ ΞϓϦ಺઀٬ ΞϓϦ಺઀٬
    ίϯςϯπຒΊࠐΈ ϓογϡ௨஌ Ϩίϝϯυ
    Web
    ళฮ
    ΞϓϦ
    ϦΞϧλΠϜͷ One to One ίϛϡχέʔγϣϯ

    View full-size slide

  13. © 2023 Repro Inc. │ CONFIDENTIAL
    ΠϯϑϥνʔϜͷ૊੒
    Dev 1
    Dev 2
    Development Div.
    Infra Team
    CTO

    View full-size slide

  14. © 2023 Repro Inc. │ CONFIDENTIAL
    ΠϯϑϥνʔϜ૊੒ʹΑΔαʔϏεͷ҆ఆԽ
    https://speakerdeck.com/a_bicky/repro-tech-meetup-number-9

    View full-size slide

  15. © 2023 Repro Inc. │ CONFIDENTIAL
    ΠϯϑϥνʔϜ૊੒ʹΑΔαʔϏεͷ҆ఆԽ
    https://speakerdeck.com/a_bicky/repro-tech-meetup-number-9
    CLEAR

    View full-size slide

  16. © 2023 Repro Inc. │ CONFIDENTIAL
    2019೥4݄

    View full-size slide

  17. © 2023 Repro Inc. │ CONFIDENTIAL
    ReproͷαʔόαΠυΛࢧ͑Δओͳٕज़ (2019೥4݄)
    BigQuery Rundeck
    Amazon EC2
    Amazon ECS
    Amazon Aurora


    (MySQL Compatible)
    Amazon ElastiCache


    (Redis)
    Amazon S3
    NEW
    NEW
    NEW

    View full-size slide

  18. © 2023 Repro Inc. │ CONFIDENTIAL
    2018೥6݄Cassandraಋೖ
    https://joker1007.hatenablog.com/entry/2018/06/29/201400

    View full-size slide

  19. © 2023 Repro Inc. │ CONFIDENTIAL
    2019೥4݄ͷঢ়گ
    ● σʔλύΠϓϥΠϯؔ܎ͷ։ൃɾӡ༻͸CTOͱΠϯϑϥνʔϜ͕ϝΠϯͰ୲౰


    ● ػೳ։ൃνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    - Cassandraʹ͍ͭͯҙࣝ͢Δ͜ͱ͸΄΅ͳ͠


    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    - ϓϩμΫτΦʔφʔ͕ࢢگͷมԽΛಡΈͳ͕Βػೳͷৄࡉ·Ͱఆٛ͢Δʹ͸ݶք

    View full-size slide

  20. © 2023 Repro Inc. │ CONFIDENTIAL
    2019೥4݄ͷঢ়گ
    ● σʔλύΠϓϥΠϯؔ܎ͷ։ൃɾӡ༻͸CTOͱΠϯϑϥνʔϜ͕ϝΠϯͰ୲౰


    ● ػೳ։ൃνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    - Cassandraʹ͍ͭͯҙࣝ͢Δ͜ͱ͸΄΅ͳ͠


    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    - ϓϩμΫτΦʔφʔ͕ࢢگͷมԽΛಡΈͳ͕Βػೳͷৄࡉ·Ͱఆٛ͢Δʹ͸ݶք
    ΤϯδχΞͰ΋ػೳͷৄࡉΛ٧ΊΒΕΔΑ͏ʹͳΔ͜ͱ͕ٸ຿

    View full-size slide

  21. © 2023 Repro Inc. │ CONFIDENTIAL
    LeSS (Large Scale Scrum) ͷಋೖ
    Dev 1
    Dev 2
    Development Div.
    Dev 3
    Dev 4 (Infra Team + CTO)

    View full-size slide

  22. © 2023 Repro Inc. │ CONFIDENTIAL
    LeSSಋೖͷޮՌ
    ● Before


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● After


    - νʔϜҰ؟ͱͳͬͯސ٬໨ઢͰཁ݅Λ٧ΊͯػೳΛ։ൃ

    View full-size slide

  23. © 2023 Repro Inc. │ CONFIDENTIAL
    LeSSಋೖͷޮՌ
    ● Before


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● After


    - νʔϜҰ؟ͱͳͬͯސ٬໨ઢͰཁ݅Λ٧ΊͯػೳΛ։ൃ
    CLEAR

    View full-size slide

  24. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄

    View full-size slide

  25. © 2023 Repro Inc. │ CONFIDENTIAL
    ReproͷαʔόαΠυΛࢧ͑Δओͳٕज़
    Amazon Corretto


    (Java)
    BigQuery
    Kafka Streams
    Rundeck
    Amazon EC2
    Amazon ECS
    Amazon Aurora


    (MySQL Compatible)
    Amazon ElastiCache


    (Redis)
    Amazon S3
    NEW
    NEW
    NEW

    View full-size slide

  26. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ

    View full-size slide

  27. © 2023 Repro Inc. │ CONFIDENTIAL
    ϓϩδΣΫτ੍΁ͷҠߦ
    Sys-InfraʢDev 4͔Β໊শมߋʣ
    ˚˚ϓϩδΣΫτ
    ̋̋ϓϩδΣΫτ
    ✕✕ϓϩδΣΫτ
    Development Div.
    ػೳ։ൃνʔϜʢϓϩδΣΫτ੍ʣ
    ৽CTO

    View full-size slide

  28. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ

    View full-size slide

  29. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ
    CLEAR

    View full-size slide

  30. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ
    CLEAR
    🤔

    View full-size slide

  31. © 2023 Repro Inc. │ CONFIDENTIAL
    2022೥य़

    View full-size slide

  32. © 2023 Repro Inc. │ CONFIDENTIAL
    2022೥य़ͷঢ়گ
    ● ϓϩδΣΫτ੍ಋೖʹΑΓ֤ػೳͷ୲౰͕ᐆດԽ


    - ֤ϓϩδΣΫτνʔϜͷ੹೚ऀ΋ෆࡏ


    ● ػೳɺϛυϧ΢ΣΞɺར༻AWSαʔϏε૿ՃʹΑΔશΤϯδχΞͷೝ஌ෛՙ૿େ


    ● ແݶʹ޿͕ΔSys-InfraʢچΠϯϑϥνʔϜ+CTOʣͷकඋൣғ


    - Chief Architectͷಋೖ͢Δج൫ͷड͚ೖΕઌ


    - σʔλύΠϓϥΠϯؔ࿈ͷΞϓϦέʔγϣϯͷ։ൃɾӡ༻ʢҰ෦ଐਓԽʣ


    - AWSؔ࿈ͷϝϯςφϯεɺΩϟύγςΟϓϥϯχϯάɺίετͷݟੵ΋Γ etc.


    ● ։ൃ૊৫ͷτοϓަ୅͕ܾఆ


    - Repro Coreͱ͍͏νʔϜͷઃཱ͕ܾ·ͬͨͱ͜ΖͰॳ୅CTOʹަ୅

    View full-size slide

  33. © 2023 Repro Inc. │ CONFIDENTIAL
    2022೥य़ͷঢ়گ
    ● ϓϩδΣΫτ੍ಋೖʹΑΓ֤ػೳͷ୲౰͕ᐆດԽ


    - ֤ϓϩδΣΫτνʔϜͷ੹೚ऀ΋ෆࡏ


    ● ػೳɺϛυϧ΢ΣΞɺར༻AWSαʔϏε૿ՃʹΑΔશΤϯδχΞͷೝ஌ෛՙ૿େ


    ● ແݶʹ޿͕ΔSys-InfraʢچΠϯϑϥνʔϜ+CTOʣͷकඋൣғ


    - Chief Architectͷಋೖ͢Δج൫ͷड͚ೖΕઌ


    - σʔλύΠϓϥΠϯؔ࿈ͷΞϓϦέʔγϣϯͷ։ൃɾӡ༻ʢҰ෦ଐਓԽʣ


    - AWSؔ࿈ͷϝϯςφϯεɺΩϟύγςΟϓϥϯχϯάɺίετͷݟੵ΋Γ etc.


    ● ։ൃ૊৫ͷτοϓަ୅͕ܾఆ


    - Repro Coreͱ͍͏νʔϜͷઃཱ͕ܾ·ͬͨͱ͜ΖͰॳ୅CTOʹަ୅

    View full-size slide

  34. © 2023 Repro Inc. │ CONFIDENTIAL
    ઌୡͷ஌ܙ

    View full-size slide

  35. © 2023 Repro Inc. │ CONFIDENTIAL
    νʔϜτϙϩδʔͷڭ͑ᶃ
    ௕ଓ͖͢Δখ͞ͳνʔϜ͕͋Δ͜ͱͰɺιϑτ΢ΣΞͷΦʔφʔγοϓͷվળ͕࢝
    ΊΒΕΔɻʢதུʣෳ਺ͷνʔϜʹಉҰͷγεςϜ·ͨ͸αϒγεςϜͷมߋΛڐ
    ͢ͱɺͦͷมߋͱɺมߋ͕΋ͨΒࠞ͢ཚʹ͍ͭͯɺ୭΋ΦʔφʔγοϓΛൃش͠ͳ
    ͘ͳΔةݥ͕͋Δɻ
    6ϲ݄ͷϓϩδΣΫτΛ׬ྃͯ͠΍ͬͱνʔϜͷύϑΥʔϚϯε͕޲্͖ͯͨ͠ͱ͜Ζ
    ͰɺϝϯόʔΛଞͷνʔϜʹΞαΠϯ͠௚͢ͷ͸ɺ΄΅Ձ஋͕ͳ͍ɻ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 3 νʔϜϑΝʔετࢥߟ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 3 νʔϜϑΝʔετࢥߟ

    View full-size slide

  36. © 2023 Repro Inc. │ CONFIDENTIAL
    ● ϓϩδΣΫτ੍ಋೖʹΑΓ֤ػೳͷ୲౰͕ᐆດԽ


    - ֤ϓϩδΣΫτνʔϜͷ੹೚ऀ΋ෆࡏ


    ● ػೳɺϛυϧ΢ΣΞɺར༻AWSαʔϏε૿ՃʹΑΔશΤϯδχΞͷೝ஌ෛՙ૿େ


    ● ແݶʹ޿͕ΔSys-InfraʢچΠϯϑϥνʔϜ+CTOʣͷकඋൣғ


    - Chief Architectͷಋೖ͢Δج൫ͷड͚ೖΕઌ


    - σʔλύΠϓϥΠϯؔ࿈ͷΞϓϦέʔγϣϯͷ։ൃɾӡ༻


    - AWSؔ࿈ͷϝϯςφϯεɺΩϟύγςΟϓϥϯχϯάɺίετͷݟੵ΋Γ etc.


    ● ։ൃ૊৫ͷτοϓަ୅


    - Repro Coreͱ͍͏νʔϜͷઃཱ͕ܾ·ͬͨͱ͜ΖͰॳ୅CTOʹަ୅
    2022೥य़ͷঢ়گ

    View full-size slide

  37. © 2023 Repro Inc. │ CONFIDENTIAL
    νʔϜτϙϩδʔͷڭ͑ᶄ
    ιϑτ΢ΣΞγεςϜΛѻ͏νʔϜͷೝ஌ෛՙ͕ߴ͗ͨ͢Βɺιϑτ΢ΣΞͷΦʔ
    φʔγοϓΛൃشͨ͠Γɺιϑτ΢ΣΞΛ҆શʹਐԽͤͨ͞Γ͢Δ͜ͱ͕Ͱ͖ͳ͘
    ͳΔɻʢதུʣϞμϯͳιϑτ΢ΣΞγεςϜͷσϦόϦʔͱӡ༻ΛޮՌతʹߦ͏
    ʹ͸ɺݚमͷ࣮ࢪɺద੾ͳٕज़બఆɺޏ༻ɺϖΞϓϩάϥϛϯάͳͲΛ௨ͯ͡ɺ૊
    ৫͸՝୊಺ࡏੑෛՙΛ࠷খԽ͠ͳ͚Ε͹͍͚ͳ͍ɻ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 3 νʔϜϑΝʔετࢥߟ
    ؆୯ʹ࢖͑ΔαʔϏεʢϓϥοτϑΥʔϜࢦ޲ͷΞϓϩʔν͕๬·͍͠ʣ΍ɺνʔ
    Ϝ͕ෆ׳ΕͳλεΫΛߦ͏ͱ͖ʹ͙͢ʹཔΕΔεϖγϟϦετͱ͍ͬͨαϙʔτγ
    εςϜ͕ͳ͍··ʹϓϩμΫτνʔϜΛ࡞Δͱɺଟ͘ͷϘτϧωοΫΛ࡞Γग़͢ɻ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 4 ੩తͳτϙϩδʔ

    View full-size slide

  38. © 2023 Repro Inc. │ CONFIDENTIAL
    2018೥࢝Ίͷঢ়گ
    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● ݩʑSREνʔϜ͕ଘࡏ͍͕ͯͨ͠։ൃମ੍ͷݟ௚͠ʹΑΓ2017೥10݄ʹղࢄ


    - ApplicationνʔϜɺDatastoreνʔϜͷ2νʔϜͰ୲౰ྖҬΛ෼୲


    ● ApplicationνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    ● ৔౰ͨΓతͳΞϥʔτରԠ΍ޙखʹճΔΩϟύγςΟϓϥϯχϯά


    - ಛʹPrestoؔ࿈

    View full-size slide

  39. © 2023 Repro Inc. │ CONFIDENTIAL
    2019೥4݄ͷঢ়گ
    ● σʔλύΠϓϥΠϯؔ܎ͷ։ൃɾӡ༻͸CTOͱΠϯϑϥνʔϜ͕ϝΠϯͰ୲౰


    ● ػೳ։ൃνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    - Cassandraʹ͍ͭͯҙࣝ͢Δ͜ͱ͸΄΅ͳ͠


    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    - ϓϩμΫτΦʔφʔ͕ࢢگͷมԽΛಡΈͳ͕Βػೳͷৄࡉ·Ͱఆٛ͢Δʹ͸ݶք

    View full-size slide

  40. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ

    View full-size slide

  41. © 2023 Repro Inc. │ CONFIDENTIAL
    ● ϓϩδΣΫτ੍ಋೖʹΑΓ֤ػೳͷ୲౰͕ᐆດԽ


    - ֤ϓϩδΣΫτνʔϜͷ੹೚ऀ΋ෆࡏ


    ● ػೳɺϛυϧ΢ΣΞɺར༻AWSαʔϏε૿ՃʹΑΔશΤϯδχΞͷೝ஌ෛՙ૿େ


    ● ແݶʹ޿͕ΔSys-InfraʢچΠϯϑϥνʔϜ+CTOʣͷकඋൣғ


    - Chief Architectͷಋೖ͢Δج൫ͷड͚ೖΕઌ


    - σʔλύΠϓϥΠϯؔ࿈ͷΞϓϦέʔγϣϯͷ։ൃɾӡ༻ʢҰ෦ଐਓԽʣ


    - AWSؔ࿈ͷϝϯςφϯεɺΩϟύγςΟϓϥϯχϯάɺίετͷݟੵ΋Γ etc.


    ● ։ൃ૊৫ͷτοϓަ୅


    - Repro Coreͱ͍͏νʔϜͷઃཱ͕ܾ·ͬͨͱ͜ΖͰॳ୅CTOʹަ୅
    2022೥य़ͷঢ়گ

    View full-size slide

  42. © 2023 Repro Inc. │ CONFIDENTIAL
    νʔϜτϙϩδʔͷڭ͑ᶅ
    ೝ஌ෛՙ༰ྔΛ௒͑Δ੹೚Λ՝͢͜ͱͰνʔϜʹετϨεΛ༩͑ΔͱɺνʔϜ͸ϋ
    ΠύϑΥʔϚϯεͳϢχοτͱͯ͠ಇ͘͜ͱ͕Ͱ͖ͳ͘ͳΓɺͨͩͷݸਓͷू·Γ
    ͷΑ͏ʹ;Δ·͍࢝ΊΔɻ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 3 νʔϜϑΝʔετࢥߟ

    View full-size slide

  43. © 2023 Repro Inc. │ CONFIDENTIAL
    2018೥࢝Ίͷঢ়گ
    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    ● ݩʑSREνʔϜ͕ଘࡏ͍͕ͯͨ͠։ൃମ੍ͷݟ௚͠ʹΑΓ2017೥10݄ʹղࢄ


    - ApplicationνʔϜɺDatastoreνʔϜͷ2νʔϜͰ୲౰ྖҬΛ෼୲


    ● ApplicationνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    ● ৔౰ͨΓతͳΞϥʔτରԠ΍ޙखʹճΔΩϟύγςΟϓϥϯχϯά


    - ಛʹPrestoؔ࿈

    View full-size slide

  44. © 2023 Repro Inc. │ CONFIDENTIAL
    2019೥4݄ͷঢ়گ
    ● σʔλύΠϓϥΠϯؔ܎ͷ։ൃɾӡ༻͸CTOͱΠϯϑϥνʔϜ͕ϝΠϯͰ୲౰


    ● ػೳ։ൃνʔϜͷϝϯόʔʹٻΊΒΕΔͷ͸ҰൠతͳRailsΤϯδχΞͷεΩϧ


    - Cassandraʹ͍ͭͯҙࣝ͢Δ͜ͱ͸΄΅ͳ͠


    ● ϓϩμΫτΦʔφʔ͕શػೳʹ͍ͭͯৄࡉ·Ͱఆٛ


    - ΤϯδχΞ͸ܾΊΒΕͨ΋ͷΛ୶ʑͱ࣮૷͢Δ͚ͩ


    - ϓϩμΫτΦʔφʔ͕ࢢگͷมԽΛಡΈͳ͕Βػೳͷৄࡉ·Ͱఆٛ͢Δʹ͸ݶք

    View full-size slide

  45. © 2023 Repro Inc. │ CONFIDENTIAL
    2021೥8݄ͷঢ়گ
    ● Dev 4ʢچΠϯϑϥνʔϜ+CTOʣ͸ϦΞʔΩςΫνϟͷ΄ͱΜͲΛ୲౰


    - όονूܭॲཧͷ൚༻ԽɺKafkaಋೖʹ൐͏ϦΞʔΩςΫνϟ etc.


    ● ػೳ։ൃνʔϜͷϝϯόʔ΋Cassandra΍KafkaΛ࢖͏ඞཁ͋Γ


    ● ৽͍͠CTOͷब೚


    - લCTO͸Chief Architectͱ͍͏ݞॻʹ


    ● ܗ֚Խ͢ΔLeSS (Large Scale Scrum)


    - ಉ͡λΠϛϯάͰεΫϥϜతͳಈ͖Λ͍ͯ͠Δ׬શผνʔϜԽ


    - ֤νʔϜ௕ظʹ౉ͬͯಛఆͷϓϩδΣΫτΛ୲౰


    - νʔϜΛލ͍Ͱෳ਺ͷϓϩδΣΫτΛ୲౰͢Δਓ΋͍ͨΒ͍͠ʢ͏Ζ֮͑ʣ

    View full-size slide

  46. © 2023 Repro Inc. │ CONFIDENTIAL
    ● ϓϩδΣΫτ੍ಋೖʹΑΓ֤ػೳͷ୲౰͕ᐆດ


    - ֤ϓϩδΣΫτνʔϜͷ੹೚ऀ΋ෆࡏ


    ● ػೳɺϛυϧ΢ΣΞɺར༻AWSαʔϏε૿ՃʹΑΔશΤϯδχΞͷೝ஌ෛՙ૿େ


    ● ແݶʹ޿͕ΔSys-InfraʢچΠϯϑϥνʔϜ+CTOʣͷकඋൣғ


    - Chief Architectͷಋೖ͢Δج൫ͷड͚ೖΕઌ


    - σʔλύΠϓϥΠϯؔ࿈ͷΞϓϦέʔγϣϯͷ։ൃɾӡ༻ʢҰ෦ଐਓԽʣ


    - AWSؔ࿈ͷϝϯςφϯεɺΩϟύγςΟϓϥϯχϯάɺίετͷݟੵ΋Γ etc.


    ● ։ൃ૊৫ͷτοϓަ୅


    - Repro Coreͱ͍͏νʔϜͷઃཱ͕ܾ·ͬͨͱ͜ΖͰॳ୅CTOʹަ୅
    2022೥य़ͷঢ়گ

    View full-size slide

  47. © 2023 Repro Inc. │ CONFIDENTIAL
    ࠶ܝ: ReproͷαʔόαΠυΛࢧ͑Δओͳٕज़
    Amazon Corretto


    (Java)
    BigQuery
    Kafka Streams
    Rundeck
    Amazon EC2
    Amazon ECS
    Amazon Aurora


    (MySQL Compatible)
    Amazon ElastiCache


    (Redis)
    Amazon S3

    View full-size slide

  48. © 2023 Repro Inc. │ CONFIDENTIAL
    νʔϜτϙϩδʔͷڭ͑ᶅ
    ೝ஌ෛՙ༰ྔΛ௒͑Δ੹೚Λ՝͢͜ͱͰνʔϜʹετϨεΛ༩͑ΔͱɺνʔϜ͸ϋ
    ΠύϑΥʔϚϯεͳϢχοτͱͯ͠ಇ͘͜ͱ͕Ͱ͖ͳ͘ͳΓɺͨͩͷݸਓͷू·Γ
    ͷΑ͏ʹ;Δ·͍࢝ΊΔɻ
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ Chapter 3 νʔϜϑΝʔετࢥߟ

    View full-size slide

  49. © 2023 Repro Inc. │ CONFIDENTIAL
    2022೥8݄ͷαʔόαΠυνʔϜͷߏ੒
    Sys-Infra
    Feature Team 1
    Repro Core
    Feature Team 2
    Development Div.
    ػೳ։ൃνʔϜʢجຊݻఆʣ
    NEW

    View full-size slide

  50. © 2023 Repro Inc. │ CONFIDENTIAL
    ֤νʔϜͷ੹຿
    ● Repro Core


    - ސ٬ʹ௚઀తͳՁ஋͸ಧ͚ͳ͍͕ɺFeature Team ͕ސ٬ʹՁ஋Λಧ͚Δ্Ͱඞཁ
    ͱͳΔڞ௨ج൫Λఏڙ


    - e.g. όονɾετϦʔϛϯάσʔλύΠϓϥΠϯͷ։ൃɾӡ༻


    ● Sys-Infra


    - ۃ୺ͳ࿩Reproݻ༗ͷ஌͕ࣝͳͯ͘΋੒Γཱͭڞ௨ج൫ͷఏڙ


    - e.g. ڞ௨Ͱར༻͍ͯ͠Δϛυϧ΢ΣΞʢKafka౳ʣɾAWSαʔϏεͷӡ༻


    ● Feature Team


    - ސ٬ʹ௚઀తͳՁ஋Λಧ͚Δػೳͷ։ൃɾӡ༻

    View full-size slide

  51. © 2023 Repro Inc. │ CONFIDENTIAL
    νʔϜͷ໾ׂΛྉཧͰྫ͑Δͱ
    Sys-Infra


    ਫɾΨεͷ҆ఆͨ͠ڙڅ
    Repro Core


    ศརͳಓ۩ͷ։ൃ
    Feature Team


    ྉཧΛ࡞Δ

    View full-size slide

  52. © 2023 Repro Inc. │ CONFIDENTIAL
    ୲౰ίϯϙʔωϯτͷ੔ཧ

    View full-size slide

  53. © 2023 Repro Inc. │ CONFIDENTIAL
    ղܾ͍ͨ͠՝୊ͱ৽ମ੍ʹظ଴͢ΔޮՌ
    ● ֤ίϯϙʔωϯτͷ୲౰͕ᐆດ


    - → νʔϜΛجຊతʹݻఆ͢Δ͜ͱͰ୲౰΋ݻఆ


    ● ػೳ։ൃ͢ΔνʔϜͷೝ஌ෛՙ্͕͕͍ͬͯΔ্ʹαϙʔτ΋ͳ͍


    - → Repro CoreͱSys-Infra͕ೝ஌ෛՙΛԼ͛Δ࢓૊ΈΛ੔උ&ΠωΠϒϦϯά


    ● ಛఆͷνʔϜͷೝ஌ෛՙ͕ҟৗʹߴ͍


    - → Sys-Infraͷ੹຿ͷҰ෦ΛRepo Coreʹ෼ׂ

    View full-size slide

  54. © 2023 Repro Inc. │ CONFIDENTIAL
    ໨ࢦ࢟͢
    ʮνʔϜτϙϩδʔ Ձ஋͋Διϑτ΢ΣΞΛ͢͹΍͘ಧ͚ΔదԠܕ૊৫ઃܭʯ

    View full-size slide

  55. © 2023 Repro Inc. │ CONFIDENTIAL
    ͦͯ͠Platform Engineering΁

    View full-size slide

  56. © 2023 Repro Inc. │ CONFIDENTIAL
    ݱࡏͷαʔόαΠυνʔϜͷߏ੒
    Sys-Infra
    Feature Team 1
    Repro Core
    Feature Team 2
    Development Div.
    Platform Team
    Repro Team

    View full-size slide

  57. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Team/Sys-Infraͷ׆ಈྫᶃ
    ৽͍͠ECSαʔϏεΛ௥Ճ͢ΔࡍͷΨΠυϥΠϯ࡞੒

    View full-size slide

  58. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Team/Repro Coreͷ׆ಈྫᶃ
    ϦΞϧλΠϜूܭॲཧج൫ͷ։ൃͱͦͷ݁ՌΛฦ͢APIͷఏڙ

    View full-size slide

  59. © 2023 Repro Inc. │ CONFIDENTIAL
    ݱࡏ๊͍͑ͯΔ՝୊
    ● RailsΞϓϦέʔγϣϯΛϚΠΫϩαʔϏεԽͰ͖͍ͯͳ͍


    - ෳ਺ͷECSαʔϏεʹ͸෼͔Ε͍ͯΔ͕ϦϙδτϦ΋σϓϩΠ΋ಉ͡


    - ϦϙδτϦ͕෼͔Ε͍ͯΔίϯϙʔωϯτͷதʹ͸෼ࢄϞϊϦεͬΆ͍΋ͷ΋


    ● Platform Team͕ػೳ։ൃνʔϜͷೝ஌ෛՙΛݮΒͨ͢Ίʹे෼ͳ࣌ؒΛׂ͚͍ͯͳ͍


    - Sys-Infra͸ۀ຿աଟͰͰ͖͍ͯͳ͔ͬͨΞοϓάϨʔυۀ͕ཷ·͍ͬͯΔ


    - Repro Core͸νʔϜϏϧσΟϯάͩͬͨΓલ਎νʔϜͷෛ࠴ղফͩͬͨΓ


    ● Repro Coreࣗ਎ͷೝ஌ෛՙ͕෺ੌ͘େ͖͍


    - νʔϜ෼ׂ౳Ҏ֎ͷղফํ๏͸ͳͦ͞͏͕ͩਓ਺͕଍Γͳ͍


    ● શνʔϜͷΠϯλϥΫγϣϯϞʔυ͕·ͩʮίϥϘϨʔγϣϯʯ

    View full-size slide

  60. © 2023 Repro Inc. │ CONFIDENTIAL
    ·ͱΊ

    View full-size slide

  61. © 2023 Repro Inc. │ CONFIDENTIAL
    Reproͷ։ൃ૊৫ͷมભ
    2018೥3݄ 2019೥4݄ 2022೥य़
    αʔϏε҆ఆԽͷͨΊʹ


    ΠϯϑϥνʔϜઃཱɻ
    ࣗ཯తͳ։ൃମ੍Λ໨
    ࢦͯ͠LeSSಋೖɻ


    ΠϯϑϥνʔϜͱCTO
    Ͱ1ͭͷνʔϜʹɻ
    LeSSͷܗ֚Խʹ൐͏ମ੍ݟ௚͠
    ͱɺॊೈͳϦιʔε഑ஔΛ໨ࢦ
    ͯ͠ϓϩδΣΫτ੍ಋೖɻ
    Repro Core৽ઃ౳Λػʹɺ
    ೝ஌ෛՙͷܰݮΛ໨ࢦͯ͠
    νʔϜτϙϩδʔΛҙࣝͨ͠
    ։ൃମ੍ʹมߋɻ
    2021೥8݄
    Platform EngineeringͰੜ࢈ੑΛ্͛Α͏ͱ·ͩ·ͩಓ൒͹

    View full-size slide

  62. © 2023 Repro Inc. │ CONFIDENTIAL
    ͓·͚

    View full-size slide

  63. © 2023 Repro Inc. │ CONFIDENTIAL
    ΤϯδχΞืूதʂʂ
    ● Repro Core


    ● Sys-Infra


    ● Feature Team


    ● ৽نࣄۀ


    ● ASO Insight

    View full-size slide

  64. © 2023 Repro Inc. │ CONFIDENTIAL
    Repro Coreͷϛογϣϯɾ੹຿ʢ2023೥9݄·Ͱʣ
    ● ϛογϣϯ


    - Repro ͷػೳΛఏڙ͢Δ্Ͱத֩ͱͳΔج൫Λఏڙ͠ɺFeature Team ͕ސ٬Ձ஋
    ͷఏڙʹूதͰ͖Δ૊৫Λ࡞Δ


    ● ੹຿


    - SDK͔ΒͷσʔλΛଞͷαʔϏεͰར༻Ͱ͖ΔΑ͏ʹ֤छσʔλετΞʹอଘ͢Δ


    - Feature Team ͕ػೳ։ൃ͢Δࡍʹར༻͢Δڞ௨ج൫ɾϥΠϒϥϦͷ։ൃ


    - ্هڞ௨ج൫ɾϥΠϒϥϦΛ࢖ͬͨ։ൃͷࢧԉ


    - Feature Team ͷઃܭ૬ஊ

    View full-size slide

  65. © 2023 Repro Inc. │ CONFIDENTIAL
    Repro Coreͷϛογϣϯɾ੹຿ʢ2023೥10݄Ҏ߱ʣ
    ● ϛογϣϯ


    - Feature Team ʹରͯ͠ Repro Tool Λఏڙ͢Δ্Ͱͷڞ௨ج൫ɾϥΠϒϥϦͷఏڙ
    ͱ։ൃࢥ૝ͷܒ໤Λߦ͍ɺFeature Team ͷ։ൃମݧͱੜ࢈ੑΛ্͛Δ


    ● ੹຿


    - Repro Tool શମͰ࢖͏σʔλͷσʔλύΠϓϥΠϯߏஙɾ҆ఆӡ༻


    - Feature Team ͕ػೳ։ൃ͢Δࡍʹར༻͢Δڞ௨ج൫ɾϥΠϒϥϦͷఏڙ


    - ڞ௨ج൫ɾϥΠϒϥϦΛ࢖ͬͨ։ൃͷΠωΠϒϦϯά


    - Feature Team ΁ͷ։ൃࢥ૝ͷܒ໤ʢઃܭɾӡ༻αϙʔτ౳ʣ

    View full-size slide

  66. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Teamͷ΍͍ͬͯΔ͜ͱ͸Platform Engineeringͳͷ͔ʁ
    ● ༷ʑͳػೳͰར༻͢Δڞ௨ج൫Λఏڙ͍ͯ͠Δͱ͍͏఺Ͱ͸͓ͦΒ͘Yes


    - ػೳ։ൃνʔϜ͕Kafka΍CassandraΛϚωʔδυαʔϏεײ֮Ͱ৮ΕΔͷͰ͋Ε͹
    ҰछͷPlatformͱݺ΂ΔͩΖ͏


    - ػೳ։ൃνʔϜ͕ෳࡶͳॲཧΛ࣮૷͠ͳͯ͘΋ػೳఏڙʹඞཁͳσʔλ͕खʹೖΔ
    ͷͰ͋Ε͹ҰछͷPlatformͱݺ΂ΔͩΖ͏


    ● ੈͷதͰ࿩୊ʹͳ͍ͬͯΔPlatform Engineeringͱ͸গ͠ҧ͏ؾ͸͢Δ


    - ʮKubernetes౳ΛӅṭ͢Δࣗࣾج൫Λ࡞Γ·ͨ͠ʂʯͱ͔Ͱ͸ͳ͍

    View full-size slide

  67. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Team/Sys-Infraͷ׆ಈྫᶄ
    CPUΞϥʔτɾϝϞϦΞϥʔτ౳ͷΞϥʔτΛػೳ։ൃνʔϜ΁ҕৡ

    View full-size slide

  68. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Team/Sys-Infraͷ׆ಈྫᶅ
    https://tech.repro.io/entry/2023/10/03/090000
    ϦϦʔεΦϖϨʔγϣϯͷෛՙܰݮ

    View full-size slide

  69. © 2023 Repro Inc. │ CONFIDENTIAL
    Platform Team/Repro Coreͷ׆ಈྫᶄ
    Kafka StreamsΞϓϦέʔγϣϯͷςϯϓϨʔτϦϙδτϦʢσϓϩΠϩδοΫ෇ʣͷఏڙ

    View full-size slide