Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
Search
Kihara, Takuya
PRO
June 27, 2022
Technology
0
420
「ソフトウェアアーキテクチャの基礎」を読む #ゆるWeb札幌
「ソフトウェアアーキテクチャの基礎」の紹介
Kihara, Takuya
PRO
June 27, 2022
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
170
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
460
Amazon Q Developer CLI でゲームと Amplify アプリを作ってみた #ゆるWeb札幌
tacck
PRO
0
40
ゆるWeb勉強会@札幌 #30 #ゆるWeb札幌
tacck
PRO
0
16
Flutter を始めよう! - Flutter の開発現場から
tacck
PRO
0
160
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
330
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
150
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
520
はじめまして GoLang #cm_sapporo_study
tacck
PRO
0
150
Other Decks in Technology
See All in Technology
チーリンについて
hirotomotaguchi
6
2k
AIの長期記憶と短期記憶の違いについてAgentCoreを例に深掘ってみた
yakumo
4
380
ログ管理の新たな可能性?CloudWatchの新機能をご紹介
ikumi_ono
1
790
MLflowダイエット大作戦
lycorptech_jp
PRO
1
140
SSO方式とJumpアカウント方式の比較と設計方針
yuobayashi
7
690
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
130
AWSを使う上で最低限知っておきたいセキュリティ研修を社内で実施した話 ~みんなでやるセキュリティ~
maimyyym
2
1.7k
生成AI時代におけるグローバル戦略思考
taka_aki
0
200
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
190
mairuでつくるクレデンシャルレス開発環境 / Credential-less development environment using Mailru
mirakui
5
530
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
230
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
6
1.6k
Featured
See All Featured
Facilitating Awesome Meetings
lara
57
6.7k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Fireside Chat
paigeccino
41
3.7k
For a Future-Friendly Web
brad_frost
180
10k
Designing for Performance
lara
610
69k
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.2k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
It's Worth the Effort
3n
187
29k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Practical Orchestrator
shlominoach
190
11k
Being A Developer After 40
akosma
91
590k
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札幌