最近サーバサイドの開発者で話題に上がることが多いのがマイクロサービスという単語です。一つのWebサービスを考える場合、一枚岩で大型なシステムを考えてしまいがちな現状ですが、それを細かく分解した上で、各システムを疎結合に繋いでいこうという仕組みです。

細かく分割するというと単純に聞こえますが、設計時などにきちんと考えるようにしないと多くの問題を抱える可能性があります。そこで今回は考えておくべき視点を紹介します。

分割するメリット

システムは開発、更新を続けている内に徐々に肥大化が進んでいきます。そして徐々にメンテナンスしづらくなったり、一つの修正がまったく関係ないと思われた別な場所に影響を及ぼしたりします。それを防ぐために各システムを疎結合にするメリットが生まれます。

頻繁に修正されるシステムとされないシステムを分けることで、メンテナンスコストを下げることができます。ただしこれは後述するデメリットにもなるので注意が必要です。