Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
Kihara, Takuya
June 27, 2022
Technology
0
140
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
「ソフトウェアアーキテクチャの基礎」の紹介
Kihara, Takuya
June 27, 2022
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
ゆるWeb勉強会@札幌 OnLine #22 #ゆるWeb札幌
tacck
0
10
5分でまとめる AWS Amplify アップデート 2022年末版 #ゆるWeb札幌
tacck
0
84
「普通」のエンジニアとしての生存戦略 - または、いかにして技術を楽しむか。
tacck
0
3
AWS Step Functions を AWS Amplify から呼び出した #ゆるWeb札幌
tacck
0
56
ゆるWeb勉強会@札幌 OnLine #21 #ゆるWeb札幌
tacck
0
2
フロントエンド勢から見たAPAC Community Summit記 #jawsug #AWSCommunityAPAC
tacck
0
110
今から始める Amplify Studio - JAWS DAYS版 #jawsug #jawsdays #jawsdays2022
tacck
0
140
今から始める Amplify Studio #stapy
tacck
0
420
React 初心者がやってみた Gatsby #ゆるWeb札幌
tacck
0
68
Other Decks in Technology
See All in Technology
re:Invent re:Cap / AWS Lambda Updates
bulbulpaul
1
140
Media JAWS 2023/1
matsuihidetoshi
1
100
アムロは成長しているのか AIから分析する
miyakemito
1
340
それでもどうしてRecoilを使うのか / Harajuku.ts Meetup Recoil
okunokentaro
13
3.6k
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
940
LINE iOSエンジニアの日々 / LINE iOS Engineer Days
line_developers
PRO
1
130
OCIコンテナサービス関連の技術詳細 /oke-ocir-details
oracle4engineer
PRO
0
750
CUEとKubernetesカスタムオペレータを用いた新しいネットワークコントローラをつくってみた
hrk091
0
230
USB PD で迎える AC アダプター大統一時代
puhitaku
0
670
経営統合をきっかけに会社をエンジニアリングした話 / btconjp-2023
carta_engineering
0
100
OCI DevOps 概要 / OCI DevOps overview
oracle4engineer
PRO
0
470
Airdrop for Open Source Projects
epicsdao
0
280
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
643
54k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
Navigating Team Friction
lara
176
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
24
4.5k
Atom: Resistance is Futile
akmur
256
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
Bash Introduction
62gerente
601
210k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
101
6.2k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Documentation Writing (for coders)
carmenintech
51
2.9k
Web development in the modern age
philhawksworth
197
9.6k
Rebuilding a faster, lazier Slack
samanthasiow
69
7.5k
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札幌