→リック・ショート
→リック吉村
名前空間を整備する まず、モノシリックアプリケーションの分解では、その足掛かりとして目指すべきアーキテクチャはサービスベースアーキテクチャである。 コンポーネントドメインを作成することは、サービスベースアーキテクチャへの移行を手助けする。 コンポーネントドメインとは、名前空間の名前のことで物理的に表示される。 そして、コンポーネントを表すドメインは次の4つから構成されるべきだ。 アプリケーション.ドメイン.サブドメイン.コンポーネント.クラス 名前空間のサンプル例 例えば、次の様な条件があるとする アプリケーション:ss ドメイン:customer サブドメイン:billing コンポーネント…
モノシリックなアプリケーションを分散アーキテクチャに移行する際には次の3つの質問に答えられる様にしておく必要がある。 既存のアプリケーションは分解可能なのか? 必要なのはコードの書き直しなのか?それともリファクタリングなのか? 移行にかかる費用はどれくらいなのか? 例えば、CIOから次の様に質問が飛んで来るかもしれない 複雑なモノシリックアプリケーションをマイクロサービスにする移行作業にて、プロジェクトの初日CIOに次のことを尋ねられた。 「このプロジェクトの移行作業はゴルフボールサイズなのか?バスケットボールサイズなのか?旅客機サイズなのか?」 このときに、私はその質問に答えられなかったが、…
この記事の内容 アーキテクチャスタイルに幾つかのケースがあるのと同じように、 リファクタリングの手法にも明確な6段階の手順が存在します。 今回の記事の目的はリファクタリングを行う2通りの方法について説明します。 大規模なリファクタリングを行う前に リファクタリングでやってはいけないこと-象の移行アンチパターン コンポーネントベース分解概要 戦術的フォーク コードベースが分解可能であるとは コンポーネントへの入力と出力の数から判断する 抽象度 アーキテクチャを分解する コンポーネントベース分解 戦術的フォーク 戦術的フォークのデメリット 備考 大規模なリファクタリングを行う前に リファクタリング…
この記事について アーキテクチャのモジュール化・リファクタリングのメリット そもそもシステムは常に変化するものである リファクタリングが必要となる具体例 1.システムのパフォーマンスを改善するためにリファクタリングを行う 2.アジャイルなビジネスに対応するためにアジャイルなシステムへリファクタリングを行う リファクタリングをするべき5つの理由 No1,2. スケーラビリティ/保守性 No3,4. 耐障害性/可用性 No5. デプロイ性 補足:マイクロサービスは結合度に注意がいる まとめ:なぜリファクタリングが必要なのか 備考 この記事について システムのリファクタリングはタダでできるモノではあ…
この記事の内容:ソフトウェアアーキテクチャの概要と選択 参考:fundamentals of software architecture pdf アーキテクチャを学ぶ意味 アーキテクチャとは アーキテクチャスタイルを覚える意味 見習うべきではないスタイル:巨大な泥団子 補足:なぜアーキテクチャを決めるのか? 基本的なアーキテクトスタイル一覧 アーキテクチャを選択する アーキテクチャの選択:モノシリックアーキテクチャと分散アーキテクチャ モノシリックアーキテクチャと分散アーキテクチャのメリットデメリット アーキテクチャ一覧 小規模かつ低予算:レイヤードアーキテクチャ とにかくシステムの拡張性を高…