システムというのは一番最初はシンプルなものですが、更新を重ねるのに合わせて徐々に複雑化していきます。その結果として使われない機能が増えていったり、テストのカバレッジ不足によるバグの発生、システム改変時のコスト増大などといったデメリットが生まれます。
それを防ぐための施策、考え方を紹介します。
マイクロサービス化
最近度々目にするのがマイクロサービスです。システムを機能単位でミニマムに保つことでメンテナンス性を維持します。さらに各マイクロサービスが連携することで一つの大きなシステムを構築します。
問題としては各サービスの連携をどう行うかでしょうか。Web API経由での連携は認証やネットワークのコストが大きくあまり向きません。少し前に出てきたgPRCのような分散処理を前提としたプロトコルは可能性があると感じています。
コメント
コメントを書く