« 映画「ひまわり」は名作だった | トップページ | RedmineのWikiタグでタスクリストを書けるようになった »

2022/03/20

マイクロサービスはアトミックな操作で閉じるべきシステム分割論に基づいたアーキテクチャなのか

渡辺さんのブログを読んで、マイクロサービスはアトミックな操作で閉じるべきシステム分割論に基づいたアーキテクチャなのかどうか、という問題提起をしていると感じた。

アジャイルとマイクロサービスは最悪な組み合わせ - 設計者の発言

データモデリングで考えれば、サブシステム分割の単位は、CRUD操作で閉じるようにシステム分割すべき。
一方、マイクロサービスは僕の考えでは、外部インターフェイスの一つのアーキテクチャに過ぎないのに、ものすごいシステムアーキテクチャみたいな幻想があって、システム分割論と混同する開発者が多いのでは、と思う。

アジャイル開発というプロセスでは、特にスクラムでは、プロセスに特化していて、ソフトウェア技術や設計アーキテクチャの話はあえて避けていると思う。
だからこそ、スクラムという開発プロセスのフレームワークはIT業界のあらゆるプロジェクトに適用できるし、製造業など他の業界でも使われるようになった。
しかし、それですべての問題が解決できるわけではない。
実際、XPやScrumを生み出した人たちのキャリアを見ると、ソフトウェア開発の経験がとても豊富で、オブジェクト指向設計、テスト駆動開発、継続的インテグレーションなど数多くのベストプラクティスを生み出している。
彼らは技術的要素を軽視しているわけではない。

マイクロサービスはSaaSのようなWebシステムでは、外部インターフェイスの公開APIとして優れている技術と思うが、それですべての問題が解決できるわけでもないし、この辺りの技術の実装はとても難しいと個人的に思っている。
なぜなら、こちらが仕様を準備して想定しているような使い方を、外部APIを利用する人たちはしない時が多いとか、非機能要件のうち性能要件やセキュリティ要件の実現が非常にシビアだったり、割と罠が多いからだ。

この辺りの技術は色々考えてみたい。

|

« 映画「ひまわり」は名作だった | トップページ | RedmineのWikiタグでタスクリストを書けるようになった »

モデリング」カテゴリの記事

ソフトウェア工学」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 映画「ひまわり」は名作だった | トップページ | RedmineのWikiタグでタスクリストを書けるようになった »