記事

スケーラビリティを計測する

システムアーキテクチャ

概要 スケーラビリティの計測方法について調べたのでまとめる。 スケーラビリティの基本理解 スケーラビリティとは、ワークロードの増加に対してシステムがどのように対応できるかに関係する品質特性である。 スケーラビリティは、単なるリソース追加ではなく、**効率性(Efficiency)**に直接的な影響を与える。 重要なのは、CPU・メモリ・ストレージ・ネットワークなどのリソースを増減させたとき、シス...

スケーラビリティ

クラウドネイティブ・アーキテクチャ 可用性と費用対効果を極める次世代設計の原則

インフラストラクチャ

クラウドネイティブ・アーキテクチャ 可用性と費用対効果を極める次世代設計の原則を読んだ。 クラウドネイティブの基本的な考え方について知ることができる。 本書では、クラウドネイティブ成熟度モデル(Cloud Native Maturity Model: CNMM)を軸にクラウドネイティブアーキテクチャの解説を行っている。 クラウドネイティブ成熟度モデルとは、「クラウドネイティブ・サービス」、「アプリ...

Amazon Web Service Google Cloud Platform クラウドネイティブ

資産推移シミュレーターを作った

アプリケーション

概要 個人の資産形成を考えるためのツールとして、資産推移シミュレーターを開発したので、それについて紹介したい。 asset-trend-simulator 背景 私はMoney Forwardを使って資産管理をしているが、将来の資産推移のシュミレーションにはSpreadsheetを使ったものを利用していた。 Spreadsheetでもそれなりの精度(実際の資産推移のズレが数十万程度に済むような正確...

JavaScript

アーキテクチャドキュメントを書くときに気をつけること

システムアーキテクチャ

概要 システム設計においてアーキテクチャドキュメントは重要な役割を果たす。特に設計段階においては、関係者に対して設計の妥当性を説明し、合意を形成するための資料として機能する。このドキュメントは、単なる設計情報の羅列ではなく、読者の理解と納得を導くための戦略的な文書であるべきである。 目的を明確にする ドキュメントを作成するにあたって最初に意識すべきは、その目的である。この文書が誰に向けたものであり...

アーキテクチャ戦略 アーキテクチャ

PostgreSQL 論理レプリケーションの仕様まとめ

データベース

概要 PostgreSQLにおける論理レプリケーションは、データベース内の特定のテーブルに対するDML操作(INSERT、UPDATE、DELETEなど)を、他のPostgreSQLインスタンスに複製する仕組みである。物理レプリケーションとは異なり、論理レプリケーションはテーブル単位で柔軟に対象を選定できるため、データ統合、分散処理、マイグレーションといった用途に適している。 参考: Postg...

PostgreSQL

PostgreSQLのRow Level Security(RLS)について

データベース

概要 PostgreSQLでは、GRANTベースのアクセス制御(テーブルや列レベル)に加え、ユーザー単位で特定の行の可視性や更新可否を制御する仕組み(行レベルのアクセス制御)としてRow Level Security(RLS)が提供されている。 RLSの基本概念 Row Level Securityは、テーブルに対して「ポリシー」を定義することで機能する。 ポリシーは、どのユーザーがどの行にアクセ...

PostgreSQL 権限管理

自分的システムの仕様書の構成

システムアーキテクチャ

概要 システムの仕様をドキュメントに書き出したい時にどういった構成であるべきか考えることが偶にある。 自分的システム仕様書の構成を記す。 新しいプロジェクトの設計フェーズはもちろん、既存システムの仕様理解のためにもなる構成になっているはず。 構成 01_overview.md # 全体概要 02_system_architecture.md # システム構成 03_dat...

システム設計 設計 Tips

境界付けられたコンテキストとは

システムアーキテクチャ

概要 コンテキストマップで整理されたコンテキストについて、なぜそのような切り分け方をしたのか、切り分ける意味が何かといったことを開発者以外にも伝えたい、という課題があった。 そこで本稿では、「境界づけられたコンテキスト」について、開発者以外にも伝わるような説明を試みる。 コンテキストの違いを意識する 同じ言葉であっても、コンテキストが異なれば言葉の意味が変わることがある。 例えば「注文」という言葉...

DDD

Open Policy Agentについて

アプリケーション

Open Policy Agentについて詳しく知りたかったので、公式ドキュメントを参照して調べてみた。 Open Policy Agentとは Open Policy Agent(OPA、「オーパ」と発音。)とは、ポリシー適用のためのOSSの汎用ポリシーエンジン。 宣言型言語(Rego、「レイゴ」と発音。)を用いてポリシーをコードとして記述することができる。 Styraによって開発されており、現...

Open Policy Agent 権限管理

開発者とアーキテクトのためのコミュニケーションガイド ―パターンで学ぶ情報伝達術

システムアーキテクチャ

開発者とアーキテクトのためのコミュニケーションガイド ―パターンで学ぶ情報伝達術を読んだ。 視覚情報やテキスト、言語・非言語、ドキュメンテーションなどコミュニケーションに関することを話題とした本。 タイトルは、ソフトウェアエンジニアのためのドキュメンテーションガイドと読み替えても良さそうな内容であると個人的には感じた。 読みやすい内容であるため数時間程度で読める。 自分としてはあまり目新しい情報は...

アーキテクト