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
400
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
「ソフトウェアアーキテクチャの基礎」の紹介
Kihara, Takuya
PRO
June 27, 2022
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
63
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
95
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
110
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
420
はじめまして GoLang #cm_sapporo_study
tacck
PRO
0
120
ゆるWeb勉強会@札幌 #28 #ゆるWeb札幌
tacck
PRO
0
75
AWS Amplify の AI Kit でオレオレAIサイトを作ってみる #ゆるWeb札幌
tacck
PRO
0
110
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
1
850
Amplify Gen2 Deep Dive / How to convey backend types to the frontend #30DaysOfAmplify
tacck
PRO
0
64
Other Decks in Technology
See All in Technology
モニタリング統一への道のり - 分散モニタリングツール統合のためのオブザーバビリティプロジェクト
niftycorp
PRO
1
370
DatabricksにOLTPデータベース『Lakebase』がやってきた!
inoutk
0
150
ABEMAの本番環境負荷試験への挑戦
mk2taiga
5
850
Claude Code に プロジェクト管理やらせたみた
unson
8
5k
VGGT: Visual Geometry Grounded Transformer
peisuke
1
630
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
150
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
Delegating the chores of authenticating users to Keycloak
ahus1
0
180
「Chatwork」のEKS環境を支えるhelmfileを使用したマニフェスト管理術
hanayo04
1
250
クラウド開発の舞台裏とSRE文化の醸成 / SRE NEXT 2025 Lunch Session
kazeburo
1
460
インフラ寄りSREの生存戦略
sansantech
PRO
9
3.4k
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
340
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
A designer walks into a library…
pauljervisheath
207
24k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
A Modern Web Designer's Workflow
chriscoyier
695
190k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
The Invisible Side of Design
smashingmag
301
51k
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札幌