ソフトウェアパターンの一種で、特にソフトウェアのアーキテクチャ (構造) に関するもの。
Layersパターン、MVCパターン、PACパターン等がある。
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系 http://www.kindaikagaku.co.jp/bookdata/ISBN4-7649-0283-4.htm に詳しい。
はじめに 想定読者 パターンの位置づけ アーキテクチャパターンとは デザインパターンとは どうして必要になるのか 知ることで得られる価値 再利用可能な「型」になる 共通言語になる 設計のヒントを得る起点になる 理解が難しい理由 トレードオフがある 現代におけるデザインパターン 取り組みやすい学び方 導入として体系的な知識に触れておく フレームワークやライブラリのコードを読んで理解を深める 生成AIを使って自分たちのプロダクトでの採用パターンを調べる 既存コードを小さくリファクタリングしてみる まとめ はじめに こんにちは。契約マネジメントプラットフォームのクラウドサインの開発に携わっている神達…
Findyさんプレゼンツのセミナー「成瀬さん直伝!2024年最新アーキテクチャトレンドとユースケースを徹底解説」に参加しました。 findy.connpass.com ランチタイムに開催される勉強会ということで参加しやすくて助かりますね。感謝です。 なぜ参加したのか エンジニア関連の情報を集める際に「マイクロサービス」とか「モノリス」なんて言葉が行き交っているもんですから、言葉の意味ぐらい知れないかなーというレベルの興味でした。 イベントページを見てみたら「ドメイン駆動設計入門」著者の成瀬さんがスピーカーでもありますし、未経験〜ジュニアレベルでざっくりとしたお話が出てくるんじゃないかと期待して…
背景 1つのマイクロサービスを開発する中で、レガシー環境のCMSにアクセスしてコンテンツを取得する要件が出てきた。 その際に、CMSのresponse形式を指定できず、アプリ側でHTMLをパースしてjsonにする処理が必要になり、その責務をどこに持たせるか?という話 理想 そもそも、理想としてはCMS側がjson形式で返せるように改修するのが理想。 とはいえ、リプレイスが決まっており、かつレガシー環境につき開発コストをそこにかけるのが妥当とは思えないので、他の選択肢を検討している。 パターン① 各MS側に処理を持たせる 愚直に考えたら、これがまず思いつくと思う。 各MS側でCMSにリクエストし…
ヘキサゴナルアーキテクチャについて理解を深めるために調べたので内容をメモする。 ヘキサゴナルアーキテクチャとは 概要 キサゴナルアーキテクチャの提唱者であるAlistair Cockburn氏の記事(2005年のものと思われる)が和訳されていたので、このセクションでは主にこの和訳記事を要約している。 ヘキサゴナルアーキテクチャ(Hexagonal architecture翻訳) | blog.tai2.net ビジネスロジックがユーザーインターフェイスコードに侵入するのを防ぐためにPorts and Adaptersパターンを採用するアーキテクチャ。MVCやレイヤードアーキテクチャが持つ課題を…
この記事の説明 アーキテクト同士の会話で出現するキーワードとその意味を集めました。 例)結合(動的、静的)、アーキテクチャ量子、通信方式など アーキテクチャ用語集 コンポーネント サービス 結合 静的結合 動的結合 結合を取り巻くトレードオフ 結合のトレードオフは厄介な問題 トレードオフの分析手法 アーキテクチャ量子 アーキテクチャ量子が重要な理由 独立してデプロイ可能 高度な機能的凝縮 高度な静的結合 サービス指向アーキテクチャの量子数 イベント駆動アーキテクチャの量子数 マイクロサービスアーキテクチャの量子数 動的な量子結合 結果整合性とは? 通信方式 同期通信 非同期通信 調整方法 オー…
なぜ非同期アーキテクチャを採用するのか? 非同期アーキテクチャの使用例 非同期アーキテクチャの構成 非同期アーキテクチャの概要 非同期アーキテクチャ - ブローカータイプ - 非同期アーキテクチャのブローカータイプの実装方法 ブローカータイプの構造 ブローカータイプのメリット ブローカータイプの開発事例例 非同期アーキテクチャ メディエイターパターンとは イベントメディエイターの実装方法 AWSで非同期アーキテクチャを実装すると... 非同期アーキテクチャの総評 なぜ非同期アーキテクチャを採用するのか? 非同期アーキテクチャは非同期なメッセージを多用するという点が特徴で、規模に関わらず応答速度…
概要 プラグとはコンセントのこと。 その名の通り、家にあるコンセントに対して家電のプラグを差し込む(プラグイン)ことで、サービスが利用できタイプのアーキテクチャです。 仕組み:コアとプラグインの分離 このアーキテクチャの最大の特徴は、「本体(コア・システム)」と「差し込まれる機能(プラグイン)」が完全に分かれていることです。 コア(コンセント側): 電気を供給し、システム全体の制御を行う基盤です。それ自体は最小限の機能しか持ちませんが、外部から機能を受け入れるための「共通の接続口(インターフェース)」を持っています。 プラグイン(家電側): 特定の機能(掃除をする、パンを焼くなど)に特化した追…
アーキテクチャを学ぶ意味 アーキテクチャとは アーキテクチャスタイルを覚える意味 補足:なぜアーキテクチャを決めるのか? 基本的なアーキテクトスタイル一覧 アーキテクチャを選択する アーキテクチャの選択:モノシリックアーキテクチャと分散アーキテクチャ モノシリックアーキテクチャと分散アーキテクチャのメリットデメリット アーキテクチャ一覧 小規模かつ低予算:3層アーキテクチャ とにかくシステムの拡張性を高くしたい:マイクロカーネルアーキテクチャ 応答速度が早いシステム:イベント駆動アーキテクチャ シンプルなドメイン駆動開発:サービス指向アーキテクチャ 大規模なドメイン駆動開発:マイクロサービスア…
個人開発(趣味プロジェクト)でプロダクトを作りながら, 本職の仕事でソリューションアーキテクトっぽいことをしているマンです*1. 最近は個人開発のネタとして, プロ野球選手の成績予測プロジェクト ヘルスケア周りの自分専用プロダクト開発 この2本軸で週末エンジニアリングをしているのですが, これらの事をしているうちに, Webアプリケーション + 分析用のデータ基盤の最小セット, みたいなパターンが見えてきた クラウドにおけるサービスの選び方・スケール(=拡張)するときに気をつけるべき勘所 みたいなのがまとまってきました. せっかくなので, 言語化した上で再現性をもたせよう!という主旨でこのエン…
大規模災害が起こった時の災害対策パターン、基本的なことだけど名前も含めて忘れがちになるので備忘のためにまとめておきます。 前提でわかっておきたいRTO / RPO RTO(Recovery Time Objective / 目標復旧時間) RPO(Recovery Point Objective / 目標復旧時点) 【本題】災害復旧のためのパターン バックアップ&リストア RTOとRPOについて コールドスタンバイ / パイロットライト RTOとRPOについて ウォームスタンバイ RTOとRPOについて ホットスタンバイ / マルチサイト RTOとRPOについて パターンまとめ 前提でわかって…