アーキテクチャ
110 件の記事
キャパシティプランニングについて
キャパシティプランニングを解説。パフォーマンス要件定義、インフラ稼働状況計測、将来予測、安全率設定でリソース効率化とSLA達成を実現する実務手法を紹介します。
SaaSのアーキテクチャについて知るためのリスト
「SaaSなんもわからん!」から「SaaS完全に理解した!」に近づくために、参考になりそうな資料をまとめた記事です。AWSの『SaaSアーキテクチャの基礎』をはじめ、SaaSのアーキテクチャや設計を学ぶうえで役立つドキュメントやリンクを整理して紹介します。
アーキテクチャ設計と組織設計についての記事漁り
ソフトウェアアーキテクチャと組織設計の関係について、読んだ記事やリソースをまとめた記事。コンウェイの法則が及ぼす影響などをテーマに、アーキテクチャと組織のあり方を考えるうえで参考になる情報を随時リストアップしていく。
アーキテクチャ設計の進め方
構成図レベルでアーキテクチャを設計するときの、個人的に良いと思う進め方を1つ取り上げてまとめた記事。要件定義や調査がある程度済んだ前提で、構成図を書きながら段階的に設計を進めるアプローチを紹介し、思考の整理やチームの合意形成、過剰設計の防止につなげる。
モジュラモノリスアーキテクチャ:マイクロサービスとの比較と選び方
モジュラモノリスというアーキテクチャについて調べたことをまとめた記事です。モジュール分割を施したモノリスとは何かという定義から、マイクロサービスや従来のモノリスとの違い、どのような場面で選択すべきかまでを、実践的な観点で整理します。
CQRSとは?コマンドクエリ責務分離を使うべき場面
CQRS(コマンドクエリ責務分離)について調べたことをまとめた記事。データの更新を担うCommandと参照を担うQueryを分離するパターンの考え方や、CRUDとの違い、スケーラビリティ改善につながる場面と適用すべきでない場面を整理する。
Sagaパターンとは?マイクロサービスでの分散トランザクション管理
Saga パターンとは何か、マイクロサービスにおける分散トランザクション管理の方法(コレオグラフィ型・オーケストレーション型)を解説します。
BFF(Backend For Frontend)とは?メリットと実装ガイド
BFF(Backend For Frontend)とは何か、なぜ必要か、フロントエンドとバックエンドの間に BFF レイヤーを置くことで API 契約を簡素化する実装方法を解説します。
通知基盤構築についてのメモ書き
通知基盤(Notification Infrastructure)の設計についてまとめた記事です。メールやプッシュなど複数チャネルへの配信に対応するための構成要素として、メッセージング、テンプレート管理、ユーザーのオプトイン制御、外部サービスとの連携、そしてスケーラビリティといった設計要素を整理します。
モノレポとは?メリット・デメリットと適切な使い方
モノレポについてまとめた記事です。複数プロジェクトのコードを単一のリポジトリで管理するモノレポとは何かを、ポリレポ(マルチレポ)との比較を通して説明し、そのメリット・デメリットや適切な使いどころ、導入時に考慮すべきポイントを整理します。
Road to ISUcon
ISUCONへの初出場に向けて準備したことを記した記事です。予選の時間を目一杯使ってチューニングに取り組む、という現実的な目標を立てるところから、初参戦に向けてどのような準備や心構えをしていったのかを、目標・目的の設定とあわせて紹介します。
データ指向アプリケーションデザイン
『データ指向アプリケーションデザイン』の書評。分散システムの設計を扱う名著として知られる一冊。データの保存・検索や分散、整合性といった、信頼性が高くスケールするアプリケーションを支える基盤技術を体系的に扱う。読み応えがあり、繰り返し読み直したくなる。
ソフトウェアアーキテクチャの基礎
『ソフトウェアアーキテクチャの基礎』の書評。ソフトウェアアーキテクチャの評価観点やアーキテクチャパターンについて解説する一冊。アーキテクチャ特性の考え方や代表的なパターンを押さえ、設計判断の土台をつくるのに役立つ。
ソフトウェアアーキテクチャ Hardparts
『ソフトウェアアーキテクチャ Hardparts』の書評。分散システムにおける「難しい判断」を主題に、アーキテクチャをどう再構築していくかの考え方やアプローチを整理する一冊。『ソフトウェアアーキテクチャの基礎』や『進化的アーキテクチャ』を先に読んでおくと、より読み進めやすい。
システム設計の面接試験
『システム設計の面接試験』の書評。英語圏で定番の『System Design Interview』の和訳本。スケーラブルなシステムをどう設計するかを、面接の題材を通じて具体的に学べる。日本語で読めるこの種の本は少なく、手元に置いておきたい一冊。
システム設計関連の資料を読み漁った
システム設計に関連する資料をいくつか読み漁ったので、リンク集的にまとめた記事です。なぜ調べてみたのかというモチベーションとあわせて、システム設計を学ぶうえで参考になった記事や書籍などのリソースを整理して紹介します。
SOAとマイクロサービスとの違いについて整理するために読んだ記事メモ
整理するSOAとマイクロサービスの違い。サービス指向アーキテクチャ、ESB、API Gateway、資源共有とコンポーネント分割の特性比較。
ADR(アーキテクチャ決定記録)とは?技術的意思決定の記録方法
ADR(アーキテクチャ決定記録)とは何かを解説した記事。2011年にMichael Nygardが紹介した、アーキテクチャの決定事項を記録するドキュメントの意義と、エンジニアリングチームで活用するための書き方を整理する。
Design Docsについて
Design Docsを解説。設計課題の early detection、ステークホルダ合意形成、知見共有、ライフサイクル管理でアジャイル開発に適した設計ドキュメント方法を紹介します。
bmf-techを支える技術
Docker、Golang、Vue.js、Nginx、Prometheus、Grafanaなど、このブログのインフラと監視を支える技術を紹介します。