アーキテクチャ

Tidy First? ―個人で実践する経験主義的ソフトウェア設計

アーキテクチャ

Tidy First? ―個人で実践する経験主義的ソフトウェア設計を読んだ。 130ページしかないのですぐに読める。 コスト・収益・結合・凝集の観点で、"整頓"をするか?を考えさせてくれる本。 主張が端的でわかりやすいと感じた。 個人的にはコスト・収益の見積もりが難しく、技術者としての手腕が問われるなぁと思った。 特に、貨幣経済のアプローチで考えを示しているいくつかの章が面白か...

ソフトウェア ソフトウェア開発 設計

ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用

アーキテクチャ

ソフトウェアアーキテクトのための意思決定術 リーダーシップ/技術/プロダクトマネジメントの活用を読んだ。 この本は訳文レビューに参加していた本で、献本を頂いてから再度読み直した。 アーキテクトの意思決定という部分にフォーカスを当てているところが画期的であり、アーキテクチャの設計に向かう人にとって学びがある内容になっている。 本書では、アーキテクチャの不確実性に立ち向かうためのツールとなる5つの質問...

アーキテクチャ アーキテクト システム設計 設計

freee 技術の本 freeeにおけるマルチプロダクト開発

アーキテクチャ

freee 技術の本 freeeにおけるマルチプロダクト開発を読んだ。 業務系SaaSだと、共通業務(申請・承認)というドメイン領域で切り出せるのか、なるほど。申請・承認といってもコンテキストが違うとワークフローが違ったり、扱うデータも当然違うと思うので、難しそう。権限や通知と比べると抽象化が難しそうな機能分割っぽさがある。基盤としては申請に関する内容は扱わないようにしているらしい。扱わないよう...

設計 システム設計

マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法

アーキテクチャ

マスタリングAPIアーキテクチャ ―モノリシックからマイクロサービスへとアーキテクチャを進化させるための実践的手法を読んだ。 冒頭の章でC4ダイアグラムやADRの解説が入っているのが良かった。この本で語られるアーキテクチャの話はそれらの手法を使って説明されている。 APIアーキテクチャのパターンやテスト、運用、セキュリティなどについて書かれている。 WebにおいてAPIに触れないということは皆無だ...

API マイクロサービス アーキテクチャ

信頼性のパターンについて

アーキテクチャ

概要 信頼性のパターンについてAzure、AWS、GCPの提唱するパターンに基づいてまとめる。 信頼性とは ユーザー(システムやアプリケーション)が期待する機能を提供し続けることができる性質のことである。 信頼性を支える特性 信頼性は次のような特性によって支えられる。 可用性:システムが利用可能であること 耐久性:データが失われないこと 耐障害性:障害が発生してもシステムが機能し続けること 回復...

信頼性 アーキテクチャ 設計 システム設計

権限管理基盤についての事例

アーキテクチャ

権限管理基盤については開発事例を調べてみた。 developers.freee.co.jp - freee 権限管理基盤を開発するチームの今を語ろう! 基盤開発チームの体制について developers.freee.co.jp - freee 権限管理基盤を開発するチームのこれまでを語ろう! 基盤を設計していくうえでの課題を整理するアプローチについて共感するところが多い(自分の経験にも近しい...

権限管理 設計

セキュア・バイ・デザイン: 安全なソフトウェア設計

アーキテクチャ

セキュア・バイ・デザイン: 安全なソフトウェア設計を読んだ。 ソフトウェア設計からセキュリティを向上させていくアプローチについて書かれた本。 特徴的なのは、設計のアプローチとしてDDDを中心に据えている点。 セキュリティはドメインのモデリングを誤ると生じるリスクの一つでもあると思うが、その重要性が語られている。 具体的な脆弱性に対する対応方法については多くは語られていない。 セキュリティを実装す...

セキュリティ 設計 DDD

負荷試験を始めるためのスターティングガイド

アーキテクチャ

概要 負荷試験を理解し、負荷試験を始めることができるようになるためのガイドとなるような内容をまとめます。 負荷試験とは システムの性能を検証するためのテスト手法である。 「システムが想定しているキャパシティ(性能の許容値)を確保できているか」、「過剰な負荷によりどのようなシステム影響が発生するか」、「性能に関わるボトルネックがどこにあるか」などを明らかにするためのテスト手法となる。 ※ この記事で...

負荷試験

C4モデルとは

アーキテクチャ

概要 アーキテクチャ図を書くときにいつも粒度に迷っていたが、C4モデルという技法があることを知ったので、調べてみた。 C4モデルとは ソフトウェアアーキテクチャのモデル化技法の一つ。 C4はContext、Containers、Components、Codeの略で、システムをこれらの要素に分解することでソフトウェアアーキテクチャを記述する。 C4モデルは抽象度の高い順に以下の4つのビューを提供する...

C4モデル アーキテクチャ

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティス

アーキテクチャ

大規模データ管理 ―エンタープライズアーキテクチャのベストプラクティスを読んだ。 データ管理そのものというよりもアーキテクチャの話に興味があって手にとってみた。 データ管理を中央集権的に行うとデータ管理のトレンドの変化について行くことが難しくなるので、そのためにスケーラブルなアーキテクチャにしていきましょうという話。 データウェアハウスはサイロ化しがちなので避けたほうが良いというのは学びがあった。...

アーキテクチャ