Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
アーキテクチャって どうやって決めれば良いの?? hiroaki
Slide 2
Slide 2 text
Who am I ? 上田 裕耀(28) Backend, Infra, DevOps 2018/04〜 食品メーカーの研究所 2021/03〜 Webエンジニア 経歴 神奈川→埼玉→群馬→神奈川 趣味 サウナ & 筋トレ
Slide 3
Slide 3 text
そもそもアーキテクチャとは??
Slide 4
Slide 4 text
(と思っています) アプリケーションの課題を 解決するための構造
Slide 5
Slide 5 text
アプリケーションの課題は色々ある コスト スケーラビリティ 保守改修性 パフォーマンス セキュリティ 可用性
Slide 6
Slide 6 text
何かを優先すると他のレベルが下がってしまう。 トレードオフの構造
Slide 7
Slide 7 text
アプリケーションの構造も色々 モノリス 分散システム 同期 非同期 内部のレイヤー構造 or or
Slide 8
Slide 8 text
結局、アーキテクチャって どうやって決めれば良いの??
Slide 9
Slide 9 text
ビジネスの要求に柔軟に対応できるような アーキテクチャを目指す 使う技術に依存しない構造 仕様の変更しやすい構造 アプリケーション課題に合わせた構造
Slide 10
Slide 10 text
引用:『ソフトウェアアーキテクチャの基礎』P.250 図17-1』 アプリケーション課題に合わせた構造 例:マイクロサービス
Slide 11
Slide 11 text
引用:『ソフトウェアアーキテクチャの基礎』P.263 図17-9』 ⭕ 拡張性、保守改修性 etc. ❌ DBの一貫性、コスト etc. アプリケーション課題に合わせた構造
Slide 12
Slide 12 text
使う技術に依存しない構造 アプリケーション
Slide 13
Slide 13 text
使う技術に依存しない構造 例:オニオンアーキテクチャ
Slide 14
Slide 14 text
SOLID原則やデザインパターンあたりが効果的 仕様の変更しやすい構造 S O L I D 単一責任の原則 オープン・クローズドの原則 リスコフの置換原則 インターフェース分離の原則 依存性逆転の原則
Slide 15
Slide 15 text
常にアプリケーションの課題を考え続けて、 betterな選択をしていく。 各サービス内では、独立性を高めた 保守改修性の高い設計を目指す。
Slide 16
Slide 16 text
Reference
Slide 17
Slide 17 text
ご清聴ありがとうございました!