Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
Search
Kihara, Takuya
PRO
June 27, 2022
Technology
0
370
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
「ソフトウェアアーキテクチャの基礎」の紹介
Kihara, Takuya
PRO
June 27, 2022
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
ゆるWeb勉強会@札幌 #28 #ゆるWeb札幌
tacck
PRO
0
45
AWS Amplify の AI Kit でオレオレAIサイトを作ってみる #ゆるWeb札幌
tacck
PRO
0
76
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
720
Amplify Gen2 Deep Dive / How to convey backend types to the frontend #30DaysOfAmplify
tacck
PRO
0
39
TypeScript 雰囲気勢がライブラリのコードリーディングで得た知識 #sacss
tacck
PRO
1
73
ライブコーディングで知るAmplify Gen 2 #AWSAmplifyJP
tacck
PRO
1
160
AWS Amplify Gen 2 GA記念 ~Gen1との違いを確認
tacck
PRO
0
550
Amplify Gen2 が GA したよ! #jawsug_sapporo #jawsug
tacck
PRO
0
420
Flutter で "Hello World!! #ゆるWeb札幌
tacck
PRO
0
160
Other Decks in Technology
See All in Technology
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
560
アジリティを高めるテストマネジメント #QiitaQualityForward
makky_tyuyan
1
440
事業を差別化する技術を生み出す技術
pyama86
2
540
Охота на косуль у древних
ashapiro
0
130
エンジニアのキャリアパスと、 その中で自分が大切にしていること
noteinc
3
470
完璧を捨てろ! “攻め”のQAがもたらすスピードと革新/20250306 Hiroki Hachisuka
shift_evolve
0
130
役員・マネージャー・著者・エンジニアそれぞれの立場から見たAWS認定資格
nrinetcom
PRO
5
6.8k
あなたが人生で成功するための5つの普遍的法則 #jawsug #jawsdays2025 / 20250301 HEROZ
yoshidashingo
2
400
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
140
Platform Engineeringで クラウドの「楽しくない」を解消しよう
jacopen
4
220
Apache Iceberg Case Study in LY Corporation
lycorptech_jp
PRO
0
390
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.6k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
344
40k
How STYLIGHT went responsive
nonsquared
99
5.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Adopting Sorbet at Scale
ufuk
75
9.2k
A Tale of Four Properties
chriscoyier
158
23k
Facilitating Awesome Meetings
lara
53
6.3k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Transcript
ソフトウェア アーキテクチャの基礎 を読む ゆるWeb勉強会@札幌 / OnLine #19 2022/06/27 木原卓也 /
@tacck 1 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
私 • 名前 • 木原 卓也 / @tacck • 所属
• 生活協同組合コープさっぽろ デジタル推進本部 システム部 • 主催コミュニティ • ゆるWeb勉強会@札幌 • スマートスピーカーで遊ぼう会@札幌 (休眠中) • 参加コミュニティ • Amplify Japan User Group 運営 • AWS Community Builders Program (Q2 2021, 2022) • 好きなフィギュアスケートの技 • スプレッド・イーグル 2 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
お品書き • この話のターゲット • どんな本 • お勧めポイント • まとめ 3
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
この話のターゲット • ソフトウェアアーキテクチャが気になる人 • ソフトウェアアーキテクチャをおさらいしたい人 • ソフトウェアアーキテクトという役割が気になる人 4 ゆるWeb勉強会@札幌 OnLine
#19 / #ゆるWeb札幌
どんな本 5 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
ソフトウェアアーキテクチャの基礎 • 原著: • Fundamentals of Software Architecture • Mark
Richards, Neal Ford • 翻訳: • 島田 浩二 (株式会社えにしテック) 6 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
レビュワーとして参加しました 7 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌 ソフトウェアアーキテクチャの基礎 p392「訳者あとがき」より
お勧めポイント 8 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクトとしての知識を網羅 • ソフトウェアアーキテクチャの定義 • アーキテクチャの種類・知識 (アーキテクチャスタイル) • アーキテクチャ決定のための考え方 • アーキテクトとしてのソフトスキル
9 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
ソフトウェアアーキテクチャの定義 • システムの構造 • そのシステムを実装するアーキテクチャスタイル • アーキテクチャ特性 (イリティ -ility )
• 可用性 (availability)、信頼性 (Reliability) など • アーキテクチャ決定 • ルールや制約 (永続化層にアクセスできるのは〜〜層だけ、など) • 設計指針 • ガイドライン (最初に検討する選択肢) 10 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャスタイル • レイヤードアーキテクチャ • パイプラインアーキテクチャ • マイクロカーネルアーキテクチャ • サービスベースアーキテクチャ •
イベント駆動アーキテクチャ • スペースベースアーキテクチャ • オーケストレーション駆動サービス指向アーキテクチャ • マイクロサービスアーキテクチャ 11 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャスタイルの内容 • トポロジー • スタイル特有の用語や概念 • 事例 • アーキテクチャ特性の評価 12
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
例:レイヤードアーキテクチャの特性評価 アーキテクチャ特性 星評価 分割タイプ 技術 量子数 1 デプロイ容易性 ★ 弾力性
★ 進化性 ★ 耐障害性 ★ モジュール性 ★ 全体的なコスト ★★★★★ パフォーマンス ★★ 信頼性 ★★★ スケーラビリティ ★ シンプルさ ★★★★★ テスト容易性 ★★ 13 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャ決定のための考え方 • アーキテクチャスタイルの選択 • スタイルのトレンド、技術の変遷、組織的要因、など • アーキテクチャ上のリスク分析 • -ility を軸にリスクマトリクスを作成し分析
• リスクストーミング (複数人で実施して議論・合意形成) 「なぜそうした」がわかるようにする。 14 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクトとしてのソフトスキル • 図解・プレゼンテーション • チームビルディング • 交渉とリーダーシップ アーキテクトはシステム全体に関わる役割。 開発者含めて関係者に「伝わる」ように。 15
ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
アーキテクチャの4つのC • コミュニケーション • Communication • 協調性 • Collaboration •
明瞭さ • Clarity • 簡潔さ • Conciseness 16 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
まとめ 17 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
まず 付録A を読む 自己評価のためのチェックリスト • 各章の内容を端的にまとめたチェックリスト • 自分の興味ある内容を見つけたり、 自分の知らないキーワードを見つけることができる。 •
気になったところから読むでも良いし、 「どのくらい知らないか」を知った状態で最初から読んでも良い。 18 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
オレはようやく のぼりはじめたばかりだからな このはてしなく遠い アーキテクト坂をよ... 19 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌
終 20 ゆるWeb勉強会@札幌 OnLine #19 / #ゆるWeb札幌