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

マイクロサービス化を切り戻してモノリスで開発しているお話 およびその後

マイクロサービス化を切り戻してモノリスで開発しているお話 およびその後

Masakazu Yahagi

June 06, 2023
Tweet

Other Decks in Programming

Transcript

  1. STORES 株式会社
    ○○株式会社 御中
    2022年 7⽉
    マイクロサービス化を切り戻してモノリスで
    開発しているお話
    とその後について
    2023.6.7 @ みんなの経験から学ぶ、マイクロサービスLT⼤会

    View Slide

  2. 自己紹介
    2
    01
    02
    03
    04
    05
    06
    ⽮作 優和
    STORES 株式会社 SRE
    サーバーサイドエンジニアとして⼊社し、その後
    マイクロサービス化や、各種機能開発業務を経て
    現在はSREとして従事
    趣味: 船に乗ってルアーを使う釣りが好きです。

    View Slide

  3. STORESについて
    私が関わっているのは主にここ
    お店のデジタルを
    まるっとサポート。

    View Slide

  4. お話すること
    ・STORES 予約でのマイクロサービス化について
    ・なぜ切り戻したのか
    ・その後

    View Slide

  5. STORES 予約でのマイクロサービス化について
    オーナーさん向け 予約者さん向け

    View Slide

  6. オーナーさん向け 予約者さん向け
    こちらで利⽤しているAPI群を
    マイクロサービスとして切り出し
    STORES 予約でのマイクロサービス化について

    View Slide

  7. 当時⽬指していたアーキテクチャ

    View Slide

  8. この部分にどんどん切り出していく予定だった
    当時⽬指していたアーキテクチャ

    View Slide

  9. ● マイクロサービス化の作業由来の不具合が多発し、
    サービスの信頼性を損ねていると判断した
    ● まだまだ機能の拡充を優先したかった
    なぜ切り戻したのか

    View Slide

  10. 不具合を多発させてしまった要因として考えられること
    ● サービスとして切り出すスコープが曖昧だった
    ● 進め⽅がよくなかった

    View Slide

  11. サービスとして切り出すスコープが曖昧だった
    予約者画⾯向けに作られている api/v2という領域をターゲットにしていた
    ● 漠然とここをターゲットにしていたのがよくなかった
    ● 予約という広⼤なドメインが⾃然とターゲットに含まれてしまい、何をどこまで切り
    出したらいいのかが不明瞭に
    ● 予約者画⾯以外から利⽤されている箇所も移植する必要性が⽣じ、ダブルメン
    テ状態に陥っていた

    View Slide

  12. 機能開発とマイクロサービス化を分断した状態で進めてしまった
    進め⽅がよくなかった
    ● どこまで切り出したか/どんな変更を加えたのか をお互いが認識し⾟い状態になっ
    てしまっていた
    ● 機能開発による変更の追従もれや歴史的経緯の汲み取り漏れによるデグレが
    多発
    ○ 歴史的経緯を把握しているメンバーが機能開発側に偏っていた

    View Slide

  13. ここまでは2021年のお話
    https://product.st.inc/entry/2021/12/16/
    155624
    ここまでの内容はこちらの記事でもう少し詳しく触れています

    View Slide

  14. その後

    View Slide

  15. 今まで

    View Slide

  16. その後(鋭意開発中)

    View Slide

  17. その後(近未来予想)

    View Slide

  18. モノリスで開発していると思っていましたが、
    STORES 予約そのものが1つのサービスになりそうです。

    View Slide